Ask HN: I don't like front end anymore. What should I do?
I self-learned frontend, because it was easy to start a new career with it.
I'm overwhelmed quickly when i have to solve a (simple) problem with javascript, so i think backend would not be an option.
I did some UX but don't see a real career in UX for me either. I'm an introvert. I like writing, thinking about creative ideas and i like to research things.
What are my options?
15 comments
[ 2.3 ms ] story [ 39.8 ms ] threadIt’s normal. You’re early in your career. The big thing to realize is that googling is your best asset. People have done this before or asked questions about how to do it on Stack Overflow.
Just keep learning. If you’re like me, you won’t have a specialty. You’ll know a little front end, a little backend, a little bit of design and photoshop, a little bit of devops. It takes time to learn and be proficient. Lean on the more senior engineers on your team. Ask them to start a weekly lunch and learn.
You’re on a journey, not a sprint. It takes time, but you’re gonna be okay. Don’t panic. Just keep learning and growing.
I still feel overwhelmed from time to time, with 10+ years of experience, degree, worked at multiple 'great' companies, led people, did literally everything. This doesn't really go away, but you get less of an issue with time and quite fast. I'd just give it time, software dev salaries are too good to pass. Other occupations can barely make ends meet.
Here are some links from the GOV.UK website to give you a flavour of what they do
Content design: planning, writing and managing content:
https://www.gov.uk/guidance/content-design
Posts on writing at the GDS (UK Government Digital Service) blog:
https://gds.blog.gov.uk/?s=writing
And just to re-iterate what others have said: it's perfectly natural to feel overwhelmed at times, or to struggle to understand things at times. So don't feel too disheartened, everyone experiences these things and it isn't unusual at all.
So I've been thinking about this...a lot. On the engineering front, I'm going to try and devote some time to problems and domains I haven't burnt out on yet. Embedded, game dev, AI, etc.. At the end of the day though, programming is very much programming. You have to identify what drives and compells you.
To that end, I'm looking at the people who I admire most for how and what they do for others, and trying to see how I can do the same. For me, this is John Carmack, Armin Van Buren, and maybe PewDiePie, among others. I have no answers yet, but we'll see where it goes.
Edit: I'd add that I don't buy a notion of "just doing it anyway" for the long term. Sometimes things suck, and yes you gotta grind through, but not long term. That's a good way to get depressed, fat, and hate yourself. Better to re-route and explore if you can.
If you have mostly been using HTML and CSS for front end development then you could focus more on the information graphics side of things (read Tufte et. al.) If you really like to code in other languages then you could get into shaders for the graphics side of things or data science if you want to do more researchy stuff.
I personally learned a lot about problem solving from trying different language paradigms: being forced to tackle things from a different direction - so you could try some ClojureScript or golang (if you want to give the backend a try).
If things still don't click, then there's various different roles in software projects, the bigger the product the more diverse the roles: you can probably search a job board for "software" and see what comes up if you want to stick in the industry and get an idea for what else there is to do.
Woah, that's a broad statement. At least with frontend you have stuff rendering fairly regularly so you can figure out pretty quickly when your font server goes offline. When you're three layers of real-time, mixed priority interrupts deep and you've forgotten to debounce one of your buttons things can get pretty frustrating quickly, especially when you've just realized that the dev board you bought is too old and doesn't interface properly with the latest rev of chips you bought.
The truth though is JavaScript is a hard programming language. It has different environments like the browser and node. It has these specialized language transformations like babel that let you do different things based on experimental ES proposals.
How do you measure competency as a programmer? I've done very intricate stuff around CMake and tested stuff to run from source on multiple OS. I've contributed to a diverse array of open source projects across many programming languages and platforms. Despite all that - webpack/babel/node's behavior boggles my mind.
I question my competency routinely and look back and am confused at how I written such bad code. Even though at the moment I felt accomplished and think I've finally wrote something "future proof" and in good form.
It's okay to give yourself more time, if you're willing to. Frontend programming is so hard and moves so fast. There's no such thing as mastering it since every 6 months there's a leap in toolchain / libraries / etc.
If you are willing to grind it out, I've come to love TypeScript and React w/ hooks and find it scales very well on large projects. It is possible to get into a flow with webpack and co. if you can give it time.
I think you be able to build and see something you’ve made working fairly quickly which would be a big confidence boost.