"Hello, what do you do Dan?"
"I'm a front-end developer"
"What's that?"
"I don't know anymore."
I've had that conversation a few times over the past couple of years or so. I tend to just say that I make websites look pretty or that I do the colouring in and people accept that and we move on but even now, I'm not sure that is what I do or at least covers what the role of Frontend developer is.
It used to be very simple. I would design stuff in Photoshop, build in Dreamweaver and that was it. jQuery came along which blew my mind and still does at times and of course things like Sass and Gulp were introduced but they were there to help, not replace. We still at the end of the day produced HTML and CSS and “made websites look pretty”
Fast forward to the present day and what I see as front-end development and the language people use has changed dramatically. There's no denying, Javascript is very much the leading skill required if you want to make it as a FE dev these days. Look at any job spec and you will see things like Angular, React, Vue, ES6. The big money seems to be had if you can master these things.
I work with Magento and these days we have Magento 2 which is a vast difference to Magento 1 if truth be told. With Magento, as a FE, you need to know about XML and PHP ( to a degree ) and Magento 2 has introduced require.js and Knockout to the mixture.
Now you are probably reading this and thinking… "And? Just learn it and get on with it. It's your job"
The problem I have with FE is that every time you look away, something else becomes part of the job to the point where I actually think Full Stack Devs might actually become a thing and not some made up Linkedin term. But at what cost though. Something has to give. We can't be good at everything can we?
I recently saw a job advert that made me wonder whether the end was nigh.
Core skills
– Experience JavaScript frameworks (Vue, React, Angular)
– Experience working in Agile environment
– Excellent problem-solving skills
– Excellent communication skills and ability to work well with others
Nice to have
– Full Stack experience (Java, Python, Mongo DB)
– DevOps capabilities (Linux, AWS, Terraform, Ansible)
Two things stuck me. Firstly, no mention of CSS, HTML or indeed Sass or Less. Now it could be they see it as a given you will know this stuff inside out so they don't need to mention it but when I read this line "you will be maintaining a suite of cutting edge UI portals across desktop and mobile" it made me think maybe they do need to be bringing in someone who is pretty good with them skills so why not see it as a core set of requirements.
Secondly, the nice to haves. Where the hell did they come from?
Now I know, it's just a job advert. But I've seen many others where it seems from the outset, the core set of skills I value to be important are falling by the wayside to these more “programming” set of skills.
Which makes me think that maybe Frontend Development needs to either branch off into 2 camps or I stop calling myself a Frontend developer.
I know FE devs who say they can't design whatsoever but they really know JS well and have some of the nice to haves from that advert. To me, it took a bit of time to accept that they were not just backend developers doing my job but then again, maybe I'm a designer who can write HTML & CSS in a Frontend role.
We have skills that complement each other so does it really matter?
But will companies accept that. Can we have mixed FE teams. Is there value or is the full stack approach the way to go where FE devs are everything. We have a clear line between Backend and Frontend but can the same be said about Frontend and the split between the more UI designer types and the programming JS types?
Part of me feels maybe the creative side of frontend development is dying a bit with all the tools and frameworks at our disposal but it could just be that that is a completely new role in itself. What we should remember is though that HTML and CSS are still around and still as important as it was back in the day and improving year upon year. You only have to look at stuff like CSS Grid being introduced.
I honestly don't know what the future holds for the industry and the roles out there but I'd hope there would still be a place for someone that knows CSS and HTML pretty well and we've not become a JS only club. That would be shit.