Following the disruption theories of Clayton Christensen, in business, as it is in life, if we wait too long to invest in something, a last-minute dash might come too late to move the needle in the right direction. Ask any farmer -- you don't plant an orchard when you want to cook an apple pie. You need to plant seeds well in advance and nurture your trees in time for the next harvest.
Let's think about this in the context of technical talent. When we talk about the emerging talent shortage, what everyone's really talking about are highly experienced technical roles like senior developers. In today's tech economy, every scaleable company -- regardless of its industry, product or service -- needs a strong digital presence and thus advanced software engineering, but the demand continues to outpace the supply.
So considering the tough hiring climate, how are most businesses finding senior development talent? And, is there a better way?
Break the negative cycle of poaching.
The biggest tech companies know that the best resource for hot talent is poaching from their main rivals. Take Google, which according to a recent Forbes article has wooed 12,798 of its employees from other major tech companies and nearly one-third of these, a total of 4,151, from its main rival, Microsoft.
Leading companies pay recruiters to sneak around LinkedIn profiles in the hopes that an alluring salary and benefits package, coupled with millennial-tempting perks, will convince a developer who has all the choices in the world, to jump ship.
But, just because the world’s biggest companies do it, doesn’t mean it is the right thing to do. This practise perpetuates the culture of poaching and forces companies into a never ending cycle of one-upping each other to attract the best and brightest. Salaries skyrocket and average time spent at a single company dwindles. Developers become less loyal to companies, effectively becoming tech mercenaries who will move for a better offer at a moment’s notice.
So, how can we create a better pipeline of talent that's ready to tackle the problems we need solved, without having to break the bank going head to head with competitors?
We need to plant the developer saplings well before we need the fruits of the harvest.
Step 1: Plant the seeds.
Developers don't emerge from the womb ready for solving advanced problems. Just like the meanest looking tiger started off as a cub, all developers begin their journey as junior developers. This simple truth seems to be lost on most hiring managers.
To grow an amazing senior developer, you plant a bright junior, add time, experience and space for continual improvement, and you end up with a talented, experienced engineer.
Are you planting juniors in your company? If not, that's fine, but just like with technical debt, talent debt will catch up with you eventually. There are plenty of bright, green developers marching out of coding bootcamps all over the world, and like software engineer Kate Heddleston said, "If you can’t hire any junior engineers . . . you have serious problems."
Having a structured on-boarding system, structured training, regular feedback and space for personal projects allows companies to grow their own developers from seed to tree.
Step 2: Cultivate talent pathways.
Of course, planting juniors isn't a silver bullet solution. It's the first step. So, how do we avoid the rampant turnover that plagues the tech industry? If we're hiring juniors and planting seeds, then we need them to develop, and fast.
Juniors need experience, time and continual improvement. Take some time to consider what improvement means for your juniors. Is it conferences? Site licenses to great training libraries? Bigger, more difficult challenges to tackle? Mentorship programs and exchanges with other startups?
External opportunities are great, but many of the learning experiences can come from your own team. Pair your talented juniors for at least a few hours a week with one of your senior developers. Pair programming can be super effective here and allows them to learn the style of a master of the trade. Implement regular code reviews with the same senior developer, and encourage a non-judgmental environment for learning and asking questions. They'll look forward to these sessions and value them. But, most importantly, constantly push the envelope; don't let juniors get too comfortable on specific tasks. Pressure is good, as long as it is applied in a positive rather than negative, oppressive manner.
Step 3: Create a sustainable talent ecosystem.
Considering how many competitors are hiding behind your gate, just waiting to snap up any wandering development talent that comes their way, it is essential to develop a strong company culture based on learning and personal improvement.
By investing time and energy into the career development of your relatively inexperienced developers, you will develop loyalty as staff begin to value your investment in them more than a slight salary raise. Create an environment where employees understand what’s happening in other areas of the tech community, and allow exchanges and transfers between teams based on interests. Siloed employees are limited in their ability to collaborate, think creatively and see the forest for the trees. When employees get burned out with a specific role, feel like they aren’t advancing or feel "stuck,” they are more likely to leave and start over somewhere else.
Make sure that you're cultivating, valuing and rewarding the attributes that make your top talent not just valuable contributors, but also valuable mentors and teachers. Invest in internal training materials. In this way, your company creates its own educational institution and the faster you can get new talent up to speed, the faster you can develop them.
Creating a sustainable talent ecosystem will allow you to react to natural developer churn in a much more sustainable way. If done correctly, your efforts will produce a flow of future senior developers so the occasional loss shouldn’t stop the cogs from turning, or set the alarm bells ringing. As goes in the circle of life, once your trees are providing shade and shedding seeds for future trees, you've created something really special. You will attract, develop and retain talent a lot more effectively than outsourcing the learning to others. Fulfilled engineers are happy engineers, and an ecosystem that invests in its own future is one that will thrive, come rain or shine.