The undervalued skills
Let me start by establishing some common ground with Chris here since I don’t fully agree with him on everything.
Another interesting read on this topic is HTML is the Web by Peter Lambert, it describes how knowledge of semantic HTML, HTML in general and CSS is declining with the rise of frameworks like React and Vue. Knowing
span is seen as enough because you are not writing a HTML document you are building a React app.
A walk on the native side
An idea that is repeated in “The Great Divide” is that we should embrace the divide and create specific roles for the different skill-sets. Here I disagree and the reason I disagree is because I am a full-stack developer.
One of my immediate thoughts after reading “The Great Divide” that has been stuck in my head since is: As an iOS engineering you have to care and be good at all of it. General purpose programming, UX, networking, UI, accessibility, layout, testing etc.
As an iOS engineering you have to care and be good at all of it. General purpose programming, UX, networking, UI, accessibility, layout, testing etc.
I have worked as an iOS engineer for significant chunks of my career and on iOS there has never been a divide because to be a great iOS engineer you have to know it all. I believe this is down to the history of iOS and other native platforms which all have and always had an turing complete programming language at the core. You couldn’t be an iOS developer who focused solely on layout, UI, and UX because it always required knowing Objective-C and programming in general.
The great embrace
This all leads me to believe that the conclusion is that we need to embrace the change that has happened to the front-end role. If iOS engineers can do it, why not web front-end engineers?
Not to say that you should not have people who are specialized within your team. For example my team has varying levels of accessibility knowledge with some members being the team’s experts.
In conclusion the role of a front-end engineer has grown and being a good programmer is now also a requirement, but crucially being a good programmer is not enough you should know HTML, CSS, accessibility, and ideally have an eye for good design too.