Front end Engineer identity crisis
So recently, I listened to a topic about two vastly different approach to front end development on the JS party podcast(great podcast btw you can find it here). It was talking about this article from CSS-trick, "the great divide". The main idea is that there is two types of front-end engineers, the UX engineer and the javascript engineer but many companies treat both as the same.
I think is that it is mainly due to many graduates are coming from software engineering and computer science backgrounds entering front-end position, they bring their knowledge and approach to programming into their front-end work. Concepts like the SOLID principles are now being applied to front-end development. It turns the website from a design problem into an engineering problem. Don't get me wrong, there nothing wrong with that approach. For many projects, the product manager might think that solving the engineering problems first is better and iteratively improving the design later is a better development flow. But this line of thinking does mean that the design of the application will be in 2nd place. You can see this example in many of the applications. You can find start-up websites or just the info page for website and it will have bad css properties and produce miss-alignment on different screens or horrible responsive views.
I myself actually lean more towards the javascript engineer. I love react and using SOLID principles in javascript and aiming to learn typescript in the future in improve the engineering aspect. React itself is like an engineering solution to front-end with its OO-like design and conditional rendeinrg. For me, I would want to move towards that direction as I improve my knowledge base. I have to admit, UI libraries does make me feel learning advance css, sass, postcss to be optional. A lot of Full-Stack developers are actually just back-end developers that can do front-end. Doing data management and creating solutions for complicated logic is what I live for. But I would argue that companies need to reevaluate that is more important for their product. Does user experience provide more value than application logic. The problem is that javascript developers are being pushed to UX but only willing to do the bare minimum.
As software development continues to be more complicated and the tooling just keeps increasing, people need to be more specialized. For small companies that may not be able to allocate the resources, the approach is to get really good one thing whether its the business logic or design. Some might argue that people should learn both html/css and javascript and treat both as equals, those are a rare breed of developers. Because both are very different and require more learning time. Career wise, it make sense to gravitate towards a certain path. I think salary wise javascript developer are paid more than html/css developers. It is just the perception that their work have inherent less value than business logic. I think its just the nature of company structures. Higher positions decides the business requirement and the ones that implements the business requirement have a higher perceived value in the company. Also improving the business logic can save cost which is easier to quantify compared to better design. I predict that eventually, UX designers might move towards becoming UX developers as both really compliments which other.
This does not mean don't specialize in html/css, you just have to find companies that values are the same as yours. Honestly, my advice is to developers is that you have to show companies the important of your skillsets and for companies or product managers to think if they need a UX developer instead of a front-end developer.
Disclaimer: I'm still new to writing,so please point out any mistakes by commenting below.