top | item 6915155

Ask HN: Is it possible to get a tech job without a degree?

45 points| rblion | 12 years ago | reply

Serious question. If you have a story, success or cautionary, please share.

87 comments

order
[+] tptacek|12 years ago|reply
I have one semester of college, in which I took psychology and political science.

I've worked as the lead network architect for a large ISP, as a developer and then lead developer of a network security tool, as a security researcher (I have a pretty decent cite record and a fun list of universities with courses that have taught papers I wrote), as a 2-time startup founder, the first of which was VC-funded, as a lead developer for a large-data Internet backbone monitoring system, and as a product marketing manager for several years. The shortest of these roles was 2 years; the longest 8 (and counting).

No. You do not need a degree. Early on in my career, I was asked for my GPA and then my SAT scores, by HR, after passing a job interview on Wall Street; I declined to continue the process. I've walked from all similar requests ever since. Not only do I think it hasn't cost me, but I think it has also helped me, by keeping me out of jobs at companies that suck.

If you're going to skip college, be very serious about your craft. Opt for difficult jobs. Tune your career so that you are always on the verge of being overwhelmed. Read like crazy; particularly, read papers, not blog posts. Learn a systems programming language and a functional language, then stop with the languages and start building things from papers. Be careful about getting wedged into things that are just barely programming, like CRUD web apps and iOS design. You can do good work in those settings, but the median project is (technically) boring. You know something is going wrong when you start promoting your unit test or A/B testing tools.

Watch out for IT. IT for people without a degree is a trap.

Consider staying in school long enough to pick up math. Math didn't matter much in my first 10 years or so, but it matters a lot to me now, and doing it on my own is a slog. I would pay a lot of money to be taught serious linear algebra and calculus instead of hacking and slashing my way through the subject on my own.

[+] freehunter|12 years ago|reply
If I were asked for a GPA or an SAT score at any job interview, I would walk as well. It's completely irrelevant, and highly dependent on the school you went to (is a 4.0 at DeVry better or worse than a 3.0 from CMU?)

It sounds like you're a little older than a person who would be debating going to college, though. I had a coworker that trained me at my current job who only had a few classes at a community college. Being hired a decade after him, it was required that I have a bachelors degree. Things have changes rapidly in the past few decades in terms of HR expectations at larger companies. I'm not trying to detract from your advice, because I think you're absolutely correct. I'm just wondering if you would be able to replicate your success today.

[+] thejteam|12 years ago|reply
Read and implement papers is extremely good advice. It also applies even if you have a degree. I have a BA in math but in the last 6 years have found myself in positions that usually require a phd. And that is not an option with a family and no university nearby. The ability to read academic papers and understand them and turn them into something useful is very valuable.

One thing I would add is to learn how to write, as tptacek obviously has. And like the reading material, not internet comments or blog posts. Learn to write real technical reports and proposals. Many engineers, in particular software people can't write worth a lick.

[+] wspride|12 years ago|reply
"start building things from papers."

Really liked what you wrote and found this particularly interesting. Can you elaborate on why you think this is important and how you generally go about it (finding papers, choosing what to code, etc)

[+] eshvk|12 years ago|reply
> Learn a systems programming language and a functional language

Not trying to start a language war or anything but would really appreciate learning what you (would have) started with especially on the functional side of things.

[+] moocowduckquack|12 years ago|reply
I found calculus tricky until after I had read Neal Stevenson's Baroque Cycle. Once I knew why there were two different notations and had a bit more of the history behind it, I found it a lot easier.

I often think history departments should get more involved in the other subjects taught at school so that you get a bit more perspective on why things are they way they are.

[+] selmnoo|12 years ago|reply
Awesome advice, thanks.

> Math didn't matter much in my first 10 years or so, but it matters a lot to me now

Can you please expand on what kind of math matters a lot to you and your work now?

> I would pay a lot of money to be taught serious linear algebra and calculus instead of hacking and slashing my way through the subject on my own.

Why not just take it at a univ. then?

[+] devb0x|12 years ago|reply
I have to agree about going for the difficult jobs. I too do not have a degree and I prove myself by killing the hard ones.
[+] asdasf|12 years ago|reply
>Watch out for IT. IT for people without a degree is a trap.

What do you mean? You just talked about being in IT without a degree.

[+] lethain|12 years ago|reply
I'm occasionally a hiring manager for engineers, and yes, it's very possible to get a job without a tech degree. Tech interviewing usually has four major steps: 1) sourcing candidates, 2) filtering resume candidates, 3) technical phone screen, 4) in-person interview.

For most companies, having a degree only matters in the first two phases, and ability/interviewability matters in the last two.

Experienced engineers avoid getting filtered out in the first two phases by working through their network, which allows them to skip those phases entirely. If you're trying to break in without any experience, it's much harder because you probably don't have a network and degrees are often used as a filter during candidate discovery and resume filtering (especially when the engineering manager is working with a recruiter).

My thought would be to proactively send your resume directly to a bunch of job postings, especially ones which go to a "jobs@$company.com". Anecdotally, I know I don't get many direct resumes these days, so I'd end up reading them, skipping any explicit filtering.

[+] joshstrange|12 years ago|reply
I attended college for 3 years at which point I dropped[0] out to work full time at the web dev company I was working part time at. I will be starting my 3rd job (In the tech field, I left college for my second tech job) on January 2nd.

I have people constantly telling me I should get my degree (Older friends/family) and the ones who don't bug me about it often say things like "But he will eventually...". That said I have not yet had it hold me back in the tech field as all of the places I have talked to care more that I can do what they need than if I have a piece of paper. About a year and half after dropping out I have ZERO regrets, I am now seeing my peers who stayed in school complain about not being able to find jobs (on FB and the like) while I have had no problems at all finding a places that will hire me.

The thing to remember is to never stop learning. Some of my peers (both in school and at where I work) see finishing college as the end of having to learn where it couldn't be further from the truth.

[0] http://joshstrange.com/why-i-canceled-my-college-subscriptio...

[+] petercooper|12 years ago|reply
I suspect ~50% of HN could confirm that but.. just one cautionary point, not having a degree could make it significantly harder to work overseas, if you were to want to do that. For example, if you were outside the US and wanted to go to the US on an H-1B, it's possible without a degree but somewhat harder.
[+] VLM|12 years ago|reply
It goes the other direction too. Canada, like many countries, has a point system. Its been a long time since I considered an offer in Canada but its a simple game theory optimization puzzle, to get the same number of points I could either get a degree, or become fluent in French, or work X years in some field or another. Programmer types tend to be pretty good at numerical optimization, think of it like a RPG game with various tradeoffs to level up.

One interesting thing to research for either immigration or jobs in general is do you get a CS degree or any STEM degree or any degree at all in any topic?

You're probably more employable if you're better rounded, so even if you are going IT instead of bench work, a Chemistry degree might help you get a job in IT at a pharm company more than an actual CS degree. Ditto finance if you want to work at a bank, etc. Employers love already trained subject matter experts.

WRT immigration this is a gross generalization but you get more points for "any" STEM degree... so if you're not going to learn anything in an IT type degree, why not get the physics degree you always wanted, immigration isn't going to care.

[+] stevenp|12 years ago|reply
I've been employed as a software engineer since age 19, and I'm almost 33 now. I've worked for companies like MetLife, Tommy Hilfiger, Yahoo!, and IMVU, and my lack of a degree has never been an issue.

It helps that I was always a hobbyist (I started playing with my dad's Commodore 64 when I was 6). For the most part, everything I learned I learned by building stuff. I dropped out of college when I was 19 because my financial aid fell through, and instead of continuing with my bachelor's degree, I decided to enroll in a 9 month program at a technical school. That allowed me to fill in some of the gaps that my own tinkering didn't really cover -- things like object-oriented programming.

After that, I got my first job programming online surveys in Perl, and I've been employed ever since. Getting your foot in the door is the most important thing. You only need to find one person who believes you can do the job, and if you're intellectually curious enough, you can easily learn by doing. My first job was with a small business that didn't have anyone doing any programming, so there was nobody to tell me I wasn't good enough during the hiring process, so I was able to fake my way into having a job that gave me the employment history to work my way into bigger companies and higher salaries.

[+] nchuhoai|12 years ago|reply
So here is some contrarian opinion:

You don't need to go to college, but if you have time and money, I'd say do it.

There is ample of evidence, that you don't need a degree to have a successful career, especially in the IT sector. Then again, what do you really need? I used to think like most comments here, where college (especially in the US) is a colllasal and expensive waste of time. And if you measure it in hard skills/knowledge learned, maybe it is.

Before I dropped out, I tried to get my BA/MA in four years by only taking CS classes. It was terrible, I didn't learn anything useful. Only after returning to college from our failed startup, I realized the great benefits from college: Exploring your interests, the social setting of college, running into people from all different backgrounds and opinions. It's a truly unique experience and IMO the competitive advantage of the American tertiary education.

I'm not saying people should do one or another or whether its worth it, but it does help to get in different perspectives from time to time.

[+] ColinWright|12 years ago|reply
Here's my advice.

First, some context. I have degrees in math and experience in computing. I am now part-owner of an established company, and occasionally we recruit. The following is my experience based on some successful hires, some unsuccessful hires, and many, many CVs and interviews.

When I look as a CV I want to know what value you'll bring to my company. I want to know why you'll be worth the money I'll pay you, and how well you'll fit. Yes, there was a job description, but your role will change, develop, and in the end you may be doing something completely different from what we originally thought we needed.

So I want to see, quickly, what value you claim you'll bring to my company. That means you'll need to have thought about that, and tailored the CV to match not just the job description, but the homework you've done on what we do. In particular, that makes it hard to get a job via a recruitment firm.

After that, I want to see the evidence that your claims are true. Do you claim to write clear, usable, effective code? Show me some code. Do you claim to work well with others? Tell me of specific occasions that I can verify.

Sometimes you can't provide evidence, and I understand that. Make it clear that you understand that I will somehow need to verify your claims. Be sympathetic - put yourself in my place, and help me see you as a potentially valuable asset.

And all this is true even if you don't have a degree. State that you know things, and then provide evidence. I've employed people with and without degrees, and it's been interesting to see how different people have worked out.

tl;dr - No, you don't need a degree. Yes, you can get a job, but you need to provide evidence of value other than by quoting that you have a degree. Sometimes that's better.

Edited for typo and word-crafting.

[+] dannyking|12 years ago|reply
Interesting! I'm building a way for people to apply for tech jobs by showcasing their experience, and skills backed up with evidence (www.accredible.com - just posted a Show HN after seeing this thread. Edit: reached the front page!). It sounds like your hiring thought process matches this philosophy!
[+] dsschnau|12 years ago|reply
I think the best answer you're going to come away with from here is this: Yes, it is possible, but it is more difficult. YMMV.
[+] odonnellryan|12 years ago|reply
That's probably true.

Also: Just saying "tech" makes it hard to discuss. Tech ranges from IT (Helpdesk throughout very advanced network architecture), to Software engineering (Websites (html) to integrated systems, to application development), to many more obscure and loosely-related fields.

[+] rdl|12 years ago|reply
I'm technically a high school dropout (one gym class shy; they required 4y and I didn't have a chance to get third-party credit for those, unlike other classes,...), as well as an MIT dropout. (I dropped out of HS to go to MIT early, then ran out of money and couldn't pay for MIT, and also had a chance to do an anon ecash startup if I dropped out, so rather than doing ROTC, I did the startup, and never submitted any paperwork to the HS on the degree.

It's never really been an issue. I variously say "some high school", "some college", and "some grad school" (due to later classes...) on demographics forms, depending on context.

I still vaguely want to get something purely for immigration-points reasons in various countries. There are European programs at ICL and LBS to get an MBA without reference to undergrad; there are exceptional cases where one can get into a PhD program without reference to undergrad. To finish undergrad itself would have a high time cost (since it's been so long, potentially 2-3y, especially if I wanted to do aero or nuclear eng, and would need to refresh heavily on calc/physics), but maybe.

Startups generally don't care for any individual role, but it might influence the overall arc of your career.

[+] elliottlan|12 years ago|reply
Yes it is - providing you are willing to learn the trade yourself.

I've been freelancing as a php developer since I was 20 years old. Now that I am 26 I have landed a decently paid full time php/sysadmin job that I really enjoy.

Between the ages of around 14 and 20 I spent a lot of time messing around with html and playing with linux installations which gave me the foundation to learn more advanced skills later on.

My main advice would be to take any job that you feel will increase your knowledge. If you don't like it, change jobs after a year or two.

Get some friends who work in the area of tech that you want to move into and talk with them about their solutions to problems.

If you can't find any friends in real life then find some on irc/reddit/hackernews/github...

Other people (and other people's code) can often provide you with a far better education than a degree.

One last thing - if you know anyone who is currently doing a computer science degree ask them what books they are learning from (for example books about object oriented programming eg java, books about database normalization, books about project planning).

There is a goldmine of knowledge out there providing you are interested to use it!

[+] philbarr|12 years ago|reply
I stuffed up my education for one reason and another and never got a degree. When I eventually had to do work I started out de-stapling things so that they could be scanned in. I did this for about 9 months - after 3 months my boss actually got me a destapler so I didn't have to use my fingers.

BUT, I saw that he had an Issues list in Excel that he would spend hours fiddling with. I wrote a bunch of VBA for him to make it easier to deal with and he was ecstatic. I managed to use this as a sort of portfolio and got a job that was all Excel and MS Access.

I convinced those guys to let me do their website, and used that as my next portfolio to get into an actual software shop. I worked my way up the ranks there until I was the highest paid guy, before moving to where I am now as head of development.

All you need to do is:

- work hard, which is easy if you're actually interested in it.

- continually think, "how does this benefit me in getting my next job / further my career?" This is a constant exercise.

[+] munin|12 years ago|reply
I didn't have the option to get a degree, no one told me about loans or how to get them, lots of people told me I wasn't "college material", and I kind of stopped talking to my parents at 18. It's possible I could have figured out logistically how to pay for school at 18 with no parental support, but, I didn't. If you have any kind of support structure that will help you pay for or borrow (cheaply! and not too much!) for your college education, as someone who started working with no degree and then got their degree, I strongly recommend that you get your degree.

I found good jobs without a degree, though it was largely through luck and networking. If you don't have a degree the "normal people" channels are closed to you and you have to use connections and people you know. of course, the "normal people" channels are for suckers so this is probably for the best...

After a few years of working professionally without a degree, I went back and worked on my degree part time. I'm finishing now. I went to a pretty good school (in the top 15 for CS) and I took pretty hard classes with a minor in math. I think that the experience helped make me a better software person. There were definitely concepts in algorithm design and data structures that I might not have experienced professionally, professors were really smart and I could go to their office hours and talk about real-world problems, and I think that learning more about math helped me think better.

I was (mostly) intelligent about what gen-eds to take and where (at a community college) so that the time and money value was maximized. I think it was a good investment. There are many jobs that you will be locked out of without a degree. Some people might say, all the better, but those environments can also be one of the few places doing something you really want to work on, like a university or national lab. Good luck finding a startup that is doing pure R&D in CS...

[+] louthy|12 years ago|reply
I'm a self-taught programmer, started aged 10. Didn't go to university because by the time I'd finished school I'd had enough with education and I'd already started getting freelance work.

That was nearly 20 years ago now (I'm 38), and in that time I've worked as a developer on 3D graphics engines, real time physics engines and core tech in the games industry (for about 10 years, one project with Shigeru Miyamoto!), and then left that to start my own medical software company (8 years ago).

I now employ developers. And whilst I don't ignore the 'qualifications' section of a CV/resume, I really don't see it as remotely vital. I'm far more interested in whether you have a passion for the job, past projects etc.

So yeah, it's possible to get a tech job without a degree. Some places will insist on it. But they're not the places you want to work.

[+] 27182818284|12 years ago|reply
The Tech industry is one of the few industries where you can do very well without a degree. I know people off the top of my head making > $50k without a degree in the Midwest US. (so, say, $91K in San Fran using WolframAlpha's cost of living adjuster.)

Like most things there are some caveats.

It will be harder to get into the top tier tech companies, Amazon, Microsoft, Google, etc, hire people without degrees, but not nearly as much as other organizations on the other tiers. Similarly, there are certain high frequency low latency trading firms that won't look at your resume without some MIT connection.

Some places will hire you with no problem, but have rules that will eventually cap your salary. These are usually government offices, state-run universities, etc. (For example, I know of universities where no programmer without without a master's degree can get past tier XYZ)

[+] adrow|12 years ago|reply
I got a graduate position earlier this year in an ad-tech company, coming from 10 years in a completely unrelated industry and without a degree (I'm 33 and in the UK).

I worked through some Codecademy courses, developed my own site and blog and got to grips with things like Ad-Sense to get a feel for the ad-tech side of things. I pushed my self-taught achievements and motivation in my CV as well as my 10 years prior in a stable corporate environment.

I had to take a pay cut to get my foot in the door, but within 6 months I was picked for another team and was back up to my old salary. I'm now in tech support, but not IT specific (it's more APIs, datafeeds, SQL and site debugging). I get plenty of exposure to the underlying company tech and there are a lot of avenues for advancement in the future so I'm really happy I made the career jump.

[+] tessierashpool|12 years ago|reply
Very easy to do. No degree here, building web apps on and off for twenty years almost. I've met tons of other developers who had no degree also, some of them very successful open source "stars."

However, it's not possible to get a tech job without learning a lot, so if you go in without a degree, you probably have to be the type of person who reads a lot and does a lot of research as a matter of habit. (Quite possibly has to be true even if you do go in with a degree.)

Also an enormous caveat, I had an incredible pre-college education, at least compared to most Americans. Programming classes when I was 11 years old, two years each of Latin and Ancient Greek while I was still in high school. I think I might technically have been doing college-level math in high school, too, but I'm not 100% sure.

[+] BSousa|12 years ago|reply
It depends.

I dropped out of Uni after one year (this was about 10 years ago). The thing was, in the hobby/amateur game development circles I was well known. Had written a bunch of tutorials, a book (when they still used dead trees) and knew folks in various companies. This made getting job easier. Now, after 10 years of work history, no one gives a damn about my lack of degree. I've working in more industries than most, form junior to Technical Lead positions.

But if I was 18/19 today, no side projects, not very well known, it would be different. When I was more involved in recruiting, I never cared about the degree, but without one, and without a work history, what can you really show me that proves you can do the job?

[+] j45|12 years ago|reply
Yes, absolutely. It's not what someone's degree makes of them, but what they make of their degree. Conversely, getting a tech job without a degree is based on always building a track record of results, output, and experience. Same thing for degree guys.

In a way without a degree, you may have more lee way in the types of interesting projects you can put on your LinkedIn.

The bottom line is, always be building, and always be shipping something to show what you can do. Technology is one area where one's education isn't as relevant as the ability to learn anything, in a self-directed and self-teaching way.

[+] okaram|12 years ago|reply
It is possible; however, it is a LOT easier with a CS degree (it is easier with a non-tech degree than without a degree at all :). Chances are a degree will also help later, when getting better jobs.

You will see many comments of people who've made it without a degree; they exist, but statistically it is much easier with one :)

If you can, get into a public university (at least if you're in the US or Mexico, where I have experience). It is usually affordable, and they provide a good education. It is usually easy to get a job in the field while in college.