<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: PHP coders</title>
	<atom:link href="http://terrychay.com/blog/article/php-coders.shtml/feed" rel="self" type="application/rss+xml" />
	<link>http://terrychay.com/blog/article/php-coders.shtml</link>
	<description>You tell that other boy, not to touch the woodwork...</description>
	<pubDate>Sat, 06 Sep 2008 21:09:23 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7-hemorrhage</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: The Woodwork &#187; Blog Archive &#187; Egos and assholes</title>
		<link>http://terrychay.com/blog/article/php-coders.shtml#comment-481253</link>
		<dc:creator>The Woodwork &#187; Blog Archive &#187; Egos and assholes</dc:creator>
		<pubDate>Fri, 27 Jun 2008 07:35:00 +0000</pubDate>
		<guid isPermaLink="false">http://terrychay.com/blog/article/php-coders.shtml#comment-481253</guid>
		<description>[...] a lot of fun to mess with their minds when they&#8217;re being interviewed&#8221; @tychay #phptek” [...]</description>
		<content:encoded><![CDATA[<p>[...] a lot of fun to mess with their minds when they&#8217;re being interviewed&#8221; @tychay #phptek” [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: All Night Coder - Today&#8217;s Top Blog Posts on Programming - Powered by SocialRank</title>
		<link>http://terrychay.com/blog/article/php-coders.shtml#comment-186829</link>
		<dc:creator>All Night Coder - Today&#8217;s Top Blog Posts on Programming - Powered by SocialRank</dc:creator>
		<pubDate>Mon, 01 Oct 2007 12:09:36 +0000</pubDate>
		<guid isPermaLink="false">http://terrychay.com/blog/article/php-coders.shtml#comment-186829</guid>
		<description>[...] Expectation from PHP coders [...]</description>
		<content:encoded><![CDATA[<p>[...] Expectation from PHP coders [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Woodwork &#187; Blog Archive &#187; Simple prescriptions and making choices</title>
		<link>http://terrychay.com/blog/article/php-coders.shtml#comment-86367</link>
		<dc:creator>The Woodwork &#187; Blog Archive &#187; Simple prescriptions and making choices</dc:creator>
		<pubDate>Sun, 27 May 2007 04:00:57 +0000</pubDate>
		<guid isPermaLink="false">http://terrychay.com/blog/article/php-coders.shtml#comment-86367</guid>
		<description>[...] choose PHP, you can really create a slow flawed architecture, you really do have to work hard to winnow the wheat from the chaff. There are consequences to [...]</description>
		<content:encoded><![CDATA[<p>[...] choose PHP, you can really create a slow flawed architecture, you really do have to work hard to winnow the wheat from the chaff. There are consequences to [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Woodwork &#187; Blog Archive &#187; Database Abstraction vs. Data Access</title>
		<link>http://terrychay.com/blog/article/php-coders.shtml#comment-46829</link>
		<dc:creator>The Woodwork &#187; Blog Archive &#187; Database Abstraction vs. Data Access</dc:creator>
		<pubDate>Thu, 22 Mar 2007 03:06:58 +0000</pubDate>
		<guid isPermaLink="false">http://terrychay.com/blog/article/php-coders.shtml#comment-46829</guid>
		<description>[...] may remember that an interview question of mine is “How do you create a single security audit point for SQL injection attacks?” The answer is [...]</description>
		<content:encoded><![CDATA[<p>[...] may remember that an interview question of mine is “How do you create a single security audit point for SQL injection attacks?” The answer is [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tychay</title>
		<link>http://terrychay.com/blog/article/php-coders.shtml#comment-25654</link>
		<dc:creator>tychay</dc:creator>
		<pubDate>Mon, 29 Jan 2007 20:34:22 +0000</pubDate>
		<guid isPermaLink="false">http://terrychay.com/blog/article/php-coders.shtml#comment-25654</guid>
		<description>&lt;a href="http://www.wait-till-i.com/index.php?p=379" rel="nofollow"&gt;A related article&lt;/a&gt; with advice on how to get hired as a web developer.</description>
		<content:encoded><![CDATA[<p><a href="http://www.wait-till-i.com/index.php?p=379" rel="nofollow">A related article</a> with advice on how to get hired as a web developer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Woodwork &#187; Blog Archive &#187; The Starship Zend-erprise</title>
		<link>http://terrychay.com/blog/article/php-coders.shtml#comment-6730</link>
		<dc:creator>The Woodwork &#187; Blog Archive &#187; The Starship Zend-erprise</dc:creator>
		<pubDate>Tue, 12 Sep 2006 03:09:09 +0000</pubDate>
		<guid isPermaLink="false">http://terrychay.com/blog/article/php-coders.shtml#comment-6730</guid>
		<description>[...] (I’m really harshing on Zend here so I better mention here that Zend is one of the few companies out there that’s actually trying to offer enterprise solutions. How many of us even try. We need to think about that before we whine about why we don’t get the $$ and babes.) [...]</description>
		<content:encoded><![CDATA[<p>[...] (I’m really harshing on Zend here so I better mention here that Zend is one of the few companies out there that’s actually trying to offer enterprise solutions. How many of us even try. We need to think about that before we whine about why we don’t get the $$ and babes.) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tychay</title>
		<link>http://terrychay.com/blog/article/php-coders.shtml#comment-3760</link>
		<dc:creator>tychay</dc:creator>
		<pubDate>Sun, 25 Jun 2006 19:13:53 +0000</pubDate>
		<guid isPermaLink="false">http://terrychay.com/blog/article/php-coders.shtml#comment-3760</guid>
		<description>Martijn Gorree provides &lt;a href="http://www.madcat.nl/martijn/archives/12-Grill-your-applicants!.html" title="Grill your applicants" rel="nofollow"&gt;a different set of questions&lt;/a&gt;. Instead of concentrating on front-end, his set deals with operations and setup for high load sites.

A very good book on this is:

&lt;a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&#038;path=ASIN/0596102356&#038;tag=terrychay-20&#038;camp=1789&#038;creative=9325" rel="nofollow"&gt;&lt;img border="0" src="http://images.amazon.com/images/P/0596102356.01._AA_SCMZZZZZZZ_V52808810_.jpg"/&gt;&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=terrychay-20&#038;l=as2&#038;o=1&#038;a=0596102356" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;

Cal Henderson doesn’t go into specifics, but it has great coverage and is an easy read.</description>
		<content:encoded><![CDATA[<p>Martijn Gorree provides <a href="http://www.madcat.nl/martijn/archives/12-Grill-your-applicants!.html" title="Grill your applicants" rel="nofollow">a different set of questions</a>. Instead of concentrating on front-end, his set deals with operations and setup for high load sites.</p>
<p>A very good book on this is:</p>
<p><a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&#038;path=ASIN/0596102356&#038;tag=terrychay-20&#038;camp=1789&#038;creative=9325" rel="nofollow"><img border="0" src="http://images.amazon.com/images/P/0596102356.01._AA_SCMZZZZZZZ_V52808810_.jpg"/></a><img src="http://www.assoc-amazon.com/e/ir?t=terrychay-20&#038;l=as2&#038;o=1&#038;a=0596102356" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p>Cal Henderson doesn’t go into specifics, but it has great coverage and is an easy read.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tychay</title>
		<link>http://terrychay.com/blog/article/php-coders.shtml#comment-3705</link>
		<dc:creator>tychay</dc:creator>
		<pubDate>Sat, 24 Jun 2006 02:14:01 +0000</pubDate>
		<guid isPermaLink="false">http://terrychay.com/blog/article/php-coders.shtml#comment-3705</guid>
		<description>&lt;a href="http://fupeg.blogspot.com/2006/06/good-java-programmers.html" rel="nofollow"&gt;Michael riffs off this discussion&lt;/a&gt; as it applies to Java programming contracts and hiring skilled ones.</description>
		<content:encoded><![CDATA[<p><a href="http://fupeg.blogspot.com/2006/06/good-java-programmers.html" rel="nofollow">Michael riffs off this discussion</a> as it applies to Java programming contracts and hiring skilled ones.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tychay</title>
		<link>http://terrychay.com/blog/article/php-coders.shtml#comment-3688</link>
		<dc:creator>tychay</dc:creator>
		<pubDate>Fri, 23 Jun 2006 21:55:13 +0000</pubDate>
		<guid isPermaLink="false">http://terrychay.com/blog/article/php-coders.shtml#comment-3688</guid>
		<description>&lt;a href="http://audienceone.blogspot.com/2006/06/php-programmers-worth.html" rel="nofollow"&gt;Audienceone summarizes&lt;/a&gt; the discussion.

The excerpt his the point right on the head. The questions are supposed to serve as a guide for figuring who is wheat and who is chaff if the person is a front-end PHP developer with Ajax experience. How they formulate their answers shows their sort of thinking and experience. Because software is built by a team of people, the resume by itself cannot reveal this.</description>
		<content:encoded><![CDATA[<p><a href="http://audienceone.blogspot.com/2006/06/php-programmers-worth.html" rel="nofollow">Audienceone summarizes</a> the discussion.</p>
<p>The excerpt his the point right on the head. The questions are supposed to serve as a guide for figuring who is wheat and who is chaff if the person is a front-end PHP developer with Ajax experience. How they formulate their answers shows their sort of thinking and experience. Because software is built by a team of people, the resume by itself cannot reveal this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tychay</title>
		<link>http://terrychay.com/blog/article/php-coders.shtml#comment-3687</link>
		<dc:creator>tychay</dc:creator>
		<pubDate>Fri, 23 Jun 2006 21:42:18 +0000</pubDate>
		<guid isPermaLink="false">http://terrychay.com/blog/article/php-coders.shtml#comment-3687</guid>
		<description>@rmoore: I hope that my grilling was actually enjoyable, instead of the “trivial pursuit-style knowledge testing that you could answer by regurgitating the wikipedia definition” that Michael shows me it obviously was.

Ryan is one of the people I’m really proud of interviewing. He’s just the sort of person to come up with a set of questions similar to mine that I’d not be able to answer.

@Jason: Remember this is only representative of the sorts of questions that can test front-end PHP coding skill. Another person would have slightly different questions of the same sort that would be difficult for me to answer. But I think that finding or being able to formulate your own answer to these questions can hint at deep problem solving skills in front-end coding.

Perhaps I should actually give my own versions of the answers to my own questions in future articles. But here is the basic idea (to take one case):

You would have had to learn Javascript closures if you ever had multiple asynchronous XMLHttpRequests “in the wire” at the same time. Something, I believe, that any highly dynamic website is going to have to have solved. Closures allow a “callback-system” (as opposed to a multi-process system with signals or a multi-threaded system)  to handle variable passing. Given that callbacks are so common in Javascript (setTimeout(), for instance), you can see how closures would be important.

Thinking further, you’d see that PHP can’t support closures (making it an important question to ask a PHP developer—it is not something you’d immediately have in your toolbox, but for a Javascript developer it would be). Then thinking more abstractly you’d discover how PHP &lt;a href="http://us3.php.net/manual/en/language.pseudo-types.php" rel="nofollow"&gt;gets around this language deficiency&lt;/a&gt;. That workaround is the key to solving many PHP problems with Ooo, something you might have run across in either coding or using a PEAR library. Reading that solution brings you to the concept of anonymous functions and this may bring you back to its use + recursion in Javascript to solve a great many problems, including how DOM scripting.

That’s just one path that tours a lot of important programmatic concepts in PHP and Javascript. Someone else would take it differently, see it differently, and maybe have some differing views about the relative merits. But I don’t think a single person who has ever had to build a front end Ajax site in PHP would think that the general concepts (while not the exact verbiage) of alpha functions, closures, and callbacks aren’t important tools to have for an Ajax PHP coder.

@Michael: Hey, if the ad hominem fits…

The logic puzzle statement comes having to have wasted two hours convincing you that a solution existed to &lt;a href="http://www.folj.com/puzzles/very-difficult-analytical-puzzles.htm" rel="nofollow"&gt;the twelve coins problem&lt;/a&gt;. I’m quite bad at Trivial Pursuit, but some people might not recognize the difference between my ability to remember details but not numbers and names. And the reason why you and others won’t play me in chess now is that you are afraid of losing. Which speaks more about your need to win than it does about my chess ability.

You make an assumption on what is on their resume the instant you post an egotistical comment to this blog entry which specifically mentions many times “front-end PHP developer with Ajax experience.”

Yes, I must have claimed to have “invented Ajax” before 2003. That’s why my talk has Jesse James Garret’s original 2005 coining of the term as well as references to the 1999 version of Outlook Web Access, when the concepts of Ajax were invented, the 2000 articles on MSDN when the XMLHttpRequest was first shown to allow dynamic loading of content, and the 2002 article on Apple’s website which popularized the concept of “Remote Scripting”, and the 2003 copy of OWA by &lt;a href="http://en.wikipedia.org/wiki/Oddpost" rel="nofollow"&gt;Oddpost&lt;/a&gt;.  All of these things went into seeing how the 2004 release of GMail would flow naturally from this.

Your Washington DC jobs page must “handle tremendous load” because the page took about 20 seconds to render a &lt;b&gt;static content homepage&lt;/b&gt; in Safari. I invite other PHP developers to visit the link you provide and draw their one conclusions.</description>
		<content:encoded><![CDATA[<p>@rmoore: I hope that my grilling was actually enjoyable, instead of the “trivial pursuit-style knowledge testing that you could answer by regurgitating the wikipedia definition” that Michael shows me it obviously was.</p>
<p>Ryan is one of the people I’m really proud of interviewing. He’s just the sort of person to come up with a set of questions similar to mine that I’d not be able to answer.</p>
<p>@Jason: Remember this is only representative of the sorts of questions that can test front-end PHP coding skill. Another person would have slightly different questions of the same sort that would be difficult for me to answer. But I think that finding or being able to formulate your own answer to these questions can hint at deep problem solving skills in front-end coding.</p>
<p>Perhaps I should actually give my own versions of the answers to my own questions in future articles. But here is the basic idea (to take one case):</p>
<p>You would have had to learn Javascript closures if you ever had multiple asynchronous XMLHttpRequests “in the wire” at the same time. Something, I believe, that any highly dynamic website is going to have to have solved. Closures allow a “callback-system” (as opposed to a multi-process system with signals or a multi-threaded system)  to handle variable passing. Given that callbacks are so common in Javascript (setTimeout(), for instance), you can see how closures would be important.</p>
<p>Thinking further, you’d see that PHP can’t support closures (making it an important question to ask a PHP developer—it is not something you’d immediately have in your toolbox, but for a Javascript developer it would be). Then thinking more abstractly you’d discover how PHP <a href="http://us3.php.net/manual/en/language.pseudo-types.php" rel="nofollow">gets around this language deficiency</a>. That workaround is the key to solving many PHP problems with Ooo, something you might have run across in either coding or using a PEAR library. Reading that solution brings you to the concept of anonymous functions and this may bring you back to its use + recursion in Javascript to solve a great many problems, including how DOM scripting.</p>
<p>That’s just one path that tours a lot of important programmatic concepts in PHP and Javascript. Someone else would take it differently, see it differently, and maybe have some differing views about the relative merits. But I don’t think a single person who has ever had to build a front end Ajax site in PHP would think that the general concepts (while not the exact verbiage) of alpha functions, closures, and callbacks aren’t important tools to have for an Ajax PHP coder.</p>
<p>@Michael: Hey, if the ad hominem fits…</p>
<p>The logic puzzle statement comes having to have wasted two hours convincing you that a solution existed to <a href="http://www.folj.com/puzzles/very-difficult-analytical-puzzles.htm" rel="nofollow">the twelve coins problem</a>. I’m quite bad at Trivial Pursuit, but some people might not recognize the difference between my ability to remember details but not numbers and names. And the reason why you and others won’t play me in chess now is that you are afraid of losing. Which speaks more about your need to win than it does about my chess ability.</p>
<p>You make an assumption on what is on their resume the instant you post an egotistical comment to this blog entry which specifically mentions many times “front-end PHP developer with Ajax experience.”</p>
<p>Yes, I must have claimed to have “invented Ajax” before 2003. That’s why my talk has Jesse James Garret’s original 2005 coining of the term as well as references to the 1999 version of Outlook Web Access, when the concepts of Ajax were invented, the 2000 articles on MSDN when the XMLHttpRequest was first shown to allow dynamic loading of content, and the 2002 article on Apple’s website which popularized the concept of “Remote Scripting”, and the 2003 copy of OWA by <a href="http://en.wikipedia.org/wiki/Oddpost" rel="nofollow">Oddpost</a>.  All of these things went into seeing how the 2004 release of GMail would flow naturally from this.</p>
<p>Your Washington DC jobs page must “handle tremendous load” because the page took about 20 seconds to render a <b>static content homepage</b> in Safari. I invite other PHP developers to visit the link you provide and draw their one conclusions.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
