Thursday 12 March 2015

Where are all the front-end developers?

I found this brilliant blog post by Jose Aguinaga (here) and it got me thinking about the reasons behind the shortage of software developers in London - especially in front-end. I want to reflect on and summarize some of Jose's ideas and add a few of my own.


Context

I don't have the frustrating experience of many recruiters - when I speak to most companies, they tend to struggle to find developers, which makes it a much easier conversation for me! Often, they are happy to talk about the difficult condition of the market, and how I can help. That's a nice position to be in! But it leaves me with a problem to solve; I need to know where the front-end developers are...


It's Not as Challenging?

Jose quotes a user who points out that, since front-end development is easier than other fields of engineering, the shortage seems odd. It's a premise that I've come across in many conversations actually - particularly when speaking to back-end developers who believe their job is harder or, at least, more 'serious' engineering. I've also had clients comment they'd like 'a back-end developer who has turned to the front-end - but that never happens', as if front-end development is just a step one takes in the journey to becoming a 'proper' programmer. Perhaps this stigma (though diminishing quickly I would say) is still a reason why many developers don't focus on the front-end, abandoning it completely to move into back-end or choosing to use it as part of their full-stack skill set.


It's Misunderstood?

I think the big problem is distinguishing between being a 'front-end developer' and a 'front-end engineer'. Another of Jose's arguments is that front-end engineering is a relatively new area, with the 'engineering' part being added only recently. No longer is the front-end just visual design (not to undermine that, either), but what is technically demanded of the front-end is getting so much steeper. What many people might believe a front-end developer does is vastly underestimating the role, if you're looking at the responsibilities of a front-end engineer. Which skill set does a company need, what is it really looking for?


There is a Low Barrier to Entry?

One of my favourite points from Jose's post is that, because it is so easy for anybody to learn to code now (free online courses), anybody can learn HTML and CSS (a bit like I did...) and then call themselves a front-end developer, indistinguishable from a hard core front-end engineer. The fact that there are many bad or perhaps inauthentic front-end developers means that it is much harder to identify the good ones who have sound engineering principles mastered.


Lack of Exposure

There are, of course, many ways into programming, but it seems from my experience that a large number of the most passionate programmers I've met wrote their first lines of code at a very young age. Granted, this kind of personality was probably more likely to look in the right places to stumble across programming but, for many children, perhaps they just didn't have the exposure. I think this is something that will be changing over the next decade. Children are being taught programming now in the UK from as young as 5 years old. Besides this increase in audience engagement with the young, I also think the image of IT has changed drastically. No longer are programmers the humorous but socially awkward geeks of shows like The IT Crowd - they're millionaires, CEOs, Entrepreneurs, Game Changers. Brands like Facebook, Apple, Google, are sharp and attractive to young job seekers. If we, the general public, are to understand how our technological world works, then we need to step up and take an interest in how it all fits together. We know how to write in English, why not JavaScript? 



Becoming a true front-end engineer, master or mistress of your craft, demands time, practice, dedication and patience. The exciting thing, though, is that the front-end developers of the future are everywhere - they're children and students, they could be me; they could be you.