<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Sat, 25 May 2013 00:12:42 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Francesca Krihely: On the Developer Experience]]></title>
      <guid>http://www.phpdeveloper.org/news/19541</guid>
      <link>http://www.phpdeveloper.org/news/19541</link>
      <description><![CDATA[<p>
In a new post to her site <i>Francesca Krihely</i> starts looking at <a href="http://francescak.me/blog/2013/05/02/on-the-developer-experience/">the developer experience</a> - how developers relate to your service and product and what kinds of things you need to be doing to help engage them.
</p>
<blockquote>
I had a great brainstorm a few weeks back with the members of the Developer Evangelists meetup on the topic of the User Journey, or as I'll call it now, the Developer Experience. The main problem we wanted to solve was how we convert new users into experts or awesoms users. In many ways, a Community Manager and/or Developer Evangelist is responsible for driving user adoption and making users successful, so this is a topic near and dear to all of our hearts. I walked away with three key things that help improve the developer experience: Great Product, Great Support and Empowerment.
</blockquote>
<p>
This post talks about the first point - the "great product" - and notes that, if the product isn't useful and enjoyable to use, even developers won't bother with it. She also talks some about the need for quality documentation and how it can be seen as a sort of "marketing" to developers.
</p>
<blockquote>
Work on making your product fit for an awesome developer experience. If you build it, they will come.
</blockquote>
Link: http://francescak.me/blog/2013/05/02/on-the-developer-experience]]></description>
      <pubDate>Fri, 03 May 2013 09:22:07 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[NetTuts.com: HTTP: The Protocol Every Web Developer Must Know - Part 2]]></title>
      <guid>http://www.phpdeveloper.org/news/19521</guid>
      <link>http://www.phpdeveloper.org/news/19521</link>
      <description><![CDATA[<p>
NetTus.com has followed up their <a href="http://phpdeveloper.org/news/19433">previous article</a> covering some of the basics of the HTTP protocol with <a href="http://net.tutsplus.com/tutorials/tools-and-tips/http-the-protocol-every-web-developer-must-know-part-2">this new post</a>, part 2 of the series. They suggest that HTTP, the messaging format of the web, is the one protocol that every web developer should know.
</p>
<blockquote>
In my <a href="http://net.tutsplus.com/tutorials/tools-and-tips/http-the-protocol-every-web-developer-must-know-part-1/">previous article</a>, we covered some of HTTP's basics, such as the URL scheme, status codes and request/response headers. With that as our foundation, we will look at the finer aspects of HTTP, like connection handling, authentication and HTTP caching. These topics are fairly extensive, but we'll cover the most important bits.
</blockquote>
<p>
In this article, they talk about things like the HTTPS secure version of HTTP, server-side connection handling, identification/authorization and working with caching and cache control headers.
</p>
Link: http://net.tutsplus.com/tutorials/tools-and-tips/http-the-protocol-every-web-developer-must-know-part-2]]></description>
      <pubDate>Mon, 29 Apr 2013 15:07:21 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Engine Yard Blog: Learning Rails (and Ruby)]]></title>
      <guid>http://www.phpdeveloper.org/news/19446</guid>
      <link>http://www.phpdeveloper.org/news/19446</link>
      <description><![CDATA[<p>
<i>Davey Shafik</i>, a long-time PHP developer and community member/speaker, recently had to learn Ruby on Rails for a project at work. He's <a href="https://blog.engineyard.com/2013/learning-rails-and-ruby">shared some of the experience</a> (from the perspective of a PHP developer) in a recent post on the Engine Yard blog.
</p>
<blockquote>
I know PHP. I mean, I really know PHP. Not just the syntax, or the idioms and idiosyncrasies, but why. I can tell you why something works the way it does, under the hood; and I was probably around when the decision was made to do it that way. Thirteen years with any language is a long time. [...] Ultimately, it comes down to: Is it the right tool for the task? Because of this, ultimately when I come to write a web site, PHP is my tool of choice. Know thy tool well, and it shall treat you well. Then along came Engine Yard, and I was exposed to just a ton of fantastic engineers who happen to choose Ruby as their tool of choice.
</blockquote>
<p>
His project was the site for the <a href="http://distill.engineyard.com/">Distill</a> conference Engine Yard is putting on in August. He lists a few "WTF" moments he came across when learning and creating the site with Ruby including issues with parentheses on metod calls, method naming rules, implicit returns and variations on control structures. He also talks about some of the other technologies used to power the site like OAuth and S3 for image uploads (via <a href="https://github.com/thoughtbot/paperclip">paperclip</a>). He finishes out the post by wrapping up the experience and talking some about the benefits of getting outside your comfort zone and learning something wildly new (language or other technology) to give you perspective.
</p>
Link: https://blog.engineyard.com/2013/learning-rails-and-ruby]]></description>
      <pubDate>Thu, 11 Apr 2013 10:33:31 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Anthony Ferrara: Becoming A Better Developer - Programming With Anthony]]></title>
      <guid>http://www.phpdeveloper.org/news/19378</guid>
      <link>http://www.phpdeveloper.org/news/19378</link>
      <description><![CDATA[<p>
<i>Anthony Ferrara</i> has posted his latest episode of his "Programming with Anthony" video series, this time he talks about <a href="http://blog.ircmaxell.com/2013/03/becoming-better-developer-programming.html"> becoming a better developer</a> (hint: it's not about knowing everything).
</p>
<blockquote>
In today's episode, I talk a little bit about what it takes to become a better developer. Nobody will ever expect you to know everything, but you better know how to find it...
</blockquote>
<p>
You can watch the video either <a href="http://blog.ircmaxell.com/2013/03/becoming-better-developer-programming.html">in his post</a> or over <a href="http://youtu.be/Jw4DbYbfOMQ">on YouTube</a>. He also has this and his other videos set up <a href="https://www.youtube.com/playlist?list=PLM-218uGSX3DQ3KsB5NJnuOqPqc5CW2kW&feature=view_all">in a playlist</a> if you'd like to see coverage of other topics like design patterns, iterators, dependency injection and prepared statements.
</p>]]></description>
      <pubDate>Thu, 28 Mar 2013 12:37:32 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Eran Galperin: The Real Cost Of Software Development]]></title>
      <guid>http://www.phpdeveloper.org/news/19121</guid>
      <link>http://www.phpdeveloper.org/news/19121</link>
      <description><![CDATA[<p>
<i>Eran Galperin</i> has a new post to his site today talking about the <a href="http://www.techfounder.net/2013/02/01/the-real-cost-of-software-development/">real cost of software development</a>, how it's more than just time spent hands-to-keyboard.
</p>
<blockquote>
If you are a first-time entrepreneur and likely someone with little experience with software development, the chances of you successfully directing the development of a product on your own, are slim. [...] In software development, too often vision holders hand off a "vision document", i.e. "The Specifications", to a developer and expect him to translate it to the finished product they have in their mind. Most software developers or graphic designers are simply not fit for that role - they do not have the experience, skills or vested interest in transforming your vision to an actual product. 
</blockquote>
<p>
His examples revolve around the idea of outsourcing the development to another group, but a lot of the concepts still apply to in-house development too. He talks some about the idea of "you get what you pay for" when it comes to quality and how much you're willing to pay. He then gets into one of the hardest questions when dealing with development - how to find good developers. He mentions several things that need to be a part of that relationship like trust and good communication.
</p>]]></description>
      <pubDate>Fri, 01 Feb 2013 10:40:39 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Reddit.com: Looking to move from senior to lead developer. What should I know?]]></title>
      <guid>http://www.phpdeveloper.org/news/19112</guid>
      <link>http://www.phpdeveloper.org/news/19112</link>
      <description><![CDATA[<p>
On Reddit.com recently, it was asked what kinds of things someone would need to know if trying to move from being a <a href="http://www.reddit.com/r/PHP/comments/17f8cn/looking_to_move_from_senior_to_lead_developer/">senior developer to a lead developer</a> in their role. There's lots of answers - some serious, some not - but it's an interesting read.
</p>
<blockquote>
I'm fairly confident that I am able to move into a lead developer role quite easily. I have worked in many places where the CTO was so incompetent that I've ended up doing a CTO's job as well as coding. Now I want to find a job where I can be a good lead developer. I might have some holes in my self-taught PHP knowledge, so what do you think I should know?
</blockquote>
<p>Some of the recommendations include:</p>
<ul>
<li>"The lead engineer is not the smartest guy in the room. Sometimes you will know the right answer, but just telling people what to do won't always get the right results. Ask them how to solve problems and let them own it."
<li>"It may be different where you are but I expect lead developers to be more of a 'lead' as in 'leader' than 'lead' as in 'best developer'. That is, you'll probably be expected to actually manage, delegate, and architect on top of your development abilities."
<li>"The lead dev will guarantee the whole architecture of the application and the processes of development."
<li>"If you, as a lead dev, are project managing then your employer is doing it VERY wrong."
</ul>
<p>
Check out <a href="http://www.reddit.com/r/PHP/comments/17f8cn/looking_to_move_from_senior_to_lead_developer/">the full post</a> for more discussion and to add your own thoughts.
</p>]]></description>
      <pubDate>Wed, 30 Jan 2013 12:31:15 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Francois Zaninotto: Node.js for PHP Developers Series]]></title>
      <guid>http://www.phpdeveloper.org/news/19077</guid>
      <link>http://www.phpdeveloper.org/news/19077</link>
      <description><![CDATA[<p>
If you're a PHP developer and have ever wanted to branch out into learning another language, Node.js is a popular choice right now. To help you ease into some of the concepts that Node development involves, <i>Francois Zaninotto</i> has come up with his "Node.js for PHP Developers" series of posts (4 of them now, one previously mentioned <a href="http://phpdeveloper.org/news/17450">here</a>):
</p>
<ul>
<li><a href="http://dotheweb.posterous.com/nodejs-for-php-programmers-1-event-driven-pro">Part One</a> - Event Driven Programming
<li><a href="http://dotheweb.posterous.com/nodejs-for-php-programmers-2-modules-packages">Part Two</a> - Modules, Packages and the Strawberry House
<li><a href="http://dotheweb.posterous.com/nodejs-for-php-programmers-3-exceptions-and-e">Part Three</a> - Exceptions and Errors
<li><a href="http://dotheweb.posterous.com/nodejs-for-php-programmers-4-streams">Part Four</a> - Streams
</ul>
<p>
in each article he provides code examples showing "the Node way" versus "the PHP way" to do various things. It's a great little series and can definitely kickstart your Node.js knowledge.
</p>]]></description>
      <pubDate>Wed, 23 Jan 2013 09:21:48 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[NetTuts.com: 20 All Too Common Coding Pitfalls For Beginners]]></title>
      <guid>http://www.phpdeveloper.org/news/18733</guid>
      <link>http://www.phpdeveloper.org/news/18733</link>
      <description><![CDATA[<p>
On NetTuts.com there's a great list of tips and things to keep in mind if you're a budding programmer - a set of <a href="http://net.tutsplus.com/tutorials/tools-and-tips/20-all-too-common-coding-pitfalls-for-beginners/">common pitfalls to watch out for</a> as you hone your skills.
</p>
<blockquote>
Regardless of our current skill level, we all were beginners at one point in time. Making classic beginner mistakes comes with the territory. Today, we've asked a variety of Nettuts+ staff authors to chime in with their list of pitfalls and solutions - in a variety of languages. Learn from our mistakes; don't do these things!
</blockquote>
<p>
The article starts off with some Javascript tips, but quickly gets into some more PHP specific things like:
</p>
<ul>
<li>Use Ternary When Appropriate
<li>Use Guard Clauses
<li>Keep Methods Maintainable
<li>Avoid Deep Nesting
<li>Don't Overuse Variables
</ul>
<p>
There's also two "extras" thrown in more concerning general programming practices - using methods to represent actions and some basic code readability suggestions.
</p>]]></description>
      <pubDate>Mon, 12 Nov 2012 14:52:59 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Smashing Magazine: Powerful Command Line Tools For Developers]]></title>
      <guid>http://www.phpdeveloper.org/news/18675</guid>
      <link>http://www.phpdeveloper.org/news/18675</link>
      <description><![CDATA[<p>
On the Smashing Magazine site today they've <a href="http://coding.smashingmagazine.com/2012/10/29/powerful-command-line-tools-developers/">posted a list of powerful CLI tools</a> that every developer should at least know about to help make their lives easier - six of them ranging from SSH tunnels to HTTP testing.
</p>
<blockquote>
Good tools are invaluable in figuring out where problems lie, and can also help to prevent problems from occurring in the first place, or just help you to be more efficient in general. Command line tools are particularly useful because they lend themselves well to automation and scripting, where they can be combined and reused in all sorts of different ways. Here we cover six particularly powerful and versatile tools which can help make your life a little bit easier.
</blockquote>
<p>The tools they mention are all things you'd install on a unix-based system:</p>
<ul>
<li>Curl
<li>Ngrep (network packet searching)
<li>Netcat (to work with network connections)
<li>Sshuttle (SSH tunneling)
<li>Siege (HTTP benchmarking)
<li>Mitmproxy (capturing proxy, both HTTP and HTTPS)
</ul>]]></description>
      <pubDate>Tue, 30 Oct 2012 10:18:56 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Michael Kimsal: Things a web developer might need to know]]></title>
      <guid>http://www.phpdeveloper.org/news/18668</guid>
      <link>http://www.phpdeveloper.org/news/18668</link>
      <description><![CDATA[<p>
<i>Michael Kimsal</i> has a <a href="http://michaelkimsal.com/blog/things-a-web-developer-might-need-to-know/">new post to his site</a> with some recommendations for web developers as to the things they should know to do their job well.
</p>
<blockquote>
The original question from was a 16 year old who's been doing some basic CRUD apps, but is getting bored and wanted to move on to 'real' development.  There were some good replies, but few went in to the depth of detail that I think beginners are even aware of.  Granted, this might scare off some, but for others it might give them some ideas about what's possible and what's involved in professional web development.  I know I'm going to leave off some topics, so feel free to add on!
</blockquote>
<p>
He touches on topics ranging from version control to performance and even a mention of mobile development. Each section includes a brief summary of the topic and some have specific topics to check out to help narrow things down to the important parts.
</p>]]></description>
      <pubDate>Mon, 29 Oct 2012 09:39:46 -0500</pubDate>
    </item>
  </channel>
</rss>
