Ask HN: Where are all the non-web jobs?

79 points by callinyouin ↗ HN
I'm a fairly "fresh" developer (less than a year out of college) who will be moving to the Chicago area in May. Since graduation I've been working at the company I interned at and was able to secure that position through the internship program at my university, so hunting for a tech job is totally new to me.

Using some of the more standard online outlets for job searching (Dice, Stack Overflow, Indeed, Glassdoor, etc.), I've found very few jobs that aren't web-related. I have seen a handful of embedded programming jobs, but those tend to require a background that I lack (EE or CE, whereas I have a Comp. Sci. degree). My only other prospects seem to be in the financial and gaming industries, but those positions are few and far between and tend to require previous professional experience that I lack.

I'm afraid I'll have to pursue a masters or doctoral degree in order to pursue jobs in any area outside of the web. Is this accurate, or am I simply looking for employment in the wrong places?

71 comments

[ 0.25 ms ] story [ 1130 ms ] thread
A lot of business software is developed for the web now.
To expand on this - even for internal applications and things, the expectation generally is that the backend is going to expose some RESTful endpoints, and the client will be a webpage. So there are loads of jobs that are still doing backend work inside of a corporation, solely for business needs, nothing customer facing, but the skillset is still similar to what you'd be doing were it customer facing.
Sure. But there's a whole world of non-LOB software out there. I think the OP is trying to figure out how to tap into the pipelines for them.
"I've found very few jobs that aren't web-related. I have seen a handful of embedded programming jobs, but those tend to require a background that I lack (EE or CE, whereas I have a Comp. Sci. degree). My only other prospects seem to be in the financial and gaming industries..."

I haven't looked for a job in a while, so I can't give you great advice on where to look for jobs. But as someone who works on enterprise software, I can tell you that if you're only seeing listings for web programming jobs, you're not seeing the majority of job postings for software developers.

There's a very wide range of software between web application programming and embedded software. Most of the software used by businesses is on the back-end - the web stuff is just the top layer that users use to interact with the systems. For example, think of all the software that runs behind the scenes at Amazon.com: shipping optimization, inventory management, recommending products to users based on purchase history, etc. - none of that is interactive, it's all crunching through data.

A few sources of job leads that you haven't mentioned: (1) lots of companies have job postings on their own web sites; (2) local head hunters may have a broader range of jobs in your area than the major job sites; (3) networking: talk to your friends to see if they have any job openings where they work.

> (1) lots of companies have job postings on their own web sites;

This is mostly where I've had luck when I'm searching - find companies in the area that you're interested in and check out their careers page!

Rather than thinking of it as "where are all the non-web jobs," think of it as "where are all the $INDUSTRY jobs?" What are you interested in? The web is just a very popular and successful medium for reaching users, including in finance and gaming.

And if you really want to work in finance or in gaming, then go to meetups or reach out to people in the field with cold emails, asking to just learn more about what they do (rather than immediately flinging your resume at them). You should always be networking long before you start actively looking for your next job.

Exactly this. I see this happening a lot with new grads who have a degree but they don't know what they are interested in. I would ask you "Why did you get a CS degree in the first place?" Presumably you like programming, but do you only like programming? Or do you like programming for $TOPIC ?

As a disclaimer (I'm currently employed by IBM) there are lots of non-gaming, non-finance, non-frontend programming jobs open on the jobs list that IBM posts (ibm.com/careers/) but they are really targeted toward people who are going "somewhere" as opposed to going "anywhere."

That said, programming was previous known as "data processing" for a reason, a big chunk of the reason people use computers is to take data, process it, and then make decisions based on the results of that processing. Whether it is ecologists looking a population studies, traders looking at market trends, or manufacturing companies looking at defects per thousand.

Out of work Hardware/Embedded systems engineer with a CS degree here.

There's a lack of embedded programming jobs being offered by manufacturers in California right now. I live in San Diego and it is terrible.

One might think this is because California isn't business friendly (noncompetes are illegal), or that salaries are too high. I call B.S. on this. The best talent prefers to live in CA due to the weather and the lack of backwards policies. There are some of us who will not work in certain areas of the country due to the lack of employee rights. We'd rather live off our investments, and recurring income than work in such hell holes, where the rights of employees are dead last.

> There's a lack of embedded programming jobs being offered by manufacturers in California right now. I live in San Diego and it is terrible.

What about in LA or in the Bay Area? Have you explored moving within California?

Unfortunately we have to care for an aging parent, or we would have moved when it got bad.
IF U DONT HACK U WACK
If you want an embedded programming, OS, or firmware job, your best bet is with a hardware/semiconductor company. No, you don't need a masters or doctorate -- a CS degree is just fine. I highly recommend taking a low level job; you learn an amazing amount that is abstracted away at the high-level web/database areas.

Have a look at the big hardware vendors: Qualcomm, Broadcom, Freescale (NXP), Nvidia, Cirrus Logic, Xilinx, Apple, Intel, AMD, etc. Note that you'd probably need to be willing to move to a more hardware-oriented area, including California, Silicon Valley, Austin, Boston, or Portland.

You then have to be willing to deal with lots of silence. I can't seem to get an interview with any of those companies to save my life. They seem to be much pickier about whom they interview than web, mobile, and enterprise shops.
Nvidia's careers site is the best yet - all the jobs for new college graduates require a 3.5 GPA!
While you're probably going to have more luck in the more hardware-oriented places, that's not to say there are no OS/firmware jobs elsewhere - I got a job straight out of my CS degree working on Linux at IBM in Canberra, of all places.

I didn't do any work on the Linux kernel (outside of doing a single OS class) while I was studying, but certainly if you're able to contribute to a low-level open source project it's definitely not a bad thing.

It would be wise to look at the big players for specific industries. As an example for automotive, look at the tier 1 suppliers such as Bosch, Delphi, Continential or Johnson Controls, or even the vehicle manufacturers themselves who does software work, like Volvo Cars, Jaguar Land Rover, General Motors, Renault Trucks

Go through industry you are interested in, do some googling and a list of potential companies can be found.

I did a search for Walmart jobs in my area ( a large metropolitan area) - zero hiring. With the exception of certain types of jobs, there has been little hiring since 2006 or so. The supply of labor vastly exceeds the demand, for many jobs. We're definitely moving to a 'post-labor' economy, with more 'gig' jobs and fewer salaried ones. In 2011, Mc Donald's had a national hiring day, receiving over a million applications but accepting only 50,000. Too many people, not enough jobs.
The defense industry has large numbers of such jobs. Of course, that means having to deal with all the crap that comes with government contractors.
And renouncing any dual citizenship you may have.
Why would that be?

At a major defense contractor years ago, and in defense-specific departments (unclassified roles), my group of 10 had:

- a Cuban-born (immigrated as a child) who never renounced;

- a Kuwait-born (same). (and her Iraq-born brother was in a parallel department)

- a Taiwan-born, not sure when she immigrated

- and the project leader was China-born (pre-revolution)

Now, I can imagine that in higher-security roles, things could be stricter, but I've never seen a public job listing that said dual-citizenship was a deal-breaker.

The laws changed in 2005. Since then, every position I've applied for has stated that you must be prepared to renounce any non-US citizenship.
You cannot hold dual citizenship and get a security clearance, and a clearance is required for many government contractors (certainly defense contractors, anyway).
Look beyond the "standard online outlets".

Reach out to contacts if you have them (friends/mentors from College and your personal life).

If you know specifically what you want to do and you want to stay in your current are, seek out the companies in your area that do this and monitor their job boards and/or reach out to them directly.

You can also try volunteer work, professional comp sci and meetup groups that meet your interests, etc. to expand your network.

Basically try anything you can think of besides just searching online job listing sites, that's the least-effort approach and you'd be lucky to land a desirable job that way.

Even at my company, which does enterprise SAAS with a web front-end, about 20% of the developers do minimal to no front-end work (integrations, document generation, optimization tools for trucking).

That's numerically not great, and we mostly advertise for people who can do web programming, but the positions may exist.

Of course, it depends on what you want to do that's not web programming. Do you just hate the web, or do you have something specific you want to do?

I thought ziprecruiter was a scam until I got called in for three interviews from having my resume on there. Might be worth checking out. They were from good firms, too. I was actually shocked that they used zip recruiter!
(comment deleted)
OS kernels, databases, networking and distributed systems primitives, backend business logic services, config management, orchestration, containerization, etc. A sufficiently large organization doing web or mobile service delivery at scale will be working on these things. Look for a "core infrastructure" or "systems engineer" role.

They may ultimately exist in a business's infrastructure to prop up some HTTP endpoints, but you can work on them for years without touching JavaScript/HTML/CSS or even HTTP. (A lot of people are using REST across internal services, but Thrift and friends are popular too.)

Then of course there's native mobile application development.

You might have some more trouble finding traditional non-networked desktop GUI apps to work on.

every sizeable company (web or not) has a contingent of developers who don't touch anything frontend-related. these generally fall into the categories of systems automation, data wrangling, or specialized things like machine learning or information retrieval systems (search).

also don't forget about good ol' fashioned systems administration, which is heavily developer-driven now. your job could be to try to code yourself out of a job.

Find videos from conferences with technologies you are interested in. Watch any / all talks from that conference. Take note of company behind each interesting talk.

If you follow some of these companies on sites like linkedin, keep an eye on other companies you haven't heard of in their 'people also followed' section. (companies that everyone has followed you likely already know about)

The web is basically a UI layer these days. Google are technically a 'web' company but there are a hell of a lot of positions available there that don't involve doing any web programming at all. Same at any decently sized company.

I'm afraid I'll have to pursue a masters or doctoral degree in order to pursue jobs in any area outside of the web.

I'm curious - why would you go to the extent of studying for a masters solely to avoid programming for the web? What is it about the web you dislike so much?

>solely to avoid programming for the web? What is it about the web you dislike so much?

People can simply be uninterested in certain types of work..

Yeah, I'm basically a 'full-stack' dev right now.

I enjoy thinking about and designing the database schema.

I enjoy writing the back-end code.

I enjoy thinking about the REST API.

I. Can. Not. Fucking. Stand. the front-end work. I don't know why; I just dread doing it for every project I’m assigned.

I can’t wait to hit that 1-year mark and start looking for more back-end oriented gigs.

I think it's because it has historically been low-status work and stigma about working on the front-end persists. The majority of people I've worked with are eager to throw up their hands and commiserate with others about their lack of understanding about CSS (which, for some reason, indicates you are of higher status) rather than learning about how it works and doing a bit of memorization.

I personally have no problem doing front-end work when I have to and I think the fact that I don't drag my feet or complain about CSS has allowed me to learn it to a degree that has made it reasonable and quick to do.

Also most of the shitty parts of front-end development have been abstracted away with things like CSS vendor auto-prefixing and tools like ClojureScript and reagent. One of my favorite parts of the stack now, actually (when I can use those tools).

This isn't a web problem, this is a division of labor problem. There's plenty of specialization to be had to as you advance career wise, and by logical progression of the web platform. It sounds like you haven't found the right position fit, which isn't uncommon early in your career.
> I. Can. Not. Fucking. Stand. the front-end work. I don't know why

In my experience, it's a simple matter of it never being done, and people always being unhappy with it. You can anticipate every possible need, streamline the steps needed for the most common and/or important tasks, and spend a gazillion hours making it look pretty-- not only will no one be impressed, but someone will always complain about something. There is never any 'right' way to do it. It's a black hole.

With back end stuff, it's like, does it work without making a mess and not overuse resources? Ok, good job! What are we building next?

In my experience, it's a simple matter of it never being done, and people always being unhappy with it. You can anticipate every possible need

IMO that's the exact problem - you can't anticipate every need. You need to do user testing, iterate over UI layouts, etc. etc... by comparison, backend work is straightforward.

Totally comiserate with you. I'm not up on all of the latest frameworks but I hate not having a good compiler that catches syntax errors, typos, case mismatch, etc until runtime.
Right, but my question is more "what do you even mean when you say web?". For example, you could take a 'web' job and actually have nothing to do with frontend HTML/JS/CSS, and just be writing APIs.
I realize there are a plethora of companies that do interesting things on the back-end (and increasingly a lot of cool stuff on the front), but when it comes down to it the vast majority of (enterprise) web jobs involve getting some information from a database, running it through some business logic, and returning the processed data. That makes it sound easy, but if you happen to work for a large company doing enterprise-level web programming, you know that the sheer scale of the data can make your work mind-mindbogglingly difficult at times. I love a good challenge, but when you're solving the same uninteresting problem over and over... well, you just lose interest.
I've been wondering whether HN would be interested in having "Hire Me" posts in conjunction with "Who's Hiring" posts. Every time there's a Who's Hiring, I spend a couple hours looking through all the posts. Why not do the opposite? Have companies/recruiters look through our resumes. I'm weary about joining websites like LinkedIn/Monster/etc. Even now, every once in a while HN will get a post along the lines of "I've been out of work/the industry for a while and I don't know how to find a job... here's what I know how to do" and they get a bunch of support.
Wouldn't that come under the freelancers? Seeking freelancer? I assume a lot of jobs are picked up through that.
Don't be too discouraged by job postings requiring an EE or CE degree. At my last two companies (a network gear vendor and a hosted VoIP provider), our postings stated EE/CE was preferred for new grads, but what we really needed were folks with systems programming experience and an understanding of the SW/HW interface.

If you've internalized most of your systems classes (OS, computer architecture, compilers, networks, etc) and are comfortable mucking around in C/C++, you're no worse off applying for these jobs than most new EE/CE grads.

Thanks, this is particularly useful information as I have a growing interest in all things embedded. My experience at this point is pretty minimal and is limited to messing around with an Arduino which, as I understand from reading about bare-metal AVR programming, is fairly high level by comparison. How does that translate with what people in the industry are using?
At Tesla we have lots of embedded software opportunities, ranging from code that runs in very tiny microcontrollers to beefy ARM host processors. If you, or anyone else in this thread, are interested, contact me on email. My inbox at Tesla is sbrugada.
How about Security ? Cylance has more than a couple:

- Senior Automation Engineer: https://cylance.workable.com/jobs/102010

- Senior Software Engineer: https://cylance.workable.com/jobs/74863

- Senior Software Engineer, Windows: https://cylance.workable.com/jobs/182251

All of these positions are for non-web related jobs. I recommend you look at what are the areas you are interested in, and then target companies that have that. Looking for anything non-web is not a good plan. There are a lot of Data Science related jobs that are not Web as well:

- Data Scientist, Analytics (Instagram): https://www.facebook.com/careers/jobs/a0IA000000G3OLOMA3/

Thanks, I appreciate the suggestions. My problem is that I have very little work experience in the industry at this point (< 1 year), so I don't think any "senior" positions would be open to me yet.

I am somewhat strongly considering the data science route, so I definitely appreciate the nudge in that direction.

I would try what you feel attracted first. You can always change. When you are starting, everything seems to be confusing, but as you progress in one field, the others will become clearer. The idea is to get experience in something, and start experimenting. You don't know if you like it until you have tried it.

Regarding experience in Security, I wouldn't discourage myself on a lack of knowledge of an specific topic. For an engineer is not expected to know everything (it is practically impossible); learning speed is what you should care about.

There is web front end, then there is backend which can be a lot of different things. Ranging from simple CRUD APIs, interesting map routing engines, web search, messaging app servers and so on. There is also mobile, where you can program ios and android apps in many different languages.
Reach out to some local companies that look interesting? Job search sites are a pretty poor resource in most cases - you'll do better from referrals within your network. Even cold-calling/emailing/LinkedIn messaging people at interesting local companies and trying to meet with them would be worthwhile. They might not have a role, but they'll have connections in the industry who can help you.

If you don't have any EE experience, it might be worth doing a second degree - graduate or undergrad. EE is pretty different from writing code.

If we include any tier of layered applications (backend m, front end and anything related) in the definition then the web has a big chunk of jobs these days.

Lots of people still do work with regular applications such as desktop software though. Find an industry (engineering/cad, graphics, music, finance, medical, games, ...) and see where their software is made. You don't have to do OS:es or embedded to do non web things. Millions of people pay billions of dollars for special niche software in all industries.

I have successfully managed to stay away from web most of my career and think it's a lot more interesting to do desktop (note: desktop apps that couldn't be web apps are the interesting ones, not desktop apps with crud which would be no more interesting than doing it as a web app) simply because the amount of "algorithm work" is much greater than the proportion of work that is repetitive data input/output/validation. Not to mention the tools on desktop aren't html/css/js.

There are OS/systems jobs at most of the big companies (Google, Apple, MS, etc). Really, I'd bet that any company that deals with serious traffic (e.g. Netflix) probably does some kernel hacking.

There are HFT jobs to be had for pure CS folks, too --- especially in Chicago.

Contact me. My distinctly non-web company should be hiring a developer right at that same time frame. Western suburbs (Aurora) location.

david dot nay at gee mail dot com

I found my first job out of college when I met someone at SCALE (Southern CAlifornia Linux Expo), building a backup system for a storage vendor. I expect my next job to come from following someone when they leave the company, or from an in-house recruiter contacting me on LinkedIn. I haven't had a lot of luck on the regular job boards, either.

I've gotten a little attention by contacting locally companies directly, but no success in actually landing an interview or a job. I still think it's worthwhile to get your name out there, even if the only benefit is getting practice in marketing yourself.

Even if they're web, web companies still have back end work. If it's enterprise, 90% of the job will be interfacing with hoary 3rd party APIs or antediluvian databases. I hope you like XML.
I think it depends on the language. As a cpp programmer its easy to find a job. You wont find many web or frontend jobs here. Its mostly backend or stand alone applications.