Ask HN: I don't like front end anymore. What should I do?

31 points by t-90-- ↗ HN
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 ] thread
We all feel this way from time to time. I’ve been writing software for ten years and I still feel like an imposter. I feel like someone will find out I don’t know what I’m doing and I don’t have all the answers.

It’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 guess you are on the same boat as everyone, but others are more willing to eat it up in exchange of money.

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.

If you like writing, could technical writing be an option? Writing documentation, user guides, API instructions, and so on - the field for technical writing is fairly broad. The audience doesn't have to be other technical users. The GOV.UK site has lots of posts from 'content designers' who write and research. Could this type of role appeal?

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.

I'm at the same place I think. If we're similar, part of the draw of frontend initially was that it was a true and interesting engineering problem. It was a unique and challenging skill to get basic designs and stuff working cross browser. Now, it's sort of a matter of just re-solving the same problem—even more damning if you've come to the realization that most products are ppintless conduits for money and nobody cares what you do—which just isn't compelling if you're driven by having an impact or doing something novell.

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.

How strong are your coding skills in other languages such as Java, Python, etc.?

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.

If you enjoy researching and being creative, then maybe you can experiment with some online koans, watching tutorial videos, an online course or even coding competitions to get more exposure to how developers solve various types of problems differently. You might see some patterns that you understand and help you develop.

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.

How about your learn WordPress? Its easy to pick up
Give embedded programming a try. There is a good mix of solution's between electronics and writing code that it keeps things interesting. As well, you don't have heeps and heeps of stacks on-top of each other. It's fairly close to the metal and far simpler to work thru issues that arise. There is an endless array or embedded projects that you can get yourself into, from solar, automotive performance, hydroponics, home automation to anything where computers have to interact with the physical world.
| far simpler to work thru issues that arise

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.

Fair enough, my comment was more geared towards the getting started in embedded (i.e. Arduino, Raspberry Pi, simple automation) than getting deep in the weeds. I should have been more clear in that regards.
> I'm overwhelmed quickly when i have to solve a (simple) problem with javascript, so i think backend would not be an option.

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.

Why you think backend is hard? In general javascript is hard language and not intuitive. I would recommend you try to play a little with python and see how it goes, it should be easier and more fun. If you like writing you can also try to explore being a content writer for websites or do some marketing.
I’d recommend trying to build a simple ruby rails app. No JavaScript and use all the scaffold stuff that creates basic code templates for you to then edit to your requirements.

I think you be able to build and see something you’ve made working fairly quickly which would be a big confidence boost.

System admin. Learn Unix/Linux, and the docker api/dsl, and you can go very far. I was in your shoes about 5 years ago and learning systems eng is the best thing to have happened to me. I think what makes it 'easier' is that most ops processes are very linear, they start at a given state A and step by step you bring it to state Z. Good luck!