Re: Computer programmers' habits in electronics



Dirk Bruere at Neopax wrote:

Ignoramus16420 wrote:

On Thu, 22 Dec 2005 21:30:13 -0800, Bob Monsen <rcsurname@xxxxxxxxxxx> wrote:

On Wed, 21 Dec 2005 19:45:51 +0000, Ignoramus32515 wrote:


On Wed, 21 Dec 2005 19:31:08 GMT, Rich Grise, but drunk <yahright@xxxxxxxxxxx> wrote:

[quoted text muted]


Sorry, nothing that I can think of, of the sort.
Somewhat tangentially...

We are interviewing people for computer programmer positions. We are
looking for those who can actually "do stuff" without too much
babysitting.
Lots of people come in with impressive resumes. When I talk to them, I
know that some peope are very good at bullshitting, so I give them a
couple of actual tasks to do. Very small simple things. One is to
write a nice function that reverses a string in place. For example,
"Rich" would become "hciR".

Almost no one can actually do this without making mistakes, many
people give up completely.
Very frustrating. I consider it the most basic capability of a
programmer.


How many times have you had to write a routine like this in your coding
career? I'll answer: only when asked to by some clown on an interview.



Doing things of similar nature, many times.

I've always found it enjoyable to torture prospective employees, but it
never helps in determining if they are going to be productive. Often, the
smartest people get nothing done, and even become a drag on the
organization by bullying and posturing in meetings. It's the quiet, less
'clever' people with the good work ethic that end up doing most of the
work.



I think that it would be stupid to hire people based only on being able to write a little routine. We agree on that. But it would be stupid to hire people who cannot program computers, to program computers.


Depends.
Some people learn fast.
I have often come across job requirements for knowledge of a particular 8 bit micro. I used to say that it would take me about half a day to get up to speed by reading the data book. Not good enough. Now I bull***, and if I get the job spend half a day getting up to speed...


Ditto programming languages. Originally it took me a couple of weeks to learn to program reasonably well in C, then some years later another two weeks to add the ++. Then I didn't use it for about 4 yrs and so have had to relearn again for my current job. Not a hope in hell of getting the job if the guy had set me some poxy C++ test at the 'interview'.

Hiring a coding monkey over someone who can actually understand the entire project, including h/w design, is IMO false economy. My job is solving engineering problems.

Asking that string reversal problem isn't, in my opinion, such a bad thing. There's a difference between someone who just can't code and someone who hasn't coded on a particular processor's assembly language. If I care about what processors someone has worked on it is only to get a feel for how flexible they are -- someone who's only done 8-bitters may be weak at handling really large and complex problems, while someone who's done only C++ on 32 bit platforms is going to get some rude surprises working on an AVR.

In addition to The Interview Question I related above, I also like to ask an interviewee to give a quick chalk talk on some project that they've worked on. This quickly gives you a good idea of their ability to communicate, where they are going to want to fit into the hierarchy, how much stuff _they_ actually did personally, and how good of a grasp they had on the principals.

I should also mention that in the company where they used The Interview Question and the chalk talk, we also made sure that every software engineer talked to at least one EE, and we made sure that part of that discussion was a test of their hardware skills -- the EE would stick a schematic under their nose and ask them to find a signal coming out of the microprocessor, and ask them to relate how they'd measure the signal. Saying "I don't know but I do know how to ask an EE for help" was acceptable; saying "I don't do hardware" was not.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
.


Quantcast