You are hereHiring Programmers Today


Hiring Programmers Today


By hagrin - Posted on 02 November 2006

This morning I read a very insightful blog post over at Mini-Microsoft concerning the trouble hiring talented programmers and a potential solution. Mini MSFT draws the picture of the accomplished programmer who has a strong resume, strong background, good experience, but then fails the simple coding problem during the "whiteboard" test (for those who don't know, the whiteboard test basically entails coding out your answer on a whiteboard as opposed to a computer). Mini then questions if you're not going to take the chance on hiring this candidate and your talent pool all seems to come up short in some way, how can you strengthen your potential employee base and offers up the idea of a bootcamp like training called "Microsoft Academy".

This is an interesting dilemma and a problem that directly faces me as I progress through the technical side of my career.

(Note: the below stereotypes don't apply to everyone and skill sets and aptitude will vary on an individual basis, not on a "how did you learn" basis.)

I'm self-taught. I've never taken a computer class, never completed a training course or seminar and have learned from reading books, reading the web, Google code searches, code samples and asking other programmers I worked with (although now, I work alone and don't have any other programmers to turn to). With 5+ years experience now, I have run into most common corporate environment related programming tasks and can expertly navigate my way through the software development process. However, although I was able to eventually develop an efficient solution to a problem, each new hurdle required research and trial and error testing.

So, wrapping up Mini's post with my own situation into one neat package, how does the current hiring process by many software firms actually relate to discovering and hiring the best programming talent? Does the firm's ability to groom talent play a role in who you can and cannot hire?

Taking a critical look at my own skill set, I came up with the following list of Pros and Cons of someone who is slef-taught and who may not do well on a whiteboard interview examination due to inexperience with solving a particular problem -

Pros:

  • Being self-taught shows the ability to pick up new skills outside of the classroom and on the programmer's own time. This ability relates more to what occurs in the real world life of a programmer when technology is highly dynamic and not static like shool textbooks.
  • Shows a level of self-motivation to be able to learn a craft outside of formal education.
  • Won't require the same teaching overhead that others who don't learn well on their own need.
  • Quick absorption of new material and technology released

Cons:

  • Self-taught developers very often figure out "a" way of getting something to work and don't always know the most efficient coding path to solve a problem. I know I have run into this situation numerous times during code reviews later on after my development is done.
  • Time wasted on research and trial and error for topics and problems that many formally schooled developers would have tackled as part of their cirriculum.
  • May lack fundamental concepts in programming which prevent implementing technologies that are not documented well (an example of this for me was developing sophisticated web parts for SharePoint 2003)

With all the above, should you hire a programmer that has proven himself in other environments, but fails the whiteboard test? The answer is maybe (what a cop out). If your organization can take an individual an provide him ample time to "get up to speed" on a subject, the self-taught, whiteboard failing developer might be the best fit for your organization. If you need contract work done, you probably want to hire the developer who has direct experience with the solution you're looking to implement because firms hiring contract workers do not have the time to groom talented individuals.

In conclusion, if you can groom talent you can be more varied in your hiring selections and potentially garner greater rewards. Otherwise, if you're limited by budget and/or time constraints, your hiring pool will be much smaller and limited to those who possess a mastery in a certain skill set. For me personally, since I am self-taught, the company that takes a slight risk in me and gives the time to acclimate will find themselves with a highly versatile, highly motivated programmer who is always learning.

Would your company/department take the risk on hiring someone with my background? Let me know - that's what the comments section is used for.