As companies are becoming more and more digital, the need for strong developer talent rises. Converting critical business processes from analogue to digital requires the right set of people to ensure the ongoing success of the company. However, attracting and retaining world-class developer talents is not a straightforward task. For almost a decade, there’s been a shortage of competent persons with programming skills which has resulted in the employee’s job market. Further, while companies who started in the digital age might have more luck in attracting the right talent, older or non-digital companies who are coming late to the digital party, are struggling and most of the time, only have money to attract talent. This might not be sustainable for the company, and it won’t keep talent engaged forever.
Personally being “born digital”, being a developer and being working in the digital space for more or less decade, I know how it is to apply to developer positions, and I have a fair amount of experience hiring and retaining talent being a regional CTO in a digital consultancy with offices around the world housing our almost 900 developers. Here are some of my recommendations for how to create a sustainable and long-term process for attracting and retaining world-class developer talents. A lot of these recommendations are similar in the fact that they draw inspiration from tech companies and please note that the focus is not to consider hiring as one-offs, as in something you do to then forget about it until you need to hire again. Instead, it’s about being continuously involved to build up good relationships, so when you do need to hire, you have the right connections in hand.
Engage with the local community
If I had to pick one of my recommendations from the list, this would probably be the one. I cannot emphasise how important it is to be involved in your local development community, and even if there aren’t any local communities, then it’s either a good opportunity to form the community yourself or alternatively, to find something remote. When I mention “community”, I refer to any local groups, events, meetups or similar that takes place in the city (or nearby city) of your company. Usually, you will see platform-related meetups such as iOS or Android, or there will be technology-specific ones such as AR or Machine Learning, or lastly, there could be general tech meetups for developers that span across platforms and technologies.
These events serve multiple purposes. First, it’s a great way for your employees to find like-minded people to share knowledge, learn and get inspired and to build up their network. Next, if the events involve public speaking, this could be a great professional challenge for your employees to make a talk and it could be a great way for your company to share some of the technical challenges you have solved. Being involved in a community and by that building up a network of like-minded professionals, enables your company to reach out to these once you need to recruit. Instead of having to source candidates, hopefully over time, you have a good overview of the relevant candidates in your local community through your own employees.
If you’re afraid of pushing your employees to go to these types of events in case they might get hired into another company, then you’re not handling your employees right. Hoping to keep your people by trying to block them to see other opportunities is unrealistic, not sustainable and will only work short-term at best.
Share your work
I’m personally a big proponent of sharing knowledge and experiences. Open source is a fantastic approach to try to increase the collective quality of source code in the world instead of building it in silos. That said, I do understand why some companies in some industries might have a specific reason to keep source code, processes, tools or similar private due to security reasons or for strategic reasons such as building up intellectual property. However, far too many companies are too focused on building up IP everywhere instead of trying to narrow the secret sauce down to exactly where the company shines and differentiates themselves from the market. That focus on IP makes some companies oversee the opportunities in terms of talent attraction and retainment.
Sharing your company’s work in the form of writing about your experiences, e.g. by blogging on Medium is a great way to both help others in similar challenges, but also to attract people who are interested in helping you solve future challenges. Another, often overlooked, perspective is that, when you ask your employees to share the work they do, they will most of the time try harder since they don’t want to share something that is half-done.
Another great way of sharing a company’s work is by sharing actual source code. Most companies doing development today will have small or big parts of open source code pieces in their codebases. Most companies will also have bespoke code which is either very specialised code to their unique use-cases, but most will also have code that solves more generic problems which they were unable to find as open-source code. Many companies, however, will not share that code as open source. From my experience, the reasons are usually either: a) they don’t have time to maintain it (solving issues, handling releases etc), b) the code they have is not in a state where it makes sense to share it or c) the code is not unique enough to have a space in the open-source world. However, publishing parts of your codebase as open-source has a range of benefits. First (similar to writing), it usually pushes the employees to try harder since they want to be proud of the code they share. Next, it allows the employees to build up their coding resume on GitHub which for many can help them in their future career. Last, you might even attract people to either apply at your company or to contribute to your code base through issues and pull requests.
Learn from the tech companies
Many of the big tech companies have been known for introducing a lot of developer-targeted activities to support the growth of their employees which benefits the company and keeps employees happy – a win-win. If you’re not already, then you should start getting inspired by these activities. In fact, a lot of these activities have a very low cost but could have very high returns.
One of the most popular ones: the hackathon. Simple idea: get your employees (or even outsiders) to come up with ideas that might or might not be related to your business and have them hack together a solution within a short amount of time (usually days). Once in a while, it’s a good thing to be pushed to finish something fast even though it might have bugs and may not be as polished as it would normally get developed. It’s a great way to work with new technologies, think in different directions and to work across teams in new ways.
Another popular activity is working on something outside of your normal working area – or even just working on something they choose. No matter if it’s a day per year, an hour per week or even a day per week, it’s a great way for developers to try out new things, fix the things that never get fixed or to come up with new and better solutions.
Supporting employees growth through education is another great way of retaining talent. Whether it’s paying for a relevant online subscription with good learning material, paying for certifications and courses or sending them to a conference or two per year, it all contributes greatly to keeping them in the company. Not to forget: the growth of your employees obviously benefits the company. It’s incredible how inspired one can get by going to a developer conference and talking to like-minded people and learning from some of the best in their field.
Understand your local market and be open to relocations
Hiring across the globe is difficult and even though there are definitely similarities in how you attract and retain talent, there are also differences. I assume this doesn’t only apply to hiring developer talents. Because of that, it’s important to try and understand your local market. Is the best way of finding candidates through Twitter? The local Slack community? The local job listing page? A recruiter? There are many options and even though the above recommendations should guide you towards a more solid and long-term process to hiring and retention, there is room to try out different things in each market to find what works for you.
I’ve hired for niche technologies and I would never have found candidates if I only hired locally. Even though there might be benefits in hiring locally if the right candidate is there, it might not always be possible. If you truly want to have the best talent out there, then you must be open for relocations. Sit down and sketch out a relocation package and decide if it is an option for your company. Relocating usually involves flight tickets, visas and a place to stay for a month (e.g. Airbnb). Although the upfront costs may seem high, it might be the right decision for you to get the best candidate.
Developer talents are crucial for your digital transformation
Being digital is becoming close to being mandatory. It’s not something that happens overnight and depending on the company it might be a big challenge. Having the right set of people to help drive that transformation through digital thinking and the right technical skills is crucial for the success of the company. Because of that, I really want to emphasise the importance of investing in attracting and retaining talent as it is a very competitive market. The first step is to acknowledge that and to make a plan for how to tackle that challenge.
I wish you good luck on your journey.