But when I pause and think about it, I honestly did not enjoy it because I was “bad” at it. Plain and simple. My ego was hurt when working on frontend and not having the same productivity as backend work. It hurts when a feature takes 3-4x longer compared to working on a backend feature of similar complexity. This resulted in a self-reinforcing loop, where I stifled my learning because I was “bad” at it only to continue staying at the same degree of proficiency (bad) from not investing in it.
As I have gotten older, I decided to let go of these notions and approach frontend with a fresh perspective. This means allowing myself to endure the feelings of being a novice at frontend. This also means being okay with the constant change. Also, I joined a full-stack team, so that adds motivation.
So I started by going to React.dev. One of the tutorials was building Tic-Tac-Toe2. The tutorial was polished and interactive. The learning experience felt great. Some questions I had were foreseen and addressed. Also, the ability to fork code examples made going through it frictionless. And I learned a lot in the process3.
I found myself wanting to go deeper from this positive experience. I wanted to better understand what was happening under the hood, such as “what causes a component to re-render?” (Hint: many things). In conclusion, frontend does not feel that bad, although I am aware I am just scratching the surface. It might be, time will tell.
By meta, I mean the patterns and paradigms. As an outsider, they seem to change often. Some examples that come to mind: React changing from class to functional components and going from Enzyme to RTL. ↩︎