Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: I love coding, but I hate web development. How can I “jump ship”?
59 points by highwaymann on Aug 25, 2021 | hide | past | favorite | 41 comments
Hey everyone.

A little background: I’m a backend developer. I have around 7 years of experience working on various backend code bases in PHP, Python, Node, etc. I also have a masters in Software Engineering.

I got into web development because in my home country that’s your only choice as a software grad. You’re either a front-end/backend dev or you’re unemployed.

I was completely fine with the job in the first few years because it was easy money. But lately I’ve been thinking about moving to different areas (game development, embedded, etc.) to explore a little especially since I moved to north america a while ago.

But honestly after all these years working on these start ups and “fast-paced enviroments”, i feel like i’m not in touch with the basics and fundamentals anymore to make this jump.

I’m not sure about the best way to go about this. Do I need to read books? Do I apply to specialized junior positions that interest me? Do I need to get the comp-sci notes out?

How would you do this? What’s your advice?

Also I’m 31 right now (not sure if it matters)



I was in the same boat a few years ago. Been a web dev since 2002. A first step was to start freelancing/contracting (since 2013), so I had shorter engagements that I can move on from after a few months.

With the increased wages, I could afford to take summer holidays off and spend it with my family, and work on passion projects.

That's when I really got into game dev (2015). I made a bunch of small games, a lot of them throw-away/unpublished. I then started learning game design (from books, Coursera), but really thought I'd benefit from doing it with others, so right now I'm half-way through an indie dev masters [0] (Falmouth flexible).

The masters has been great, because it's self-directed learning, and I've built a great network of collaborators. I've just set up a Patreon this week, and will be slowly building up a sustainable indie dev living. (I'm already down to 4 days a week on my usual career.)

I've read so many stories of folks saving up a year or two's runway, only for it to not work out in the end, so I'm trying to be as prepared as possible. I'm learning as much as possible right now about finding repeatable success as a game dev.

I'm 42 this year, and not the youngest in the cohort, but surprisingly also not the oldest. (Got a couple 50+, and a few other 40+).

This is just my story. I sincerely hope you find something that you can fall in love with again. Good luck!

0. https://www.falmouth.ac.uk/study/online/postgraduate/indie-g...


Thank you for sharing your story, I love webdev and development in general, but burning out in corporate culture. Maybe I should slowly move into indie development.


One of the most fulfilling roles a software engineer can have is to work in orthogonal industries where software engineer role doesn't exist. It can backfire, but if it works - you'll make massive impact, get treated like a genius, make a bunch of friends, be the go-to toolmaker, you can form a team by showing the value of automating things, generally teach and mentor others about software, it is just so fulfilling. It can backfire in the following way: Management sees software as a thing that just appears out of thin air, drive you to ground and trivialize effort it takes to build something, unreasonable requirements - "Can't you just use computer vision AI thing to _____?". The best way to do this is to join a 25-50 people company. Not any bigger.


This sounds great. I'm assuming you have first hand experience with this scenario. Would love to hear more details such as type of industry, how to find, etc. Do you happen to have a blog or something with these details?


Yes, my entire first half of the career was in such an orthogonal industry. I learned how to write software out of necessity and now that I am working in a software engineering team, I kind of miss my old days. There were no endless jira tickets, no code reviews, just pure solving problems and fixing things. You can try to write letters to companies in agriculture, food production, manufacturing, chemical plants, beverage (wine, beer, etc.), textiles, construction, lumber, etc. Pay won't be good but if you have what it takes, can definitely become a favorite person of the whole company and depending on leadership skills, you can rise up quickly and start taking on bigger responsibilities. An example would be finding manufacturing defects in production lines - stick a bunch of cheap industrial cameras, use OpenCV to build an app that can detect them, use polarizing filters to remove plastic wrap glare, automate barcode scanners with ultrasonic switches, collect important manufacturing data such as units/hour, build a statistical process control system, build GUIs for operators, etc. In your letter explain what sorts of things you can do for them.


Around your age I got fed up with webdev and moved into game dev. Took a massive paycut to do so, and worked my ass off like never before. But it probably set back my career because I ended up having to go back into web dev anyway after a few years after the company cratered.

I've now been out of the game dev industry for many years, but last year I took a brief contract doing that work. At $40/hour - which maybe is adequate for the 3rd world but not for the US. I could make nearly that much driving a truck.

So I don't recommend game dev. Unless you are a rock star, expect to be working a lot for peanuts. I believe even the actual gamedev rock stars could be making 2-4X by leaving the industry.


> At $40/hour - which maybe is adequate for the 3rd world but not for the US.

In a full time job that's $80k/yr. Median household income in the US is only about $60k/yr.


$40/hr contract rate means you have to pay your own taxes, healthcare, etc. In reality, that's about $45-$50K/yr job depending on your location.


For a single person that's still hardly third world wages. Besides which, third world compensation probably doesn't include health care costs, and median household income is calculated pre-tax anyway.


Why would you compare to the third world? The post was stating US median salary of $50K. I’m comparing that to contract rate.


> At $40/hour - which maybe is adequate for the 3rd world but not for the US.

Because the original post compared $40/hr to 3rd world wages. Which is ludicrously out of touch.


It wasn't full time (which I guess I failed to mention). They could only offer 20 hours a week. Also the hourly rate was lower, I don't want to say how much to avoid doxing myself since some people from that company hang on hacker news.

You're talking about median income but not expenses. Have you considered rent/housing costs? Health care? Car repair? Basic utility costs? Saving for retirement? Paying off debt? Especially in the light of recent inflation? As one example, my car is 24 years old, its falling apart, but with used car prices right now its pretty daunting to consider replacing it.

And my taxes are quite high - mostly SALT stuff, which is pretty regressive. For federal, around that income level you have to be careful not to exceed 400% FPL since you may lose the ACA subsidy and thus owe thousands more. ACA plans are _not_ cheap.

Sure I could move to a VLCOL area. If I can rent or find house, in good shape, in a non-blighted area. Not sure if you've ever driven across the middle USA, but it isn't generally the most pleasant place. And if I want to buy I have to get a mortgage, which isn't easy in the US if you are self employed and _especially_ if you have low income. Probably impossible right now actually.

Have you ever tried living on even 20 hours a week at $40 per hour, in the US? If not, I encourage you to try, especially now. The US is just not a friendly place for people working hourly on low wage, most people doing this are just struggling, which is why I think my 3rd world comparison is still valid.


> You're talking about median income but not expenses. Have you considered rent/housing costs? Health care? Car repair? Basic utility costs? Saving for retirement?

You think the people living on the median household income in the US don't have to worry about these things for some reason?


$50k is a bit less than double a median US salary.


Start applying to roles that interest you and see what happens. Even if you don't land any, you'll figure out what you need to improve on.


For me, that was unfortunately a swath of things I just can’t reach myself.

Or at least, things I can put effort into learning, but not to a baseline where I’d be considered a fit for the roles.


Don't judge your suitability, let the market judge your suitability. The demand for talent is insane, you'd be amazed how many companies are willing to hire and give you a chance, particularly if you can at least demonstrate competence in some other area of software dev.


I can demonstrate this or that, but I feel like the traditional resume does a really bad job at conveying competence anything not directly related to past professional experience.


Ideally, your LinkedIn is setup with keywords that recruiters for the jobs you want are looking for. Then you can skip the resume phase altogether with inbound interest.


As an exercise, implement a small Scheme interpreter in a language like C++, Java, or C#.

This only takes a few days but you will quickly reach to the very core of computational foundation. Once reached, you'll never look at software with the same eyes ever again.

The experience will change you and your life for good. Some of the benefits:

    - You will understand what the computation really is
    - You will start to adore the math, and algebra in particular
    - You will understand that a general computation is just tiny but extremely powerful abstraction over math (Turing completeness)
    - This will open access the widest palette of instruments and approaches already present in math through hundreds of years
    - You will get a totally different take on JavaScript. You will start to adore it, as it's just a LISP with C syntax. Extremely powerful yet simple
    - You will understand any language and any programming system because you reached to the roots of computational theory
... and so on. I am sure this simple exercise will open the endless amounts of possibilities to you.

Well, that sounds like a cheesy marketing intro into some book, but hey, this is the truth. Good luck!


This seems overkill. You don't need to understand Turing completeness to work on the backend. OP just wants to get out of web development.


i would argue that backend is basicaly webdev too. it seems like OP wants to get into application development, or embedded systems development which I would argue is wildly different.


It might not be entirely relevant to your situation since this happened at the start of my career but I somehow ended up going from Ruby on Rails development to working on C++ networking code in the games industry. The way I did it was by starting with backend development on games and eventually getting to work on the internal SDK used by the different projects to communicate with the backends. I now work as the equivalent of a full stack developer where the frontend is a game engine running on a console devkit instead of a JavaScript SPA running in a browser. This might be some form of survivorship bias but getting your foot in the door of a new industry/area with some skills you already have and slowly moving towards what you're actually interested in worked for me.


It sounds a bit to me like maybe "all these years working on these start ups..." and such has you burnt out on that sort of environment, as well.

Web dev to embedded is pretty much the biggest jump I can imagine. You'll definitely need something on your resume besides 7 years of PHP, etc. if you want to try this. The good news is that if you're determined to go this route, you can get some of this experience working with Arduinos and other fun little microcontrollers.

As far as games go, if you hated the "fast paced environment" of a startup, I'm gonna guess you'll hate game dev.

If you want to play to the strengths of your experience, you can probably find a home at a larger tech company, one that's not so startup-like. A larger company offers a lot of advantages over startups: you get to see what a mature tech stack is like and how it all fits together; you have opportunities for mentorship; and a large company has processes & procedures that are mature and tested.

If you really are as out of touch with the basics as you claim, you'll definitely need to study Leetcode to have the best chance at many companies. And, I wouldn't be afraid of being downleveled to a mid-level position, as opposed to a senior level position that would befit 7 YoE.

All this stuff is just my humble opinion, and mine alone. Given that it's free advice, I will, however, guarantee that it's worth every penny you're paying for it. ;-)


Would anyone care to help me understand what, if anything is wrong with this advice and perspective? You and I can both see that the parent comment is grey, but I have no idea why, and I'd like to understand.

Thanks in advance. Y'all are great, and I mean that. :-)


You were probably downvoted because you proposed and answered a different question. They may or may not be burnt out, but they've identified Web Dev as something they don't want to do, and also have no trouble actually doing. They were looking for advice on pivoting into a different discipline of programming, but you mainly offered advice on pivoting into a different kind of company within the same discipline.


For embedded and system programming roles, try applying at companies which evaluate you only on generic coding skills, and then learn on the job. Typically these companies use C, C++, or Rust for low-level software and perhaps Golang or Java for middleware. Assuming that you're familiar with one of these languages (or any other statically typed language) and concepts such as multithreading, event multiplexing API (epoll in Linux or libraries such libevent), you can start applying right away.


> But I hate web development. How can I “jump ship”?

Hate is a strong word. Eventually you will at some point have to write boring HTML and CSS and maybe some Javascript.

I don't hate web development, but I have grown to dislike the rapid pace at which that industry changes. It seems the minute you think you have grasped it all, the whole ecosystem changes. New HTML elements come out. New build systems, libraries, even entire stacks come out (Think JAM stack etc).

However as an industry, web standards have matured to a degree that writing a SPA is an allowed thing to do. It used to be you'd have to cater for a bunch of browser quirks for different browsers. Now you can safely write something in Firefox and it will work in Chrome with no cross-compat coding on your part. I will give the webdev scene that, but it still changes too frequently for my liking. So you've just mastered React? Watch out, because gatekeeper recruiters will put 'Must have strong proficiency in Svelte' just to annoy you.


I'd recommend trying to work a place that has both web dev and the role you want, then try to move within the company itself after some time there. Could be more gradual and you can see what the day-to-day work is like before you jump in.


Game dev and embedded require very different skills but both widely use C/C++ so if you have knowledge from that area from your masters studies, then you could refresh your knowledge in those areas. Perhaps doing some projects in Rust might be another option for you.

If you like working with Python then DS/ML/AI might also be an option.

Look at the job listings in your area and identify what domains and skills are in demand and then craft a path to get to the area that most suits / appeals to you. Sometimes you may need to take a cut in pay to enter a very different field.


Do you not want to work with web technologies (JS, PHP) or do you simply not want to make websites?

There's other easy options if it's the latter. e.g. JS lets you work on TV and there's emerging new AI applications, so you could probably make a smart fridge and such.

If you explore things like app development, which isn't a large shift, it opens up a lot of doors - drones, IoT, maintenance. There was a job I applied to years ago where they'd attach old phones to rocks and used it to detect poachers. Another one involved prepaid solar power distribution to poor people in Africa. Or things like FireChat which was used as an alternative communication tool when floods brought down telco towers.


How about mobile development? You can reuse some of your experience there. Does Swift or Kotlin/Java have any attraction to you?


There is still lots of windows software being made with WPF or winforms. You could learn that and maybe find some work in that.


Nobody here is mentioning data roles, which are very well paid and very much in need. Maybe look if data engineering is for you?


Could you please expand on this? When you say data roles do you mean data analysis? Or something like Machine Learning etc?


> Maybe look if data engineering is for you


I'm working as a fullstack engineer (nodejs+react), sometimes the front-end work is a bit more annoying, particularly now as I'm making a new webapp from scratch with mockups (sticking to mockups is definitely the most annoying part for me), but I think it's important to also do the annoying part in a job, just like chores.

Can you work in your current job as fullstack, alternating back-end and front-end?


Build a useful GUI app on desktop, make it free and add ads for income


What motivates you the most - money or alignment with your natural interests? Look around the job market and pick a position to focus on that strikes a reasonable balance between the two.

Embedded systems engineers command great salaries, so do full stack engineers. I wouldn't recommend game development if you want to continue enjoying it as a hobby, the industry notoriously burns people out quickly.

Once you've decided on a position to focus on, search through a bunch of job postings and take notes on the skills and technologies that employers are looking for. Study those skills and technologies by reading books and working on toy problems that interest you. Putting together an open source project is a great way to demonstrate these skills to potential employers, but definitely not necessary. Be on the look-out for jobs and employers that seem particularly interesting to you.

When you feel reasonably in touch with the basics and fundamentals, start applying for positions. Start out with employers and positions that you don't particularly care for, use the interviews to practice your rhetoric and build your confidence.

Make sure to have trusted friends/coworkers/mentors in the field review your resume and give you feedback. I avoid listing any particular technologies on my resume, because sometimes they can box you in - but admittedly some employers will be looking for X Y & Z technology listed on your resume, so don't be afraid to make small tweaks for specific companies and positions you are really interested in. Don't be afraid to embellish your resume and work history - it's okay to say you led a team even if that responsibility was never formally acknowledged. Don't outright lie though, and be very prepared for interviewers to ask in depth questions about your prior experience - I usually bring a notepad with talking points to help me remember all the details of projects I've worked on. Don't be afraid to admit a lack of professional experience with some technology - having experience with such technology on personal projects can go a long way towards demonstrating aptitude.

Finally apply to those jobs and employers that stuck out to you - the ones you really wanted or were interested in learning more about. Try to give off a vibe of ambition and hunger to achieve, managers will pick up on those traits, whether consciously or subconsciously. Technologies come and go but soft skills are very important so feel free to mention that you're a great technical writer or that you are an excellent mediator of conflict, etc - it can help fill the gaps of experience or knowledge in a domain.

Most of all believe in yourself and your capacity to learn and grow - that will be the primary factor in your success.


>Embedded systems engineers command great salaries

This isn't something I've noticed. In the UK at least Embedded tends to be a sensible career, with reasonable work/life-balance. But salaries also tend to be in the "reasonable" range. Maybe the situation is different elsewhere.


I'd start learning unity head towards certification apply to jobs get hired live happily ever after.

I think its that easy.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: