Steve Mezak, CEO, Accelerance
There’s been much press lately about how outsourcing software development is dead. The reason this line of thinking has taken hold is because the stereotypical outsourcing model no longer works – that is, hiring an army of cheap developers in far-off exotic lands that only have marginal technical and communication skills. This approach, long favored by number-crunching CFOs, has proven to be a nightmare for everyone else, as unmotivated and unskilled partners slow down work, fail to deliver on quality, and cost more in the end.
If you’ve already decided outsourcing is not worth it, and you only want to hire locally, the numbers are not in your favor. According to a recent Gartner report, by 2020, there will be 1.4 million IT/software development job openings, but universities and colleges are likely to only produce enough qualified graduates to fill about 30 percent of these jobs.
A handful of facts further underscore why there aren’t enough top software engineers to go around:
- Since 2012, mobile apps have overtaken Web browsing for accessing content on the Internet
- Since 2013, more than 100 billion apps have been downloaded annually, generating more than $26 billion in revenues in the U.S. each year
- Every business is now a software business, as enterprises of all kinds rely on it to design and manufacture products, provide services, communicate with customers, and manage operations efficiently
- More than 50 percent of CEOs recognize that software development is key to achieving a competitive advantage, according to an IBM survey
As total demand for IT skills in the U.S. continues to far outpace the training and development of software development talent, several mitigating factors make the problem even more complicated:
Developers burn out. Software programming can run down many people because it takes hours and hours of work toiling away at a seemingly never-ending list of tedious tasks. The typical software development project has intentional, near-impossible deadlines and work weeks of more than 60 hours, which is the norm, not the exception. Add in the now-routine pace of doing more with a smaller budget and fewer people, and it is easy to see how even the best developers can become mentally and physically exhausted in a short period of time. Perhaps even worse, being good at this kind of strenuous work usually results in more work steered your way. It is not uncommon for many Dev and DevOps professionals to spend a few years in the trenches before moving on to other less demanding roles or entirely new careers.
Companies hire young. Experienced software development professionals are expensive. That is why software companies focus on hiring young – their salaries are lower, and young employees can become as productive as senior programmers in a relatively short amount of time. The unfortunate reality is that there are only so many affordable young developers in the market, which makes trying to build a business around them an unsustainable approach.
Poor company culture. The unfortunate truth is that most companies have company cultures that leave a lot to be desired. In being quick to market and staying afloat financially, startups are intrinsically fast paced and somewhat chaotic, which can mean never ending stress where everything is urgent and needs to be completed yesterday. The very nature of startups frequently makes it difficult to foster teamwork and a culture that is both responsive to the needs of employees and effective in creating a sense of belonging. In startups, everything is in a state of constant flux. As companies become more mature, these kinds of things tend to fall into place. However, the chaotic and stressful pace of getting a company off the ground floor does not make startups a long-term option for many people, which makes keeping good developers a challenge.
Hiring local developers may be a noble intent, but it can be astronomically costly, for the reasons outlined above, and the shortage of available talent will cause costly delays in finding, hiring and retaining developers that can work as a team and develop the software you need. However, there are many reasons why you should not despair.
Software development outsourcing today involves finding and hiring a good company that is even better at what you do. The good news is there really is not a shortage of software developers globally – there are lots and lots of skilled and specialized Software development outsourcing firms in practically every corner of the world. The trick is knowing how to find one quickly that can match your technical requirements as well as your corporate culture so together you can get underway as quickly as possible with the work at hand and achieve a sum greater than its parts.
Modern outsourcing should be viewed as more than an opportunity to just reduce costs and improve the bottom line. Yes, you want to find an affordable way to get more hands on deck, but, when done right, true outsourcing can identify new revenue streams, create more opportunities for innovation, and serve as a key tool for staying ahead of your competition.