You would think posting a help wanted sign out on the front lawn of the office would attract hundreds of resumes in today’s economy. In the world of software development we have a huge surplus of developers for the first time in the short history of this industry. So why is it so darn hard to find good people?
I live in southeast Michigan in the middle of the former rust belt. In the last year our little geographic mitten has been stamped one of the worst states with unemployment hovering over 7% (49th out of 50 states) and one a few states running deficit spending. I find it interesting to listen to the politicians as they claim our state needs to be saved by moving toward tech jobs, and away from the traditional manufacturing jobs our state has been famous for in the late 1900s. Have these same politicians forgotten that Michigan has been doing a good job of attracting the tech industry for the last 5 to 10 years, and for the last four years the technical jobs have been hit hard by the economy? Maybe this is the reason our unemployment is so high, but I digress. I have several friends who are actively looking to hire competent FoxPro developers. The requirements are simple: you have to know how to read and write Visual FoxPro code, communicate with end users verbally and in writing, live in the area (no telecommuting), and have a solid background in software development. In other words, they do not want someone who they have to train from the ground up. One would think there should be plenty of developers with these skills. They have tried the typical routes of posting help wanted ads, talked to head hunters, posted notices on technical forums, and made calls to their network of friends and past co-workers. The results have been, well, pathetic. The majority of people applying for these positions claim to have years of experience with FoxPro and Visual FoxPro, yet asking the simplest of questions allows the interview candidate to be eliminated from contention in a matter of three minutes or less. Hint: if I ever ask you to explain the difference between a LOCAL and PRIVATE memory variable, you better have the answer. Data buffering is not unique to VFP, but there are specific ways to implement it in VFP. If I ask you to name three third-party tools or two books FoxPro developers should consider owning, you better be able to list these off the top of your head. Extra points if any of my developer tools or books get mentioned . JoelOnSoftware (January 25th post) makes the point I have been communicating to shops looking for good people. The reason most people sending in resumes appear under-experienced is the really good people already have jobs or already work for themselves and are busy. You may get a few dozen resumes, but if you are looking for the best, or even the better, you have to find a person who is not 100% satisfied with their current job or an independent who is finishing up with a project and is preparing to look for the next gig. This is where networking comes in and why I keep in regular contact with other developers in my industry.
You may be recognizing the trend I have been observing for the last year. The software industry is recovering from the Y2K hangover and the 9/11 attack and subsequent war on terror. Businesses have limped along on their older hardware and suffered with inadequate software for the last few years because budgets would not allow improvement. This cannot go on any longer for many companies. Companies willing to move systems forward are running into a shortage of good developers. The first issue, too many good developers became disenchanted and have left our industry because there was little work in the last four years. The remaining top gunners have fought over fewer jobs and have often settled for something less than they hoped for (both in type of work and salary). I already see the shortage. Not everyone wants to ship work offshore, and yes, eventually all the good developers in India will be to busy to take on more work and will start raising their rates for more reasonable wages. So the lesson to learn: if you are a software developer who is looking for work, prepare yourself with the fundamentals necessary for recognition as a great software developer. Polish your core technical skills, communication skills (verbal and writing), and stretch out of the box and expand your knowledge of your favorite developer tool. The work is available to those who prove they are capable and have invested the time to make themselves better than their competition. (In case you are wondering, do not send me your resume, I am not hiring anyone at the moment)