Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This question already has an answer here:

I am trained as a biochemist, and I really excelled in my studies (master's degree, 3.86 gpa, many scholarships, etc.). However, working for a year after college in a lab, I've learned that I am a lot more interested in programming than science. When you do science you observe things with little control over what is happening, while when you program, you get to have exquisite control and build exactly what you want. I want to make the transition to becoming a programmer, and I'm very young (only 22).

I don't have much formal CS experience. I'm good with Python, which I've used a little for work and a lot in my free time. I'm decent with Ruby, HTML, and CSS from Codecademy I am taking the summer off to take an intensive double-credit course in Java at a big name University.

Do I need to get a degree in Computer Science to get a job as programmer? Or is it possible to get hired without a degree as long as I'm good with a couple of languages? Do you think someone would be willing hire me as a Java developer after the two-semester course I'm taking this summer?

share|improve this question

marked as duplicate by gnat, MichaelT, Bart van Ingen Schenau, GlenH7, Caleb Apr 5 '13 at 14:15

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

@PeterK. How do you classify this OP's question as a duplicate? The difference is one OP has been programming for a long time and other has only begun and has a former degree. Those are two separate circumstances and, hence, two separate questions. – Mushy Apr 5 '13 at 11:59
"Do I need to get a degree in Computer Science to get a job as programmer?". I don't have a degree and look - Stack Exchange hired me as a programmer! – Oded Apr 5 '13 at 12:00
While a CS degree might not be needed, having a Masters degree in one of the sciences should help. It shows you have at least some valuable capabilities. – Bart van Ingen Schenau Apr 5 '13 at 12:06
@Mushy: I'm not. I'm just pointing out that the community has often done so. – Peter K. Apr 5 '13 at 12:47

You need a degree to get past HR. A CS degree helps, and might expand your opportunities, but is not (usually) required.

share|improve this answer
Exactly, everyone else will have a degree and so you need one too. Soon a MSc will be minimum requirements – James Apr 5 '13 at 13:39

I'd say it gets increasingly difficult without one, but still is possible (at least in Germany, but I'd expect this to be true elsewhere) and very likely will remain possible.

As an example I have a degree in mathematics and I was hired as a developer about 11 years ago.

It also depends on what you are up to. Programming is often application development in some area, and companies may want to hire someone with expertise in the application domaain (like, e.g., knowledge of a certain business like banking) and not only IT specialists, to have at least some of that in their teams. For what I'd call purely technical development (writing a compiler or driver or the like or software for microcontrollers) it is my impression that mostly people with a CS degree are hired nowadays.

But during the last 20 years CS degrees are increasingly often accompanied with such additional domain knowledge, often tailored to the needs of certain industries, and it may well happen that a company prefers to hire someone with an CS degree and additional knowledge in some business area than an expert in that area with ambitions to become a programmer.

Be warned though, that software development is not only about knowing one or more or even many programming language. Many other things are often considered as equally or even more important (like software lifecycle, deployment of software products, sw architecture and, of course soft skills, communications skills,....the list is arbitrarily long).

Edit: just as an additional remark, you are aware of the fact that scientific computing in biology and related areas is a very active and dynamic area, are'nt you?

2nd edit Just to give you a (more or less randomly chosen) idea regarding the edit: or

share|improve this answer

No, you do not need a formal degree to be employed as a programmer. Case in point, I changed careers recently (former Electrical Engineer), obtained a Master's Degree in Computer Science, only knew Java (direct experience as an intern), and hired to program in .NET (Visual c++).

That may not exactly fit your question as a prime example but I am trying to show that the field of computer programming is less rigid with respect to experience and education. I work with a gent who went to school to be a diesel mechanic and was employed many years until desiring to change careers, took a few classes, and was hired as a programmer in c++. That may more fit your model and demonstrates that a formal degree is not a hard and fast requirement.

However, if you do not choose to degree yourself, you may need to at least qualify yourself through certification examinations and a small amount of community college training. Of course, if the greater field of computing interests you as it does me, then a degree, at your age, should not be out of the question. I switched careers at 37 and I am having a blast with computing.

As to hiring you after taking a two-semester course, that would depend upon the employer. I would suggest you not just take a two-semester course in Java but immediately begin learning the language yourself and have one or two projects ready to begin working on so your level of familiarity with the language is sufficient. You may also desire to well round out your education with a course in data structures, small amount of database (MySQL or similar) familiarity, and not consider yourself knowledgeable because within the field of computing, constant learning is a must as in any other field. Just because you know Java does not equate to being ready to program on a big project.

Expand your horizon by incorporating best practices, coding knowledge, and other areas into your education but I do not anticipate you having much difficulty with your current education.

share|improve this answer

It certainly helps to have a compsci degree. Without one its harder to get initial jobs, you start slightly lower down the ladder and there is a lot of extra reading required to get up to speed.

Its certainly not essential though, i'm a programmer who did a Physics degree. Its just means you have to work a bit harder at the start and make sure you have a selection of code examples on hand to prove you can really code.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.