Emerging Programming Languages And Why Upskilling Matters

August 21, 2024
|
By Alex Koivio
Image


We recently interviewed Matt Whitworth, a seasoned tech leader and founder of PureType, who shared his insights on hiring for emerging programming languages like Elixir. Drawing from his experience scaling development teams, he argues that focusing on core attributes, rather than strict experience requirements, is key to hiring in a competitive market. This is also something we highlighted in our latest Elixir Hiring Report.

More of an auditory learner? Watch our LinkedIn Live with Matt here.

As a hiring manager, did you ever find yourself chasing after that perfect ‘unicorn’ candidate?


Yes, I did, especially early on. I learned that it’s really easy to keep adding criteria to a hiring process, and focusing on previous experience is one of the most tempting things to do. But, after struggling to fill roles, we:

1. Cut our criteria down to focus on generalist developers who were curious and had strong communication skills.

2. Invested in a 30, 60, 90-day onboarding plan and a structured learning process. For example, we used a pairing matrix to match everyone with someone else in the team, or across the department.

3. Identified knowledge/learning bottlenecks within the team and encouraged our colleagues to share their expertise. You’ll find that developers, in particular, love to teach and share what they know.

What’s your top hiring advice for emerging programming languages?


My top piece of advice is to focus on upskilling as it’s possibly the greatest return on investment you can make. Here’s a few key things to remember:

1. Structure is everything: It’s surprising how many team leads think that candidates can just teach themselves using available resources, when in actual fact, a proactive approach with a structured plan is much more effective.

2. Attributes over experience: What I’ve found is that everyone in the Erlang and Elixir world seems to want to hire someone with five years of experience and a deep knowledge of the language and runtime. But that’s not what they actually need. They need developers with the right attributes who can quickly fill any gaps in their knowledge. 

3. Keep an open mind: Hiring is a risk-averse process. The default option, is to reject otherwise great and suitable candidates if they don’t meet all the hiring criteria. So keep an open mind when it comes to your must-haves.

4. Work with agencies: Recruitment agencies are excellent partners for smaller companies because they have extensive networks and can connect you with candidates who are both interested in emerging languages and capable of making the learning leap.


A comment we received on one of our LinkedIn posts.

What advice would you give to candidates looking for roles in emerging languages?


My advice would be to invest in your personal development and avoid the mistake I made early in my career of relying solely on my manager. Look for people in your cohort, seek out mentors if they’re available – especially as you advance in your career. It’s easier than ever to connect with others online, and improving your networking skills is invaluable.

In general, nothing stops you from learning emerging languages like Elixir on your own time and mastering these languages can offer you a significant financial benefit. For example, the 2024 Stack Overflow survey shows that functional languages, which includes Elixir, are gaining traction and pay more than some of the established languages. It’s rough data, but the picture is pretty clear.

When hiring candidates without professional expertise in a specific language, what key skills did you focus on?


So, the first thing we did was have a simple take-home coding exercise. It was straightforward and allowed for some freedom, so we could see how candidates approached a problem, implemented a solution, and communicated their thought process.

Beyond that, we focused on three core attributes:

1. Great Communication Skills: For software developers, effective communication often means writing code that others can understand later, as well as drafting emails or documents to communicate ideas and plans.

2. Openness to Learning: Learning is what makes development interesting and varied. Your team members don’t have to become experts in every area; even spending just 15 minutes a day can expose them to a range of new topics and skills.

3. Problem Solving: Problem solving involves three key components: assessing an abstract problem, breaking it down into manageable parts, and learning to ask good questions to clarify any gaps in understanding.

To ensure new hires can successfully make the leap, what needs to be done on both the employer and the candidate side?


Employers need to realise two things. First, they should encourage their team to be curious and allocate time each day for learning as an unsharpened saw will inevitably become dull. Second, employers should regularly review for bottlenecks and opportunities for team growth. This means identifying where growth can happen faster, whether it’s in people’s knowledge, their sense of responsibility, or their overall abilities.

On the candidate side, they need to follow one principle: practice and develop continuously. With the way things are going, we might witness the end of the era of the niche developer.

What’s going to impact upskilling in the future?


The idea of fixed thinking has worked in the past because developers were the ones writing code, and you could maintain a competitive edge by holding onto your specialised knowledge. However, with the rapid pace of technological change, what you know will become outdated more quickly. This makes continuous learning more crucial than ever. The real edge will belong to those who can integrate new ideas into their existing knowledge. As the cost of writing new code decreases, the people who come out on top will be those who adapt and evolve their thinking to stay ahead.

Why did you found PureType?


At my previous company, I found that Elixir, Phoenix, and Phoenix LiveView were incredibly powerful for our use case. Once developers were up to speed, they confidently contributed to production code and proved to be highly effective. Through this process, I learned a lot about educating others, and I wanted to share those insights.

PureType is an education platform designed to help developers learn quickly while balancing professional work. It relies on feedback and context, such as code reviews, as well as follow-up to ensure that knowledge is retained. Over the next few months, my focus is on accelerating the upskilling of individuals – and soon teams – to ensure they find the platform both valuable and effective.

Expanding your hiring requirements offers clear benefits. Not only can it enhance your team’s capabilities, but it can also create a positive feedback loop. By hiring individuals without direct language expertise and investing in their upskilling, you contribute to the growth of the community. This approach not only increases the popularity of niche languages but also expands job opportunities within the field.

Need help finding candidates able to make the learning leap?