There’s an interesting problem going on within the IT industry. I’m sure it reaches beyond software engineers, but that’s where I’m going to focus. Do you know any developer who’s out of work? Any that can’t find work? Any that AREN’T contacted by recruiters regularly? I don’t. We are all gainfully employed, and we continue to get bombarded by potential roles.
Ok, I’m going a little emotional up there. Sure there are folks who are unemployed, and they may be good at what they do, but I would venture to say that the vast majority of good and likable developers are employed and compensated pretty darn well.
The problem that I want to talk about is the lack of developers in the US. One of my recent ‘roles’ as a consultant has been to work with companies on how they hire and retain engineers. It’s not about making the perfect job description or using the right buzzwords (Those help!), but it’s about finding the type of person you need and being willing to cross train or have some patience while they learn a new technology or programming language. I once read a comparison to someone hiring a painter. You don’t ask your painter how long they’ve been painting grey walls, or white ceilings, you ask them how long they’ve been painting and about the quality of their work. In software development, sure, it would help if you have a Java program to maintain to find a Java developer. If you’re having a hard time doing that, reach out to someone with Python or C# history. Good developers know how things work beyond the code their writing. It then makes it almost trivial to learn the syntax of a new language.
That’s not universally true, though. For instance, I wouldn’t hire a Linux administrator/perl programmer to work on big data problems using some cool Python or Java frameworks. I would hire someone who’s written Scala using Spark, to do some work in Java/Spring Batch. The big rocks are the same. It’s the color off the moss growing on top that’s a little different.
Developers, if you ARE challenged with finding a job, here are some thoughts.
Stop focusing on buzz words
Quit talking exclusively about the technology you used. You could come across as narrow focused, and basically a trained monkey. Let’s compare it to carpentry. Anyone can use a jig saw, but, not everyone has a product to sell that people will buy. Don’t just tell me about the tool you used, tell me wha the problem you solved? What was your role on the team
Your title doesn’t matter
Much like the idea of the tools you used, what was your role on the team? Sure, your role could be Senior Master Principal Developer, but if all you did was follow a spec written by your technical lead, then it doesn’t matter. Tell the hiring manager what YOU did. Not what the team did either, what was YOUR role in success or failure.
Quit lying and know your stuff
This should seem obvious, but I can’t tell you how many interviews I’ve performed in which the applicant couldn’t talk about the above concepts. Sure, they said they used Java, but couldn’t tell me how a Servlet worked. Once, I had a web application developer who couldn’t explain how an HTTP request worked. Don’t get me wrong here, I’m not looking for a detailed explanation of network packets or the HTTP 1.0 protocol (although that would have been bonus points, since we were building a network forensics tool). I just wanted to hear something like request-response, or client server… anything!
This article started to talk about the shortage of talented developers in this day and age. This is going to continue to get worse, as the appreciation and demand for quality engineers rises. In the future, I’m going to write down some ideas on how to fix it.
In the end, this is some pointers for hiring managers as well as developers on how to open up their options a little bit. The key point, be flexible in who you may hire as long as they are close!
Cross posted at: https://www.linkedin.com/pulse/developers-get-haircut-real-job-chris-fauerbach