Can programmers without CS degrees find jobs?

25 points by tommaxwelll ↗ HN
Hi HN,

Just a few months ago I started teaching myself how to program (JavaScript, JQuery, HTML, CSS, so far), so I'm nowhere near experienced enough for a job, but I was curious -- can developers without CS degrees find jobs? Is there a stigma in, say, the Silicon Valley around people without degrees, or is it lax?

Also, if I were to try and get a job in the field down the road (still, without a CS degree), what would be the best way to apply? With a portfolio/Github profile with my work?

58 comments

[ 4.6 ms ] story [ 1458 ms ] thread
In my experience no one even asks if you went to school during job interviews.

It's very easy to get tech jobs with no degree.

Why yes, yes they can. I would say 95%~ of our graduates at Dev Bootcamp do not have CS degrees. We have an incredibly high placement rate, so I can say without a doubt, programmers without CS degrees can find jobs.

We teach Ruby, by the way.

I've heard about you from friends. Applying.
Having a CS degree doesn't really matter.

Now more than ever you can teach yourself everything there is to know.

And showcasing your skills is easy too. Build up a good GitHub profile, contribute to open source projects, build a product and put it out there.

My experience is the best coders ive met who get shit done, dont have CS degrees. If they do have a degree then its either in real engineering(building hardware) or pure math/physics.
Just that coders who get shit done are often not the A-people. We had a few people that get shit done, and their code was shit. So in the end they cost us more time and money since we had to refactor large parts of their code.
I knew nothing about web dev 2 years ago and am now a senior sw eng at a successful company. Self taught.

Do everything you can for free, experiment with all at your disposal, and get passionate about the stuff that you don't know that you never think you'll understand. Then find a lower level eng job somewhere with kind smart people, and shadow the hell out of them every day :)

Some of the best developers I know aren't CS majors. If anyone has stigma, it's b/c they either need someone with skills to handle some insane new architecture or data handling at big scale, or they're just misinformed.

"and get passionate about the stuff that you don't know that you never think you'll understand." I went through this phase when I started out. Now I'm just fascinated by all the different languages/libraries I can learn.
Yes. I started off learning PHP/JS/HTML/CSS in my own time. It took me 6 months and I got my first webdev job.

You have probably heard that it takes 10,000 hours to master a craft. That's about right. I realised that without going to university I was probably missing about 6,000 hours (4 years?) of experience. So I worked double overtime and built products so that I could get 6k hours under my belt.

Then in the job interviews I said "Look what I've built"

My lack of degree has instilled an exceptionally strong work ethic, because I'm constantly trying to prove myself. I'm always over compensating my learning new things and having a real drive and hunger for development.

I'm now a tech lead at a developer company. I have an iPhone app in the app store (Insider Guide), 2 weeks ago I setup a Java (Red5) video server for live broadcasts for a billion dollar company. In my spare time I'm working on a Python ( + websockets) prediction engine.

You can get a job without a degree, but you gotta do the same amount of work.

Good luck friend, never, never, never give up

This is very inspiring. One of the better replies to encourage OP to continue on his current path
> You can get a job without a degree, but you gotta do the same amount of work.

This is the key point to remember I think. Well put.

I'm not a CS grad and have landed a spot as the technical co founder of a company on a UK accelerator. Hustle and always learn and you will pretty much get where you want to be!

Another tip is to contribute to GitHub projects and attend hacks to build mini projects that showcase your talent. And of course write a blog.

I'm doing okay working as a developer here in Australia without even a high school certificate. Granted I'm working in enterprise, so I'm not exactly doing the sexiest stuff on the planet. But the money's good, and I love the work. I learned to code a couple of years ago, starting with PHP then Python, and, after putting together a few websites for my team, I managed to transition from a Operations role to an Engineering role, developing a few in house monitoring products.

Good luck.

Yes, but they must write something first. Something like nginx or redis..)

Very few poets and writers have a degree in literature.

tl;dr - Yes, it opens more options.

== Long version == Depends on: (i) the job, (ii) quality of CS degree, (iii) career ambition/plans, and (iv) companies/people/culture, (v) project, and (vi) your ability/motivation/persistence.

A lot of basic programming can be picked up over time if you are keen. For many people, structured education is helpful when learning more complex material -- concurrency, compiler construction, advanced data structures, optimisation.

Some companies insist on a CS/SE degree (esp. consulting). Some projects state that all engineers must have formal qualifications.

There are a lot of Dilbert bosses out there -- they do not know/care/will-ever-know about Github profiles. There are bosses that just want stuff done. If you ever have to work for them, a paper with shields on it helps.

Exactly. The more technical and broader hollistic look of a computers, performance is something I think a CS is expected to be mindful of. But it does not mean they all are.

I think it also depends on your drive and your niche. I am in a GIS world and am very enthusiastic about programming. Where most people are more interested in the application than in the backend. If you know your target group you can cater for them specifically and understand their problems better.

So of course it depends (as always), but to be able to program and know another field is VERY valuable I'd say. To have a CS grad in the group too, but it would serve a more specific purpose.

I was a hiring manager and lead developer for a very well known tech company in the valley - now working at my own startup. I can honestly say that unless you have a CS degree from a top 5 school, which only earns you brownie points, I really don't care if you have that piece of paper or not. The proof is in the pudding, my friends.

I would suggest you keep learning as much as you can by building projects and learning from your mistakes. Work on things with programmers better than yourself. Contribute to open source projects.

My degree is in fine art printmaking. I've had 2 jobs programming in research labs. I'm looking for work right now, and my interviews outnumber the applications I've submitted. No one has ever asked about my lack of CS degree -- instead, they ask about my art.

Be good at your work -- that's primary. Then, write well. Speak well. Do interesting things. See your varied background as a strength, not a weakness.

Yes. Half of our guys have no qualifications at all or even dubious ones. What matters is that they can prove themselves and deliver stuff.

People who are self taught and self motivated tend to go futher than CS graduates. Reputation is the key thing - get a good one :)

> can developers without CS degrees find jobs?

Yes, of course. The demand for qualified programmers is high, and skill and good work habits rank high in the minds of recruiters. Some places require a degree, some don't. I don't think the absence of a degree will hinder you if you're qualified to meet the demands of the position you're applying for.

If the market were full, if no positions went begging, the outcome might be different. But there's an unmet need for skilled programming talent right now.

To put this another way, being educated ranks above being schooled.

I've worked at tech companies of virtually every size, from MSFT to startups with < 5 people, as a dude with a German degree. Having been involved with hiring at many of these companies and now hiring for my own, I can say that it matters very little what your degree is in. Just focus on showing that you are capable in other ways. Github is certainly the easiest one to start with :)
I don't have a CS degree, and I turned out all right. Ran my own company, worked at Microsoft, a startup or two, and back to my own company again.

That said, I would encourage anyone to get a degree if you have the opportunity. Sure, you can learn stuff on your own, but directed learning can save you time down the road. And the paper can help sometimes.

On the other, other hand during the times I was a hiring manager I never really cared much whether someone had a degree or not. Demonstrable experience and chops are worth more to me.

Worked at Google, startups and various other places for the last 15+ years. No CS degree but over two decades of programming experience.
As a developer without a CS degree (or any degree) my experience has been mixed. Unfortunately, I'd say the cons outweigh the pros...

Pros:

-It's proof-positive you are capable of learning on your own; a very desirable trait.

-No/fewer student loans to pay off. A bigger plus than you could imagine.

-Less debt, faster hands-on experience, and the general experience of being scrappy leaner might mean you're better founder material. Take that with a grain of salt tho.

Cons:

-It will make getting past HR screens more difficult

-It will be used as an excuse to pay you less money

-It will make it harder to obtain a promotion

-Lacking a strong theoretical foundation will likely mean you're under-qualified for some interesting jobs. This one is more subjective- maybe jobs like that require core CS skills aren't that compelling to you.

-Another subjective one: A lack of undergraduate math may make learning about certain topics more challenging. Certainly not impossible but definitely more challenging (3D, ML/AI, physics come to mind)

> Another subjective one: A lack of undergraduate math may make learning about certain topics more challenging.

You're making a common but often mistaken assumption -- that "unschooled" equals "uneducated". The fact that a person doesn't have a degree doesn't mean he knows no math or physics.

> It will be used as an excuse to pay you less money

That's certainly true. The unanswered question is whether the increase in salary accompanying a college degree equals the cost of student loans to get the degree in the first place.

This is my back-of-the-envelope speculation:

Suppose you go to UC Berkeley for CS. A nice, round, accurate number for that is ~$52,000/year. Suppose you work during for two of those years (I did, not everyone can), and your overall obligations are $208,000 for four years, less your wages -- say a meager $18,000/year. Also, you would have had to pay rent whether you went to school or not, so that is not truly a cost of the education. Let's say your rent is a $900/mo, so ~$11,000/year. Plus books and supplies, which may be as high as $2,000/year.

So we have roughly $140,000 for four years of education at a top notch program.

The other part of the equation requires more voodoo. I don't know off-hand what the numbers are for educated v. unschooled programmers. My anecdotal evidence for Cal alums is that entry-level offers are mostly in the $80-90,000 range, with a few as high as $100,000. Within five years, everyone I know of is solidly within the $120-$150,000 range of pay. Unless they've gone the startup route, in which case they are electing for minimal pay.

Personally, my expectation would be, having done hiring in the past and now, that there would be very few unschooled devs who could break $120,000. If you are very conservative in your estimate then, let's say the unschooled and the educated dev are separated by $10-$20,000 until year four -- so little advantage for the first four years. After year five, the educated dev pulls ahead, and by year ten is earning $160,000 whereas the unschooled dev has maxed out and is receiving only $120,000 plus COLA pay increases. So conservatively, by year ten, the gap in pay has already covered or will soon cover the cost of the education.

This also does not reflect the fact that because getting into the front door is not even possible in many places unless you have a degree, you cannot access any of the opportunities for startup equity. In my opinion, the gains in opportunity are far and away the more valuable win with a degree.

And yet, my favorite programmer, John Carmack, only attended university for two semesters.

By your numbers, someone going straight into the workforce could save about $50,000 each of the first four years the peers are in school, amounting to ~$2M by the time the person approaches retirement age. That is compared to the ~$3M that could be made by the gains in post-graduation income by retirement. However, the cost of the $140,000 education by the time you reach retirement is ~$1M so you have really only just compensated for the education with the higher income. And all that assumes that you will be able to earn more with said degree. While it certainly happens, I am doubtful that it holds true for all graduates. There is a lot of financial risk there, for what appears to be little to no monetary reward even when you do win.

With that said, there are a near infinite number of positive reasons to partake in a post-secondary education. It doesn't need to come with better jobs and higher incomes to make it worthwhile. I find it rather sad that many feel we have to resort to showing higher future incomes to even justify going.

> In my opinion, the gains in opportunity are far and away the more valuable win with a degree.

It is a very simple question of cost versus benefit. And tuition rates are rising so fast that any conclusion arrived at by calculation is necessarily a temporary one:

Washington Post: "Chart of the day: College tuition is out of control" [2011]:

http://www.washingtonpost.com/blogs/ezra-klein/post/chart-of...

A quote: " ... since 1978, college tuition and fees have been getting expensive at a much, much faster rate than even medical care"

Your choice of school greatly changes how fast you'll repay your schooling.

http://www.marketwatch.com/story/which-colleges-help-grads-s...

Additionally, going to school doesn't have to saddle you with debt, because it doesn't preclude you from working at the same time. I think it says a lot about a person if you're able to work and keep up your grades.

You can learn almost everything you listed as a "Con". It's not always easy, but you learn as you go. I've picked up a lot on the go and for everything else I have to be honest with myself and spend more time on it (e.g. evening, weekend or take a course).

I don't have a degree either. I just never stop learning. I'm sure it would be similar with a degree. All in all, I am doing pretty awesome. I could have a lot of different jobs if I felt like it. And no one has asked me for a degree in maybe 10 years (I turned 30 last year).

The promotion part and the HR part – I think it depends on what kind of company you want to work for.

I don't see a reason to waste away my talent in an environment which doesn't appreciate what I bring to a table. If they would rather promote someone else because they have a degree, then I am in the wrong spot.

If those are your challenges, you might work for the wrong people. Reading this makes me a little sad.

> If those are your challenges, you might work for the wrong people. Reading this makes me a little sad.

No need to be sad :) I'm actually well-compensated and have a job I enjoy. It's just that I have "been around the block" and wanted to share my trials and tribulations.

It'll be hard to get past HR, since non-techs attribute CS jobs to people with CS degrees. With your skill-set you can end up on the front-end. Take it little by little, start building websites for your friends for a start.

Best way to apply with your current skill-set? Be radical, a simple project suggestion: rebrand/redesign things. Take a look at how minimallyminimal got the eyes of many people with his rebrand of microsoft.

As for your question on the best way to apply for a job? Assuming you're applying for a position with your skillset: redesign their website. bring it along with your github profile on your interview.

Yes you can! Just build something to show :)
I've spoken to several people at the large south bay area company where I work about this. They are in senior positions and all have said they would be willing to hire a person without a CS degree provided they did well in the interview and had an appropriate background other than their education. The hard part is getting into the interview room, I suppose. Feel free to email me at douglas.treadwell@gmail.com if you want to talk further about this.
No, it's illegal in every state except Vermont to hire a programmer without proof of a CS degree. President Obama has promised to support a Federal law to make it illegal for states to discriminate against the self-taught but it's been stalled in Congress.
As anyone mentioned before, if you're good and hard working you can easily find good jobs.

Besides the cons mentioned by others I would like to add that not having a CS degree or any degree at all can make it really hard for non-US people to obtain a working visa in the States.