Tuesday, February 9, 2010

Interview Mistake 101: How would you do something you should never do?

I never know what to expect in an interview.  Either when I'm interviewing someone or being interviewed by someone else.  A young former coworker of mine used to see interviews more as his chance to look smart than as a chance to hire a competent coworker.  He'd always show up with trick questions and act shocked when the applicant couldn't answer the questions.  I was embarrassed to say the least, but despite his youth and eagerness, I don't think his philosophy is too far from the norm.

The daily job of most people in software development involves understanding the product and the process and translating those into results.  Why is it then that in software interview questions like how would you write a string reverser using recursion get asked? The proper response to this questions is no thank you.  The last thing a company needs is to hire someone who needs a string reversed and uses recursion because it would be fun to do it that way.

Despite the attempts over and over again by the well intentioned, the secret to most software is tedious work.  In other words you actually have to write programs.  Frameworks and patterns can and do add value, but they don't replace actually wiring and coding the application.  Making the round trip from a web page to a relational database is done over and over and over again.  From a coding perspective its largely the same if you ignore the data, but ignoring the data is the last thing any company wants the developer to do.  The data is the value.  Getting it from point A to point B is the commodity service that the programmer provides.  Being able to do that using recursion or bit by bit is not a special skill, being able to understand and ensure the data is handled properly is a special skill.

No comments:

Post a Comment