In the web development world there’s been a load of discussion about learning/knowing CSS, the cascade, CSS-in-JSS vs CSS-in-err-CSS recently.
I’ve largely not taken part mostly because I see these things as tools: you use the one that works for you and your project, and no one is right or wrong – you’re allowed your opinion (but do express is kindly, please).
This isn’t to say that learning the cascade isn’t something you should do (if you work on the web, it’s probably helpful to understand the cascade), and it isn’t saying that you should avoid work by just lazily doing whatever you’ve done in the past because it worked then and it should work now.
I’d say that learning CSS is easy and learning CSS-in-JS is easy; what’s hard is learning how to decide what is the best tool to use on your project. This is the difference between knowledge (which is easily gained) – and wisdom (which is gained over years of work and much trial and error).
But anyway…the whole thing ended up with someone suggesting to me that “the title ‘front-end developer’ is pretty much synonymous with React now.”
But now, because front-end can include any of the popular JS frameworks, the description of that role has significantly changed and now includes doing routing, data storage and manipulation, interfacing with (and creating) APIs and so on.
When discussing this with someone else it was suggested that “all developer jobs are full stack now” and that’s because all the stuff that used to happen in the “back-end” can, and frequently does, now happen in the browser.
And so our job titles are all messed up. I think we need some new ones that better distinguish between the disciplines of web and application development. Along the lines of “visual developer” and “data developer”. Hopefully you get my meaning.
So we need terms that better describe our disciplines. I’m happy to take your suggestions in the comments.
In any case…I love my self-proclaimed job title of “Creator – Engineer – Advisor”. It perfectly sums up what I do without tying me to any particular discipline or technology! So why not make your own, like I did?