<story><title>On Secretly Terrible Engineers</title><url>http://techcrunch.com/2015/03/08/on-secretly-terrible-engineers/</url></story><parent_chain><item><author>patio11</author><text>It is, regrettably, not the case that all people who work as software engineers can e.g. code a for loop which counts the numbers of lower-case As in a string.  This is true even if you spot them the syntax for a for loop and finding the Nth character in a string.  It is equally true if you allow them to complete the task in isolation, at their own computer, given an arbitrary amount of time to complete it.&lt;p&gt;I am, naturally, constrained from saying &amp;quot;Here&amp;#x27;s a list of three of them.&amp;quot;  It would not be difficult.&lt;p&gt;It is also, regretfully, not the case that all applications one receives to an advertised position of Senior Ruby on Rails Programmer would be from people who had ever opened a command line.&lt;p&gt;Both of these are very difficult things to accept.  They may be even more difficult to accept if one is extraordinarily smart&amp;#x2F;diligent and one studies&amp;#x2F;works solely in organizations which apply brutal IQ&amp;#x2F;diligence filters before one is granted even a scintilla of the admission committee&amp;#x27;s time.&lt;p&gt;I remember, rather vividly, the first time I figured out that an engineer couldn&amp;#x27;t program.  I was attempting to tell him where a value was being assigned in a program.  After failing to do so over email, I went over to his desk and asked him to navigate to the file at issue.  He was unable to do so.  I told him I would do it, assuming that he was unfamiliar with the directory structure in that part of the program, and opened the file.  I then said &amp;quot;So you see, the assignment is made in the fooBar subroutine.&amp;quot;  He couldn&amp;#x27;t find the fooBar subroutine.  I said &amp;quot;It is the third method on your screen.&amp;quot;  He couldn&amp;#x27;t find it.  I said &amp;quot;It is this one, here, which I am pointing to with my finger.&amp;quot;  He said &amp;quot;OK, that one.  Where is the assignment?&amp;quot;&lt;p&gt;The fooBar subroutine was one statement long.&lt;p&gt;A coworker, having overheard the conversation, stopped at my desk later, and explained to me that, if I had pressing engineering issues, coworkers X and Y would be excellent senior systems engineers to address them to, but that Z should be allowed to &amp;quot;continue to devote his full attention to work which he is well-suited for.&amp;quot;&lt;p&gt;The industry has many destructively untrue beliefs about hiring practices.  That there exist at least some people who are not presently capable of doing productive engineering work is not one of these beliefs.</text></item></parent_chain><comment><author>vonmoltke</author><text>&amp;gt; I am, naturally, constrained from saying &amp;quot;Here&amp;#x27;s a list of three of them.&amp;quot; It would not be difficult.&lt;p&gt;I can&amp;#x27;t.  Over my career I have worked with hundreds of engineers and scientists who wrote code.  I know zero who are in positions where they have to write code at all, let alone as software engineers, who cannot do that.&lt;p&gt;&amp;gt; Both of these are very difficult things to accept. They may be even more difficult to accept if one is extraordinarily smart&amp;#x2F;diligent and one studies&amp;#x2F;works solely in organizations which apply brutal IQ&amp;#x2F;diligence filters before one is granted even a scintilla of the admission committee&amp;#x27;s time.&lt;p&gt;I spent my first 9.5 years at Raytheon, a company that is very light on the detailed  technical aspects of interviewing and very heavy on the behavioral aspects.  There are not committees, just the hiring managers and the interviewers.  You know, the system that is supposed to have companies awash in these people who supposedly can&amp;#x27;t construct a basic for loop but can bullshit a good game.  Never met one.  Not at Raytheon, or Northrop, or Lockheed, or Boeing, or any of the other companies I worked with during that period.&lt;p&gt;Sure, most of them were what this community would disparagingly label as &amp;quot;9-5 engineers&amp;quot;, but they all produced code that basically worked and provided some value to the program they were on.  Normally if there was a problem it was a political or attitude problem, not one to technical ability.</text></comment>
<story><title>On Secretly Terrible Engineers</title><url>http://techcrunch.com/2015/03/08/on-secretly-terrible-engineers/</url></story><parent_chain><item><author>patio11</author><text>It is, regrettably, not the case that all people who work as software engineers can e.g. code a for loop which counts the numbers of lower-case As in a string.  This is true even if you spot them the syntax for a for loop and finding the Nth character in a string.  It is equally true if you allow them to complete the task in isolation, at their own computer, given an arbitrary amount of time to complete it.&lt;p&gt;I am, naturally, constrained from saying &amp;quot;Here&amp;#x27;s a list of three of them.&amp;quot;  It would not be difficult.&lt;p&gt;It is also, regretfully, not the case that all applications one receives to an advertised position of Senior Ruby on Rails Programmer would be from people who had ever opened a command line.&lt;p&gt;Both of these are very difficult things to accept.  They may be even more difficult to accept if one is extraordinarily smart&amp;#x2F;diligent and one studies&amp;#x2F;works solely in organizations which apply brutal IQ&amp;#x2F;diligence filters before one is granted even a scintilla of the admission committee&amp;#x27;s time.&lt;p&gt;I remember, rather vividly, the first time I figured out that an engineer couldn&amp;#x27;t program.  I was attempting to tell him where a value was being assigned in a program.  After failing to do so over email, I went over to his desk and asked him to navigate to the file at issue.  He was unable to do so.  I told him I would do it, assuming that he was unfamiliar with the directory structure in that part of the program, and opened the file.  I then said &amp;quot;So you see, the assignment is made in the fooBar subroutine.&amp;quot;  He couldn&amp;#x27;t find the fooBar subroutine.  I said &amp;quot;It is the third method on your screen.&amp;quot;  He couldn&amp;#x27;t find it.  I said &amp;quot;It is this one, here, which I am pointing to with my finger.&amp;quot;  He said &amp;quot;OK, that one.  Where is the assignment?&amp;quot;&lt;p&gt;The fooBar subroutine was one statement long.&lt;p&gt;A coworker, having overheard the conversation, stopped at my desk later, and explained to me that, if I had pressing engineering issues, coworkers X and Y would be excellent senior systems engineers to address them to, but that Z should be allowed to &amp;quot;continue to devote his full attention to work which he is well-suited for.&amp;quot;&lt;p&gt;The industry has many destructively untrue beliefs about hiring practices.  That there exist at least some people who are not presently capable of doing productive engineering work is not one of these beliefs.</text></item></parent_chain><comment><author>pkaye</author><text>An anecdotal case of the worst candidate I interviewed. He was friends of our VP. He had an engineering degree from UC Berkeley. Over 20+ years, he was a consultant for firmware development at 28 positions. The non technical portion of the interview went great and I said I wanted to ask a few coding questions. He was really resistant and used all kinds of excuses. I told him to humor me and code something simple like draw how a linked list works and how the to write the insert function in C. At the point I was totally caught off guard. He knew not a single like of C syntax and just made things up. He didn&amp;#x27;t understand the concept of pointers at all. Later when I talked with my co-workers they had the same feedback. He didn&amp;#x27;t know how to program at all. We wondered how he consulted at 28 companies for the last two decades!</text></comment>