Tuesday 30 January 2018

The challenge of recruiting Perl developers

Many employers have a real challenge increasing the size of their Perl team. First we’ll work out the reasons recruitment is so difficult for a Perl team, and then we’ll bounce around some ideas on how to overcome these obstacles.

According to StackOverflow Perl is one of the most highly paid programming languages

and although that’s nice for Perl developers, it’s a symptom of the struggle many companies have to expand their Perl teams.

A lot has been said about Perl’s image as a legacy language and according to the most recent StackOverflow survey, it’s one of the most “dreaded”. Having dug a bit deeper into what developers are saying I’ve found that it’s about the reams of Perl written in the dot-com boom where lots of non-developers were using it to put together amazing businesses - on a mountain of tech debt.

However, possibly the greatest obstacle to expanding Perl teams is that the language is almost never taught in academia. This is because it’s designed as a “natural language” - very expressive but difficult to teach unless you’re immersed in the language. As a result, the Perl developers are the small number of people who have learned Perl on the job.

Therefore the question is - how to make your workplace friendly to people coming in and learning Perl on the job? Of course, the provision of Perl training as part of the onboarding process is a good start but where to from there?

The first approach is to identify the parts of the code base which involve simple repetitive coding patterns. The ongoing updates to these components are simple enough to use as a learning environment for developers to practice their Perl. Once they’ve done a few of these, they can move on to more engaging and interesting parts of the code.

The second prong is to cut back on tech debt and bring other languages into the mix. A nice example is David Farrell's article where a single page of a mostly Perl website has been rebuilt in Go.  Take a change to business requirements as an opportunity to break down crufty old code (the stuff which makes developers start flicking through job ads) and turn it into micro-services built from scratch. Take a rigorous approach to deciding on the right language for the job - following the principle that Perl is a "duct tape" language. At this point a part of your code base will tap into another language and developers of this language can join your team not as junior Perl developers but as experts of that language, ready to add Perl to their repertoire.

No comments:

Post a Comment