But a few observations.
One, my CSS really isn’t that good. It’s, like, okay… but not pro-grade. It’s not pro-grade because I spent lots of time learning JS , React, and now Node, and building projects using them.
Two, my JS, React, and Node aren’t that good. I mean, I’m no back-end engineer at this point. I kind of like the back end but while I can follow a tutorial and get everything to work, I wouldn’t be able to build a React or Express app from scratch.
I would say I’ve spent 80% of the time on JS. But my observation, now that I’m finally getting around to it, is that my CSS and design is just sub-par for the expectations of a front-end dev. When people see my apps or sites, they are turned off because it looks amateurish–which it is. They don’t care that I learned how to use React hooks or that I made my own server from scratch.
So should someone who wants to be a front-end dev first become a master at CSS before getting into the back-end stuff? I feel like I’ve spread myself too thin and am not good at any one thing in particular.
I’m not sure if you’re confusing CSS skills with design skills.
My CSS skills are decent enough (I can translate any design into a web page), but my design skills are not really existent. I don’t use script fonts for buttons, I don’t center big blocks of text, I don’t put text on images, and I’m generally able to avoid other common mistakes and follow the basic textbook rules, but I can’t make an awesome design from scratch without stealing I mean getting inspiration from elsewhere.
Does a front end developer really have to be a designer? I sincerely hope not.
It totally depends on where you work. I’ve gotten offers from places where they want a “front end developer” because they want a redesign and I’ve worked places that have a dedicated UX designer who works closely with stakeholders and developers. Right now what I do is sort of in the middle: the overall design is already there, but when I add a new feature it’s up to me to make it consistent with that design and to follow best practices UX-wise. But also… we use libraries. I don’t have to invent my own buttons or anything.