Live data from Hacker News

Ask HN: Do I have to have a degree to be a developer?

news.ycombinator.com

21–30 of 33 posts

Re: Ask HN: Do I have to have a degree to be a developer?

#21

My first boss at my current company made 200k+ as a Director, and he didn't have a college degree. But he was really smart, an SQL wizard (relative to a lot of others), had worked at a hedge fund, and was brought in to fix a really big problem he was well suited to fix. That said, a CS degree makes it a lot easier for someone to justify hiring you for an important job, and important jobs tend to pay the best. A degre…

I really like this, and agree with it wholeheartedly. I'm a Junior at a decent school as a design major, even though I like development more.

I tried to take a Comp Sci. course last semester, but I knew everything that was going to be covered--logic, loops, functions, etc. The basics. You'll encounter the same thing at any college with a Comp Sci. degree.

However, you'll also find that there are much more interesting topics that are taught the further you get in. You'll like it more and more as you go, and you'll learn more and more too.

Something to know is that college is more than just learning to program. College is an experience that attempts to make you a more educated person for the rest of your life. The topics covered will go outside your comfort zone, and that's a really good thing. People who are successful at college know that they're getting much, much more than a certification for their job of choice.

Many people will tell you that college sucks, and you don't learn anything. Trying to be kind, that's because they suck at college. They were the kind of people who partied until 12 hours before their final 7 page essay was due, and were so plastered that they pounded out a steaming pile of hot brown stuff. They say college sucks because they didn't do it right, and so they feel like it is inherently a bad deal.

It's not. If you do it right--do all your work before the last minute, be an active participant in your college community (organize hackathons, run a {insert language} club, enter your work in student shows), and actively network with professors, you will succeed. Get your work done as soon as you can, make good progress if you can't finish it in one sitting, and you will still have time to do things like have side projects, be on social networks, and have freinds. Don't settle for anything less than an A.

If you want to talk more about this, feel free to email me: bitnb at subvertising dot org.

Re: Ask HN: Do I have to have a degree to be a developer?

#22
> If so, does it have to be a nice college?

It needs to be (at a minimum) a program that is ABET accredited. And is likely to keep their accreditation until you graduate.

Other than that, it doesn't need to be somewhere like Stanford unless that's something you really want and have the brains for. A state college, a smaller private college, all can be good places to attend. Where you went to school and the GPA you got only matter for the first (and maybe the second) job out of college. Afterwards, employers will give you a pass on it.

If/When you do a college visit, talk to the CompSci department and ask about the faculty, and what areas of concentration they have - graphics, databases, algorithms, etc. And see if that matches what you have an interest in. Call ahead and make an appointment with one of the faculty advisors - the usual university tours will just hand-wave at the building on their way to showing you the glitzy student center. As a point of reference, the CompSci department at universities usually got created within the math, business, or physics departments before being split off. So their syllabus will reflect that heritage.

Re: Ask HN: Do I have to have a degree to be a developer?

#23
Degree-less engineer here. It can be done, but you have to work hard. Your college educated peers will have a basis of classroom-based learning that you didn't get, and it'll hurt you early on. Once you get enough years of relevant experience, that degree matters less and less, but you still have to hone your craft more than your college educated peers.

If you want to excel without a degree, you have to build a reputation for being "the guy" that people go to when they get stumped. Is it hard? You bet. In my opinion, it's best to grind out some time at big name companies while you build your reputation. Don't aim for a Facebook or Google, because you'll get round filed quicker than you'll get an interview. Besides, if you get good enough at what you do, they'll come looking for you, with or without the pedigree.

source: I'm a degree-less engineer in the Bay Area with recruiters hitting me up on a daily basis.

Re: Ask HN: Do I have to have a degree to be a developer?

#24
I'll put my bias up front: I went to one of the best cs school in the US, so the perspective I have and the opportunities I've seen available to me and others I know are not necessarily typical.

1) It is totally plausible to get a programming job with just experience. College just makes it easier to get your first few jobs for most tech jobs. Some require it, just like some tech jobs require a pH.d.

2) Well, nothing is needed since you can learn all the material on your own and software engineering jobs care more about your ability to perform than educational or professional certifications. The value of the courses you'd take isn't that you took the course, but that you learn what it covers. That said, at a good institution courses act as force multipliers for learning the material faster than you would on your own and the overall curriculum ensures that you will have the requisite base of knowledge to be able to do your job well or switch to a different job with relative ease.

You can get all the knowledge of a CS degree without going to school, since between berkeley, stanford, carnegie mellon, and mit, there are enough free courses with totally public material to learn on your own everything you would in their bachelor's program (eg all the projects and lecture slides for berkeley cs courses are publicly available. many classes have webcasted lectures). the only thing standing in your way is your discipline and amount of time you have to devote to learning.

However, college definitely makes getting your foot in the door easier. Internship programs at companies with an HR department usually require you to be a student. Most places large enough to have in house recruiters or a well defined hiring process are going to use college as a quick indicator of baseline competence for your first few jobs at least. Certainly there are ways around this, especially in tech, but there is still a privilege associated with have a bachelors.

3) Do you mean indie gaming? I don't think those people are swimming in money, and I don't think they care. Do you mean just freelancing? Perhaps, if you don't mind treating it like a business with all that entails and not just being the stereotypical programmer who hates anything business related that doesn't involve coding.

4) At many places, yes. Is it fair? No. Is it a good indicator for who would be a good hire? No. Will it still happen anyway? Yes. This effect goes away the longer you've been a professional programmer, but it gets replaced by a similar effect based on how the prospective employers perceives your past employers and jobs. If you go to a great school, then that cachet will follow you your whole career. It will impress people and open doors for you, because it indicates that you aren't a complete moron (it's very similar to the quip "No one ever got fired for buying IBM").

Now for stuff you didn't ask about that I'm going to tell you anyway based on some assumptions I made from your post.

1) Think long and hard about whether you need to be a game dev. There's a lot of people who want to be game devs. There's so many that the market is essentially saturated. That's bad for you because that means employers can pay less (compared to other programming fields) because employers can treat you shittier because they know there's tens of people jonesing to do your job. You will be paid significantly less as a game dev than you would as a programmer in just about any other industry, all other things equal.

If programming is just a means to an end of making video games, I totally understand. Go be an awesome game dev. But if you care about optimizing, even just in part, for compensation and good working conditions, at least look at other programming fields. There is lots of exciting and interesting programming stuff in fields outside of game-dev.

2) There are major differences in quality between the average CS school and a great CS school. If you can get into a great CS school, it is almost certainly worth it, even if you have to take out loan to do so (I'm assuming you'd be taking loans based on not being able to afford the school, not because your two doctor parents refuse to pay for your college, so you can't get any financial or reduced tuition). If you can only get into a decent CS school, well it might be worth it if you won't have any loans, but you'd have to look and see if the material they teach in upper division courses covers things you don't know. I wouldn't take out loans beyond about $35k total, though, in that case.

3) College isn't just about what you learn there, but who you meet. Who you know is just as important if not more important that what you know. True, to a larger degree than in other fields you still need to be qualified and capable of doing the job you get hired for, but unless you are one of the best in the world at what you do, there will be other people as qualified as you. If you have someone on the inside or a friend who can recommend you that can be the difference between getting a job and being passed over for someone else. The network you cultivate in college and early in your career will help you find new jobs and opportunities as you progress in your career. Usually the best positions and the best hires are never publicly available (ie applied/received via the careers page of the company website), but instead come from some internal recommendation.

4) The biggest "problem" I've anecdatally observed with people without a degree or who didn't go to a good school is a lack of background knowledge. That doesn't mean all people without a degree or with a degree from eg "Bob's trucking school and CS degree mill" will have that problem, nor does it mean that no one from, say, MIT will ever lack basic background knowledge. But on average, people without a degree tend to focus only on what they're interested in, so there are gaps in their knowledge. A degree gives, or at least attempts to give, you background knowledge.

Background knowledge is actually really important. Sure you don't use it everyday, but a lot of programming is pattern recognition, and the more background knowledge you have the more patterns you can recognize and solve efficiently.

EG, a few months ago, a friend who hadn't really focused on lower level concepts asked for some code help with optimizing some number crunching scala code on facebook. Within 5 minutes of chatting I'd helped him massively optimize the code because I realized the scala code was bogging down due to two if staements in the for-loop. My background knowledge of how CPU pipelines work, why branching can be expensive, and what compilers tend to optimize and not optimize fixed an issue he'd been working on for days.

TLDR: No, but it makes it much easier for the first half decade or so. No, but the better the college, the more it helps you acquire a job.

Re: Ask HN: Do I have to have a degree to be a developer?

#26

Not necessary, but hugely helpful for a number of reasons. Shoot me an email (address in my profile) and I'm happy to talk you through them.

I can't seem to find an email address, but I'd love to ask some more specific questions. It may be because I just made my account, so my apologies in that case.

Many people don't realize that although they've given their email to manage their account, it only shows in their profile if they purposely insert it there, as well.

So it's not just you.

Re: Ask HN: Do I have to have a degree to be a developer?

#27
post #24

I'll put my bias up front: I went to one of the best cs school in the US, so the perspective I have and the opportunities I've seen available to me and others I know are not necessarily typical. 1) It is totally plausible to get a programming job with just experience. College just makes it easier to get your first few jobs for most tech jobs. Some require it, just like some tech jobs require a pH.d. 2) Well, nothing…

Thank you very much for the in depth reply!

I know I said Game Dev, and games are a fun thing to program, but I honestly could be working on Foo or Bar and I'd have a good time with it.

You mentioned the MIT free courses and such - which believe it or not, I've done the majority of. I only bothered with MIT though because they had a lot of different courses and they were all reliable and in the same place. For a time I was interested in compilers and such, so I read the Dragon Book (Or a good helping of it. That's one ugly book). I've also read a few other technical programming books that I know you have to read in college. Despite this I think I'm leaning towards going to college now for many of the reasons you stated (background, networking, general knowledge). Thank you for your answer it is undoubtedly life changing.

Where did you go?

Re: Ask HN: Do I have to have a degree to be a developer?

#28
post #24

I'll put my bias up front: I went to one of the best cs school in the US, so the perspective I have and the opportunities I've seen available to me and others I know are not necessarily typical. 1) It is totally plausible to get a programming job with just experience. College just makes it easier to get your first few jobs for most tech jobs. Some require it, just like some tech jobs require a pH.d. 2) Well, nothing…

Thank you very much for the in depth reply! I know I said Game Dev, and games are a fun thing to program, but I honestly could be working on Foo or Bar and I'd have a good time with it. You mentioned the MIT free courses and such - which believe it or not, I've done the majority of. I only bothered with MIT though because they had a lot of different courses and they were all reliable and in the same place. For a time…

I went to UC Berkely.

if you've been through a lot of those courses and read the dragon book, then another reason you might appreciate college is that you'll be able to do research or take grad classes to fulfill undergrad course requirements.

Btw, if you care to see what they've got public here's the master list (note the years of archives in addition to the most current version of the class): http://inst.eecs.berkeley.edu/classes-eecs.html

Re: Ask HN: Do I have to have a degree to be a developer?

#29
I would say that not the degree in itself is worth the most, but rather the experience of going to an university and learn things you hadn't learned on your own and meet a lot of people in different programs which you will know afterwards and maybe are going to work with

Re: Ask HN: Do I have to have a degree to be a developer?

#30
When we hire we look at years of working experience, and request a technical assessment before interview. In my opinion, quality of work and culture fit are far more important than a college degree. Many colleges are out of date and behind technology.

I would suggest building up your portfolio and reputation by working on open source projects. You will also learn a ton from experienced developers you meet there - more than you could in the same amount of time at a college.

If you code in C#, we'd love to see your contribution to our project here - https://github.com/Warewolf-ESB/Warewolf-ESB

Good luck!

Post reply on HN