HACKER Q&A
📣 highwaymann

I love coding, but I hate web development. How can I “jump ship”?


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)


  👤 juanuys Accepted Answer ✓
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...


👤 systemvoltage
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.

👤 trashface
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.


👤 dyeje
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.

👤 garganzol
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!


👤 justinplouffe
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.

👤 actually_a_dog
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. ;-)


👤 benque
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.

👤 sysadm1n
> 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.


👤 wingman-jr
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.

👤 GianFabien
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.


👤 muzani
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.


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

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

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

👤 11235813213455
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?


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

👤 criticaltinker
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.


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

I think its that easy.