I read a recent blog post that told a story which seemed to generate a lot of comments. Here is the scenario. Two developers interviewed for a job. Developer #1 went home after the interview. He designed and coded up a solution to a question posed in the interview. He implemented quite a solid solution in 24 hours. Developer #2 stuck around after the interview. He asked a lot of question about how the users would actually interact with the software. He also got more information on the existing processes and software that the users need. Although the guy spent just a half hour extra after then interview, word got out. Developer #2 was offered the job. The next day Developer #1 got a polite rejection call. What do you think about this outcome?
At first I must confess that this was a huge mistake on the hiring firm. All they got was a guy who is probably pretty good at requirements and analysis. The other developer has the skills to design and implement good stuff. There did not seem to be any information that validated that Developer #2 could code his way out of a paper bag. Yeah he has some skills. But these did not seem to be developer skills. And they are certainly not the ability to get things done. That is the quality that Developer #1 possessed and demonstrated.
However upon further thought, I started to think the company made the right choice. This is based on experiences I have observed at work. Yes the ability to knock out a technical solution is a skill. Not everybody has this capability. But there are fewer people who can actually interact act with users (the customer), and figure out exactly what they need. Then there is a lot of time wasted trying to guess what the customer wants. Developers spend a lot of time cooking up great designs and new technology. However that is of little use for actual users. Given a solid individual, I assume they can pick up whatever technical skills are required for a job. But competent requirements analysis is a rare trait indeed.
Maybe I should try to incorporate this scenario the next time we are interviewing to hire some more developers. I may indeed end of recommending my company hires Developer #2.
Backtrack Linux - Backtrack is a Linux distribution based off Ubuntu. It is used for penetration testing and forensics. The distro was a combination of WHAX and Auditor. It...