Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: What if you hate web development?
50 points by costac on Dec 15, 2021 | hide | past | favorite | 42 comments
Is there hope for people looking to break into software engineering if they don't like web development? From the outside at least it looks like all the jobs are full-stack roles. Is it some kind of right of passage? Any advice for someone who genuinely wants to break/transition into this profession but wants to avoid web apps?


There is front-end and back-end. I've been in the back-end for more than a decade already and haven't touched front-end once. Back-end is more of processing and preparing the data which will be presented in the front-end.

Also, thanks for recommending https://courses.edx.org/courses/MITx/6.00.1-x/1T2014/course/ in one of your comments; it looks quite interesting.

In this day and age, there is tons of data being generated in institutions like stock trading data for a stock brokerage company or call record data for a telecom company. Usually these data needs to be parsed, summarized or analysed etc.. so there is a lot of back-end work that occurs.

Back-end processing is usually either OLTP (online transaction processing) or OLAP (online analytical processing). With OLTP, it is about the software performing some repetitive task that supports a business function. For example, with Amazon shopping; the software needs to record the order, reduce available inventory of the product, etc..

With OLAP, there is usually some analysis on the data that needs to be generated like a report showing Amazon orders that match a certain condition.


I want to thank everyone for their comments. I'm a long-time and avid Hacker News reader and this was my first real post I guess. The community here is really solid and is largely what got me hooked on programming.

All your responses -- from don't give up on web dev totally because it can open doors, to try embedded software (I hadn't even heard of the term until today) -- have given me so much to think about.

Thanks again, and I know what I'm getting myself for Christmas. An Arduino.


If you are going down the embedded / IoT route. Get yourself an esp32 while you are at it and a bunch of different sensors.


When in-person events open up, look to see if there is a makerspace near you. Sometimes hardware problems are better solved with someone nearby as a sounding board.


That’s awesome. Godspeed!


There’s a ton of non web dev work at big companies. Anecdotally all my work has been in building data warehouses and data lakes.

Having said that, there will be some cross over with web tech and it’s not a bad idea to start there and end up on the back end of you don’t like it.

I used to work with analytical data that mainly came from mainframes and such with no interaction with the web. Then things changed and I had to understand things like json, restapi etc . For people with a web dev background this isn’t a big deal but for me I struggled a bit adapting.


I'm surprised there are not many answers pushing you to learn embedded software. I have never had a primarily web development role (my early roles had some web dev for embedded front-ends, but not consumer web). It is a wonderful field where you can really make am impact. Currently I work on medical robotics. Embedded software is a wide field too - you can learn operating systems, drivers, low level embedded, communication stacks, distributed systems, etc.

You can try it out by getting something like an Arduino (or rpi if you want to learn embedded Linux) and trying to automate something where you live.


Probably because it's specialized enough that the available positions tend to be for experienced people, or those with degrees in related technical fields like EE.

I've been primarily an embedded developer for the majority of my 25+ years in the software field with occasional forays into desktop, web and app development.

The only newbie devs I've seen doing low-level MCU development already had backgrounds in EE or CS/SE and did some basic embedded programming in school. I've worked with a lot of desktop/web guys who made a fantastic transition to embedded, but they were coming into it with years of experience and they usually started at a higher level (e.g., working with UIs or databases or communication protocols).

Embedded is not the friendliest path if you're trying to break into software without a technical degree.


On a related note, I get the idea that a lot of the companies working on embedded products have a culture where that degree is valued regardless of whether you can do the work or not.

Additionally, I very rarely see roles in that area listed that someone from another fields could “break into”. Often they’re looking for someone who has significant domain experience, and by domain experience I don’t just mean my embedded software in general, but experience around the actual product target business itself (medical devices, cellular networks, whatever).

For example I looked at a job near working working on integrating 5G chipsets into boards. The work was relatively high level (you weren’t designing the 5G stack or anything, maybe at most writing some modem drivers) but they were looking for people who from that domain and had experience with all sorts of strange proprietary Qualcomm crap.


One way I've seen people "break in" is by being hired into a related role then expanding into the embedded side. e.g., someone I know was hired as an app developer, but the guy writing the firmware that the app connected to got sidetracked by another project. The app dev learned enough about the chip & the firmware to get the bit he cared about working, then discovered he liked doing firmware and started working on both the device firmware and the app on future projects.


Completely anecdotal - but most of the 'software developer' people I know wouldn't know where to start with anything 'web' (I'm sure they could figure it out though!). Whilst a lot of their work might be related to stuff that happens on the web, (like consumer banking, for instance) they're pretty exclusively dealing with the backend systems.


If you want to avoid web development, then choose to focus on languages that are rarely (if ever) used for that purpose.

I'd recommend you focus on C/C++. It will provide a great foundational knowledge that you can use in almost every other part of programming. Also, from what I have heard, it's actually hard to recruit junior developers in C/C++.


I’d second this, there’s also a whole lot of cool products written in C/C++ that people tend to overlook. A lot of audio related software if you’re interested in music production.


Also Rust, which said to be competitor for C/C++ in terms of speed and safety.


> I'd recommend you focus on C/C++

This is too broad. C and C++ are different beasts.


You might end up working on the browser itself. ;)


Of course there are other jobs. I've never touched a web developer role, never touched JavaScript, never touched anything that generated html. There is plenty of software in the world. I came out of the Army 8 years ago and the sequence of roles I've done that didn't involve web dev include:

- Algorithmic trading implementation for a boutique hedge fund

- Ground processing for satellite imagery

- Tasking and orchestration of geointelligence product generation suites

- CI/CD pipeline and dev environment internal tooling and automation

- Platform engineering

- Unclassified to classified data scanning and transfer service

- Kubernetes cluster buildout and maintenance automation

All of these involved or still involve distributed systems sending requests and responses across a network, usually using http, but not once have I had to be concerned with executing code in a browser.


When you say "Web development" do you mean building servers that are connected to the internet and ultimately do work because someone sent a request of some kind or do you mean building CRUD websites for e-commerce? I agree the latter is really boring, but there are a ton of jobs that do the former. Even jobs that _sound_ like they should be very web-centric don't feel that way if you aren't working on clients or handling HTTP.

My experience has been that places that ask for "fullstack" are generally small shops that don't want to hire specialists because their problems are product-centric, not engineering centric.


Forget about the technology. What are you interested in? Why do you want to "break into software engineering"?

Is Blockchain or Crypto of interest? Go for Solidity. Do you want to code for embedded hardware? C++ (or you can start with Arduino or something and work your way up). AI Data-rangling and ML/AI? Python is a good place to start.

Rather than pick the technology, focus on what you want to do.

The nice thing about starting with web dev is that it's a nice starting point. You can build an interface and get people playing with it, and enjoy that process. Then you can build a back-end and learn what that's all about. You can keep adding areas that interest you.

You're not going to get into Software Engineering without knowing how to code first, which means you've got your own path to create. I did it, but that was back in the day when you could just open the console and often play with the little bit of JS that was on the page. It was much easier to understand what was happening back then.

Good luck.



I mean for starters, what do you want to do?

It will be nigh impossible for you to break into the field if you have nothing you are actually targeting other than saying “I don’t like that”.


OP is asking about how to avoid web dev but 3/4 of the comments are recommending different types of web dev.

I think they want to learn more about the world of mobile apps, desktop software, graphics, games, embedded systems, ai, audio processing, etc

In games, the pay sucks and you should avoid it. It can be lucrative for founders however, it’s just the employees who lose out


App development is a different beast. You get the same joy of building stuff, and it's often the same stuff as web. iOS is simpler, not necessarily easier. I've always enjoyed Android though, as it's low level enough that you're messing with the OS and threads but you're not messing with CSS and browser stuff.


I have been programming professionally for >10 years and even though I've done some personal web projects and did some freelance web dev very early on, I haven't done what I would classify as "web dev" professionally for around 10 years, until very recently.

I did do backend dev for the last year and a half which is part of web of course, but no front-end bits were touched. Most of my career has been spent working on desktop applications. I don't really know what advice to give you other than "don't apply for web dev roles". I see many non-web positions in my area, they don't seem scarce at all.

Switching to a frontend lean now has certainly been very interesting; there are fun challenges and interesting things to learn in all domains.


> Is there hope for people looking to break into software engineering if they don't like web development?

The technology has many aspect.

> From the outside at least it looks like all the jobs are full-stack roles.

Try to change your lenses. Not really at all.

https://www.kernel.org/doc/html/v4.17/process/submitting-pat...

https://developers.home-assistant.io/docs/development_submit...

https://www.indiehackers.com/

Godspeed and all


FullStack roles can transition into non-web development roles. You can branch out to tools development that revolve around web development. Maybe a devops or SRE kind or role if that is where your interest lies.

If you want to leave web development and anything related to it behind then I’ll suggest getting deep expertise in one of the programming languages you use as part of your job (python, java, typescript, etc) and then look for jobs where the core requirement is language expertise and product is not web app.


You could look at mobile apps. Just stay away from anything requiring a web view. Otherwise, you'll be messing around with web dev inside your mobile app.


There are plenty of non-web jobs out there. I started in web and I'm actively trying to move away from it.

That said: web is a great way to get your feet wet. There's more to it than just making a page look pretty. You can get exposure to a ton of different problem domains and get a decent footing in many of them just by getting really good at web dev (particularly by working on sites/applications run by larger organizations).


Software engineering is so much more than web dev.

Off the top of my head:

- devops

- security

- mobile apps

- desktop apps


I'd recommend not entirely dismissing web work as an option. If you do web work, there will be so many more jobs available to you. The work may not be as exciting in some cases. However, it is still good, well paying, work. The work may be less stimulating overall, but I think it's also less stressful. Which gives me more energy for other things in my life that I value more. There's more to life than work.


>The work may be less stimulating overall, but I think it's also less stressful.

I cannot speak for the OP, but my hesitancy around front-end web work is that browsers seem like a mess, so I worry that my trying to build a reliable front end would tend to be too stimulating and too stressful for me.


Yeah that isn't completely false. However, frontend work is SO much better than it used to be. Having to support old versions of IE made everything suck for a while. We won't have to worry at all about IE at all soon: https://docs.microsoft.com/en-us/lifecycle/announcements/int.... That said, the testing story for frontend isn't as good as it could be. Cypress has gotten us really close to a place where frontend testing can have really good coverage. But it's not quite there yet IMO. All things considered, with a modern web stack, I think fullstack work is overall less stressful because web frameworks make it so you don't have to make big architecture decisions that you may deeply regret down the line. I do miss making those decisions because they are fun to think about, but having to make those decisions is a huge liability and source of stress IMO.


> Is there hope for people looking to break into software engineering if they don't like web development?

> software engineering

Web dev is one side of the n-gon we call software engineering.

If you want to be a "software engineer" you need to have a good understanding about how a computer works, and how to program it to do anything.


How about data science or machine learning? Is there a career opportunity there?

There was a lot of buzz a few years ago. I’m not sure if it panned out.


Yes there is but I think esp for sale it means different things at different places.

Big tech companies do hire a ton of data roles but they might not align with what people assume the role to be.


What does that role consist off?


There is a huge amount of other work in the biz.

If you want to expand your skills right now get an Arduino, some LEDs and a handful of logic chips.


I'm web developer but I'm focused on backend, PHP only. After 15 years of it, I'm got sick of it, so right now I'm switching to iOS development


Mobile is relatively pleasant. iOS is nice.


Game development is even worse. Have you tried embedded? And there is always a huge unmet need for drivers.


> And there is always a huge unmet need for drivers

There is? Who's paying for it?


Come work in Visual Effects!




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: