My work gets me to connect with many tech companies, founders and engineering leaders. I often ask them one question, what is their biggest problem? They all tell me how hard it is to find good programmers. That there’s nobody out there and even when they find them its always a bit of luck to get them to join. And, of course, they do sound concerned about the cost of hiring!
Honestly, this is not the real problem and not many companies realize this, no I’m not gonna give a culture lesson here. I run a small community of developers and I can tell you there are hundreds and thousands of programmers out there. You can really hire them if you know, how to. In this article, I want to share a developers’ perspective on how to convince them to work for you.
First, let me give you a few facts on the actual demand and supply curve of hiring talent.
The US software job market faces a 472K tech talent shortage with 9 in 10 business owners struggling to find and hire IT professionals according to research done by Indeed.
Hiring software engineers is the second most common issue employers are facing — 23.84% of respondents in the State of Software Development 2018 research admit that they face considerable difficulties while searching for candidates.
The overwhelming demand for programmers has resulted in the growth of software developer salaries and transformed IT into the best-compensated sector. The median computer programmer salary in the US is more than $100K per year, which in some states is two times more than the average regional pay.
It is not just about the location: yes Silicon Valley explodes with new job openings daily. But 4 out of 5 large tech corporations in the US are from outside Silicon Valley, which validates the nationwide talent shortage.
So big question now on how to address this huge talent demand? Or possibly complain that there are not enough people with the desired skill set, and immigration is hard, outsourcing is a failed model? Frankly, these are all assumptions that add hurdles in hiring great programmers. Creating a job post on a job board is like a commodity which is traded, the number of open positions may be likely fake positions for reasons like SEO, getting users to apply, and just interviewing people randomly to get competitors info. Sounds bizarre, right?
If money is your biggest selling point for hiring, that you’re willing to pay above the market prices just to attract great programmers, well good luck with that, because if you can, so can others. Developers spend the most time writing code, and they take their work purposefully to also earn a living at the end, they all reach a point where they don’t want to suffer in a toxic environment and want enough headspace to manage their personal responsibilities. They also look for flexibility, working on technology that can impact millions of lives, a peer group that is supportive and where failure is equally celebrated as success is. Think hard on whether you’re selling a job that pays X for Y or a great place to work at that genuinely cares!
Interviews are your best opportunity to get to know a person. A positive experience can convince a talented person to join your team and not so good experience can cost you your company’s reputation. If you fail to get back to a candidate after 3 weeks of receiving a resume from a recommendation, you failed. If you tell a candidate to take a BART or Uber Pool to commute, you failed. If you give them a coding challenge on a machine that was discarded and has a 90s keyboard, you failed. If the meeting times are always getting rescheduled, you failed. If you’re not able to give a yes or no answer, you failed. If you fail to create an impression, you will fail to hire good people, always!
The difference between a good programmer and a bad one is not necessarily coding skills. In fact, it is something even more basic bad habits. And bad habits are hard to break both in life and at work. And often we are unaware of our bad habits and all we need is somebody to shed light on them. Like life, programming has no hard and fast rules. Sometimes you wing it to win it. Most programmers are eager to learn new things. They strive to understand how all the pieces of the architecture work together and what state they are in. They question the design and ideas behind features to solve for a solution. They understand what makes a good user experience. A bad developer, on the other hand, is attached to their favorite technology. They think a single method or process is the “ideal,” and that user experience and situation should never drive decisions. They bring unnecessary dependencies into the project to suit their preferences. They get excited by the new
.js in town.
TL;DR – be a coach, not a boss!
Summarizing, there’s no dearth of great talent available. Take the risk and test your pre-formed opinions and judgments about people. The right talent knows how to make the right code which will make you successful. Trust first to get trust back! If I can help you get hired, send me a message or just comment below.