Is a College Degree Necessary for Success in Programming?

In summary: Computer science in pure form is all theory. If you don't like theory you probably shouldn't of majored in computer science. Computer science is not the same as building software. You should look into software engineering, computer information systems, applied computer science, or even applied computing.
  • #1
blueski
3
0
Hi physicsforums,

I'm a CS student in my first year. I enjoy programming and have liked my intro CS classes. However, I'm pretty depressed with the rest of college. I feel like I'm spending a lot of time reading through literary theory, rote memorizing humanities definitions, or memorizing Chinese characters (we have extensive distributional reqs).

I enjoy the humanities and read widely, but I just feel like I'm getting little from my classes.

Also, our CS department is very theory-based and doesn't really teach software engineering skills. I'm having trouble justifying the opportunity cost and tuition in my head.

I'm thinking about dropping out, self-studying CS and programming, and working on open-source /applying for internships. It seems like with a decent amount of open source contributions and internship experience, I could get into the market. I'm not interested in big companies, and I think I'd be happier at a small company where degrees don't matter that much.

I'm academically smart (2330 SAT) and pretty good at self-teaching. Would dropping out be a realistic idea? Thanks.
 
Physics news on Phys.org
  • #2
This is a tough one. Normally I'd say, no -- push through and get a formal education. But in your case? I'm not so sure.

The reason I'm hesitating is I think it's still possible to be a successful programmer if you don't have a degree. I emphasize "I think" because all programmers I know who are successful but don't have programming degrees...they're all old. Like, over 55. But that's my bias: I'm older myself, so I don't have a lot of 20-somethings in my circle of friends, much less any that are self-taught programmers.

I'd suggest contacting some local companies and asking for an informational interview. If they agree to it, ask them what their attitude is toward programmers without degrees.

But be aware, you may be setting yourself up to go through your whole career being paid less than the guys working next to you, who do the same work but have their degrees.
 
Last edited:
  • #3
You might try investigating schools that offer a software engineering degree. I don't know of any off the top of my head (I'm a physicist), but I'm pretty sure they exist.
 
  • #4
Thanks for the replies. I think I'll try to ask around and see how companies view programmers without degrees.
 
  • #5
blueski said:
Also, our CS department is very theory-based and doesn't really teach software engineering skills.
Computer science in pure form is all theory. If you don't like theory you probably shouldn't of majored in computer science. Computer science is not the same as building software. You should look into software engineering, computer information systems, applied computer science, or even applied computing.
 
  • #6
blueski said:
Hi physicsforums,

I'm a CS student in my first year. I enjoy programming and have liked my intro CS classes. However, I'm pretty depressed with the rest of college. I feel like I'm spending a lot of time reading through literary theory, rote memorizing humanities definitions, or memorizing Chinese characters (we have extensive distributional reqs).

I enjoy the humanities and read widely, but I just feel like I'm getting little from my classes.

Also, our CS department is very theory-based and doesn't really teach software engineering skills. I'm having trouble justifying the opportunity cost and tuition in my head.

I'm thinking about dropping out, self-studying CS and programming, and working on open-source /applying for internships. It seems like with a decent amount of open source contributions and internship experience, I could get into the market. I'm not interested in big companies, and I think I'd be happier at a small company where degrees don't matter that much.

I'm academically smart (2330 SAT) and pretty good at self-teaching. Would dropping out be a realistic idea? Thanks.

Hey blueski.

I can tell you that you can get jobs without having a formal degree, but you will need to be doing a lot of work on your own in terms of projects and building up both your portfolio and your experience with working on solid projects getting all the experience including working with other people's code, debugging, writing your own code and merging it with others, using the necessary tools for complex and shared repositories and any of the other things.

Also I have to stress, make sure you are a good communicator: if you think you need to improve this join your local toastmasters: it's about $40 US a year and meetings go for 1-2 hours a week depending on the club. If you find a club with diverse members who will give you genuine feedback you'll get a lot of experience that will help you practically, much better than wasting thousands (or even tens of thousands) a year on an arts degree: I gaurantee it.

You might have to work part time (or part to full time) before you apply for the jobs but you can definitely do it because I actually did it myself: got jobs without a degree but I had to spend a lot of time learning (many many years), and I know working with other programmers that quite a few did not have a degree.

You will however have to find a way to network with other people. If you can find people that can get you possibly to an interview then that's a great thing. Find out where these people are and meet them: programmers are people too and they do social things just like the rest of us ;).

Also the other thing with meeting people is to find out what employers are looking for: this is the biggest thing.

If you end up taking this road then I wish you all the best. Just be realistic about whether you are motivated enough to go it alone: if you are, and your honest about this evaluation, you will get there: I gaurantee it.

Good luck dude.
 
  • #7
Hey there,

I did exactly what you are contemplating; I was 14 though, and it was high school that I dropped out of. I spent 4 years at home studying C, OpenGL, Calculus, and Physics. I worked on lost of little personal software projects, most of which were physics simulations utilizing OpenGL for rendering, or sometimes just ncurses. I also occasionally took low paying internship-like jobs whenever I could find them. Note that these weren't full-time, and they only lasted for a few weeks or a few months. They involved helping out at small tech support departments at various institutions.

When I was 18 I put together a resume listing my internships. I also collected videos of my physics simulations into a portfolio which I posted online. I took all this to a company in New York and got a full-time job as a Perl programmer. It paid pretty darn well for my age. I had health insurance there, a retirement plan, and all of that standard "real job" sort of stuff. The company was medium sized, about 25-30 people.

I've been making progressively more money ever since. I'm now 22 and I've been living comfortably on my own. So yes, it's definitely possible. I imagine that doing that sort of thing is possible in just about any field provided that you have enough wits and motivation, though software programming is probably a particularly easy one.

As a postscript to this story, and as a warning to you, I will mention that lately things have been going totally awful for me software wise. I was 14 when I started, and I'm 22 now, so it's been 8 years. Over those 8 years I spent close to 12-hours per day in either Emacs or an xterm, and the non-stop typing totally destroyed the tendons in my hands and arms. The horrible ergonomics at my desk probably didn't help either. Currently I can't spend more than 1-2 hours at the computer without getting horrible pain in my hands, and twitching in my fingers. I've had to stop working, and I'm moving back home with my folks until my hands heal, and until I can find a different career (hopefully something utilizing my math and physics background, and with less typing).

So, if you're going to throw yourself heart and soul into the software world, then forget college, and just go for it. I think you'll succeed just fine, assuming you're smart and skilled enough. Though good luck finding a girlfriend in the working world, unless you already have a very active social life outside of school, or unless you already have one ;-)

Do research RSI and typing injuries tough. Maybe look up what happened to Richard Stallman's hands if you want to get some fear into you for motivation, and also James Gosling. And get a properly adjustable chair, and a good split keyboard:

Chair: http://www.hermanmiller.com/products/seating/work-chairs/aeron-chairs.html
Keyboard: http://www.kinesis-ergo.com/freestyle_pc.htm (they also have an OS X model)

Best wishes :-)

P.S.
If you would be curious to swap Skype or IM handles then send me a private message here on the forums, I'd be more than happy to talk.

Ouch, typing hurts. Back to the vector calculus textbook I go.
 
Last edited by a moderator:
  • #8
victor.raum said:
Do research RSI and typing injuries tough. Maybe look up what happened to Richard Stallman's hands if you want to get some fear into you for motivation, and also James Gosling. And get a properly adjustable chair, and a good split keyboard:

Chair: http://www.hermanmiller.com/products/seating/work-chairs/aeron-chairs.html
Keyboard: http://www.kinesis-ergo.com/freestyle_pc.htm (they also have an OS X model)

Best wishes :-)

P.S.
If you would be curious to swap Skype or IM handles then send me a private message here on the forums, I'd be more than happy to talk.

Ouch, typing hurts. Back to the vector calculus textbook I go.

My school has 30-40 of those chairs in the library.. THEY ARE AMAZING! I never saw a more comfortable and back-pleasing chair in my life before.
 
Last edited by a moderator:
  • #9
Then come to the Netherlands or somewhere else in Europe and study CS there. :wink: Most universities (as far as I know) don't have general courses here, so if you do a degree in CS, all you get will be CS, CS and more CS. Although I'm sure it's not an easy option, it's still something you might want to consider.
 
  • #10
Very few universities have a dedicated "software engineering" degree. At my local university, everyone took the same core computer science classes and could specialize in several fields, such as networking, security, software engineering, etc. This is most likely the case with most universities. The university I currently attend has its "School of Computing" as a part of the Engineering department, but it also only provides Computer Science degrees, not SE.

There are smaller technical colleges (like ITT Tech or the like) that probably teach more "hands-on" programming, but I can't validate their reputation in the eyes of an employer, personally.
 
  • #11
Thanks for the replies. Do you guys have any idea whether someone's earning potential as a programmer would be significantly limited by a lack of a degree?
 
  • #12
blueski said:
Thanks for the replies. Do you guys have any idea whether someone's earning potential as a programmer would be significantly limited by a lack of a degree?

It's going to be up to you and where you take yourself.

Also will depend on things on where you work, what industry you work in, if you are an employee or a contractor, what experience you have in particular technologies, platforms, and domain areas and how you make use of all of this.

Also you might end up developing your own commercial software but you have to realize that you will working your arse off and you will be taking the risks that all business owners make and if you're not coding, you'll be spending every other waking moment worrying about everything else.

Thankfully programming is one thing where you can really take it as far as you want it without the whole degree thing which to me is absolutely fantastic (although I am not programming anymore), which you should keep in mind.
 
  • #13
blueski said:
Thanks for the replies. Do you guys have any idea whether someone's earning potential as a programmer would be significantly limited by a lack of a degree?
The entire purpose of a degree in most cases is to increase starting salary, so yes.
 
  • #14
In my opinion, not everyone has to go to college to be successful. An entrepreneur doesn't have to be a Business college graduate. A painter or comic book artist doesn't have to be an Art graduate.

However, some fields require you have a degree for obvious legal reasons. For instance, you can't be a practicing surgeon or dentist without credentials. The same goes for lawyers.

Engineers (save for Software Engineers), in most states in the US have to have at the bare minimum an associate's degree. Many require a 4-year (BS/BA) degree. To be a Professional Engineer (PE) a 4-year degree, 4 years of engineering experience after graduation, and taking an exam are required. Anyone that does public consulting without a PE is technically breaking the law.

Do you need a degree to be a good programmer? Honestly, no. But it does boost your resume and tells people you are able to stick to something and complete it until the end. If, instead, you are already a whiz at programming and can have an entire portfolio of incredible programs you've already made, college might not even really benefit you
 

Related to Is a College Degree Necessary for Success in Programming?

1. Why do students consider dropping out of school?

There are many reasons why students may consider dropping out of school. Some common reasons include financial difficulties, personal or family issues, academic struggles, and lack of interest or motivation.

2. What are the consequences of dropping out of school?

Dropping out of school can have serious consequences, both in the short-term and long-term. In the short-term, students may face difficulties finding employment or furthering their education. In the long-term, dropping out can lead to lower earning potential and limited career options.

3. Are there any benefits to dropping out of school?

While dropping out of school may seem like a quick solution to current problems, it is important to consider the potential long-term consequences. Dropping out can limit opportunities for personal and professional growth, and may not necessarily lead to immediate success.

4. How can dropping out of school be prevented?

Preventing students from dropping out of school is a complex issue that requires a multi-faceted approach. Some strategies that can be effective include providing students with academic and emotional support, offering alternative education options, and addressing any underlying issues that may be contributing to their desire to drop out.

5. What resources are available for students who are considering dropping out of school?

There are many resources available for students who are struggling in school and considering dropping out. These may include academic support services, counseling or therapy, financial aid programs, and mentorship opportunities. It is important for students to reach out for help and explore all available options before making a decision to drop out.

Similar threads

  • STEM Academic Advising
2
Replies
63
Views
5K
  • STEM Academic Advising
Replies
7
Views
1K
  • STEM Academic Advising
Replies
4
Views
856
  • STEM Academic Advising
Replies
29
Views
302
  • STEM Academic Advising
Replies
1
Views
918
Replies
15
Views
2K
Replies
10
Views
2K
  • STEM Academic Advising
Replies
11
Views
709
Replies
8
Views
1K
Replies
22
Views
821
Back
Top