Hacker News new | ask | show | jobs
by goo 1481 days ago
I'll absolutely advocate for spending some time on the frontend to see if you like it. In addition to other roles in the past, I built a SaaS company as the founding engineer where I covered all parts of the stack, including primarily backend for a while. Nowadays I work almost exclusively on the frontend, because I enjoy it!

I think there are pros and cons of being in a specialized role at any part of the stack, but some of the things I like about the frontend nowadays is:

1) The feedback is rapid. You can immediately see and interact with the result of your work. Mocking backend data is a possibility, but when you're working on an API or other backend stuff it can be hard to imagine how it will work for the person at the end of the line. Rapid visual feedback on building stuff is satisfying!

2) It is now way easier to build maintainable applications that are easy to understand and hard to break. By using react and typescript (...and mostly writing pure functions with clean interfaces and unit testing them...) you can create tons of functionality with very clean code that's easy for others to understand and modify.

3) CSS is funky sometimes, but with things like flexbox and css-in-js (or even just less/sass) you've got powerful tools for working with it.

4) It used to be that making everything work across all browsers took a ton of effort and was the most frustrating part of FE programming. Nowadays it's pretty easy.

5) With Electron (and perhaps React Native, although I can't speak to that), frontend skills are more useful in more contexts than they ever were before.

6) Although there may be something "oncall-ish" at your company for FE engineers, being on call for backend stuff means you get paged much more and will have much more work to do, and it will likely be due to stuff outside your control. You will get paged much less for FE problems, and you will be able to do something about it.

I think also that the role the frontend has played has gotten more complex (more state, more data, bigger codebases, more stuff users can do), so I've felt that a background in backend work is advantageous when it comes to working on the frontend and can lead to great work, since backend people are often strong in core concepts like writing and testing functions with good interfaces, doing a good job managing state, interacting with networks and dealing with errors, etc.

1 comments

Thanks for the detailed response! This makes so much sense. In addition to your points, for me personally (similar to your founding engg experience) I feel frontend knowhow unlocks the ability to create side projects. So far, I have struggled with the frontend portions of these while having no trouble with the backend. I am yet to get css down and design is totally out of my wheelhouse, but I hope that I will get more fluent on the former and at least mediocre at the latter eventually.

I plan to do a 2 month project on the frontend at work and will play by ear thereafter.