!Library Junkie

Shaun D
Fear and Coding
Published in
6 min readAug 22, 2017

Over the last few weeks I’ve had the task of attending interviews at a whole wide range of companies, from the small start-ups setting out to disrupt an industry, to the big

corporations who have 100s of developers on board churning out a wide range of applications. I will admit that it’s not my favourite thing to do, interview that is, but it is always interesting to see what companies are doing.

One thing that is probably pretty obvious to most people by now, especially if you’ve been a developer in the market any time in the last few years, React dominates. I’ve got an expansive spreadsheet where I have kept a log of every role I have been put forward for or applied for and React takes up a good 80% of it. Its not a comprehensive overview of every job that is out there, but it is one that I think very well represents the developer job market in the UK, especially in London.

In the past 10 years I have seen frameworks and libraries come and go. Like many developers I know, I got my start with jQuery and to be a front end developer a few years ago, this was about all you needed to land a job in an ad-agency or equivalent circa 2009. That might not be true for 100% of places, but thats what I recognised back then. If you could write you’re own jQuery plugins or a very small library that had a dependency on jQuery, you were in. There were, of course, much larger libraries at the time, ones that were more like frameworks, but very few people dove into them.

Library Junkie

I consider myself a pretty generalist developer. I’ve used at some point most of the popular libraries and frameworks in both personal and client projects. I have bits that I like about them all — I like the opinionated and standards based approach of Ember, I like using Typescript by default on Angular and I like the simplicity of React — and I think in some places they all have their drawbacks, but the one thing that I don’t do is attach myself to a library. Im not a {React, Angular, Ember} Developer, Im just a developer who happens to have worked with all these tools. A blacksmith doesn’t specialise in just using a single hammer or a technique — they might be better with the power hammer than they are with the grinder, but they never *just* use the single tool — I might drag this analogy on for a fair bit, but I think you get the point.

Its become clear that many companies ( and the developers within ) have become so attached to a particular library or framework, so much so that they have the blinders on when it comes to hiring new people. Don’t mistake this criticism for being sour about not getting a particular role, on the contrary, I don’t think I would get on too well inside that company. One of the questions I always ask in either a telephone interview or a face-to-face one is “Why did you pick [Framework/Library]”. Usually the answer is “Because it was the best one suited to what we needed to deliver” but without much supporting evidence to back that statement up. I usually follow that up with “What have been the challenges using [Framework/Library]?” and more times than none met with silence. Nobody wants to point out their weakness’, I get that, but I find it hard to believe that anything is perfect in a project.

On many occasions I didn’t get the role because I was too much of a generalist, this was genuine feedback from at least 6 roles ( another 2 sort-of gave that feedback, but danced around the wording ). Im OK with that, in fact after getting that same feedback from 2 interviews, I began to start interviews like that, just to make it clear. I also went into a bit of a talk as to why I think its important not to be. I’ve seen far too many developers get stuck with a particular framework, programming language etc and then find themselves ‘feeling’ behind when a new hotness comes along. Its literally a running-joke within Web Development that not a day goes past without some new framework being the one to rule them all, that I wonder what happens when everyone eventually and inevitably moves away from React. Tying myself to a single library just isn’t in my nature and whilst there was a fair few jobs that I didn’t get because I wasn’t a library junkie, I don’t intend on changing that.

Fully stacked

Its been a fair few years since I started regarding myself as a Full Stack developer, despite most of my actual ‘paid’ work being as a Front End developer. Full stack seems to mean a lot of different things to people. For some it just means that I can write server-side code as well as client side. For a few it simply meant that I could write the Full Stack for the client side (HTML. CSS, JS) along with some build tools. Full Stack, to me means all of these things in addition to some dev ops. I strongly believe that for any half-decent sized project, a devops is required purely to take care of everything they can do — they can whip around AWS CLI much fast than I can navigate endless menus in the browser — but I have always found that a project can move faster if there are some developers who are able to easily articulate to the devops person what is required, the smoother the project will run, also if the devops person isn’t available, all hell wont break loose.

I don’t use the term Full Stack developer in order to demand a higher salary, I use it so that someone who might be interested in hiring me knows exactly what they are getting. They don’t have to hire me for a full stack role, I am more than happy to work on either the client or the server, but they will have the knowledge that I am able to work across the stack and potentially help in any of those areas.

However, it appears that recently this has held me back from getting roles. Some additional feedback I had received had been that the employer worried that I might be bored just doing Front End development and not have the opportunity to work on the server side. This has been the feedback on more than one occasion, so much so that I have actually considered removing it from my CV, either that or having a few variations of my CV to be used.

Future developer

All this has got me thinking about what it might be like for developers getting jobs in the future and what we should be prepared for. What advice should I offer to those developers who ask me “Should I learn X?”. My answer up until now has been to build upon core JavaScript skills ( or other programming languages ), Libraries and Frameworks are simply using different approaches to get the same thing done. Learn about declarative and imperative programming, learn more about functional programming, learn the newest features of your chosen language, then when it comes to using a framework, you are much better armed to understand what it is doing and will learn its nuances much faster.

From my collected data on the past month (UK/Europe Only), looking at Job sites and speaking with recruiters, my conclusion is that there are significantly more jobs for React developers, this includes React Native, however, an Angular developer appears to be getting initial higher salary, on average around £10k more for permanent and £50 more per-day for contract. React roles tend to be more prevalent in Ad-Agencies and StartUps and Angular roles are in giant corporations and financial institutes.

For now, I’m going to stick to not being a library junkie.

I posted this originally on my own blog http://www.kodacell.com/post/library-junkie/

--

--

Shaun D
Fear and Coding

💻 Freelance creative tech. 🚀 Rocket Man.🥋BJJ White Belt Noob.