Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I just graduated from a fairly well-known liberal arts college in May. Interestingly, I majored in psychology, with a concentration in social psychology. In college I took Intro to Computer Science and hated it (used to blame it on myself; now I blame it on the professor :) However, I've always wanted to be a programmer, and finally got my wish by getting hired by a company that was willing to let me learn coding from scratch in exchange for low pay. Well, what do you know, I just got laid off this morning, and need a new job by November to pay the bills. I loved the coding part of my job at the company, and managed to learn enough Java to feel competent in the job and curious to learn more. I think my goal now is to become a professional programmer. I still know very little (never used Swing, for example) but nothing that a good book can't fix.

That's the background anyway; sorry for the rambling - I'm still in shock from the layoff :( It seems to me the quickest way to get noticed by companies, without a CS degree, is by getting certification. I'm halfway through studying for the SCJP and can probably sit for an exam in a week or two. Am I right in my assumption that certs will help in my case? And in general, do I have a bat's chance in hell of making it against formally trained programmers? My assets are really just raw intelligence and intense curiosity; well, maybe a love for problem-solving too.

Thanks all - feel free to edit/tag the post!

share|improve this question

migrated from stackoverflow.com Feb 20 '11 at 0:44

This question came from our site for professional and enthusiast programmers.

closed as off topic by ChrisF Jan 13 '12 at 12:36

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

Sorry to hear about the lay off. You will get more responses if you ask this question on careeroverflow.com . I hope things get better for you soon. –  CoolBeans Aug 30 '10 at 23:09
@CB: I seem to be getting more responses here than the average question on Career Overflow gets :) –  Tootsie Rolls Aug 30 '10 at 23:38
@CoolBeans CareerOverflow is somewhat inactive, and wouldn't be much help in this situation. All the sites can take a few career questions if the career is one they cover –  TheLQ Aug 31 '10 at 1:09
Psych major is an accomplishment. It can really help you with being a manager down the road if you wanted to. –  Job Feb 20 '11 at 1:57
add comment

5 Answers

Interesting situation! I do a lot of hiring of Java developers, and am an experienced one myself. Bottom lines:

  • Sun certification alone will not get you an interview at a reputable company. Do it for the experience if you want to get the benefits of the training (personal opinion: hobby projects and deep dives on languages/frameworks you are interested in are better, but without the fundamentals training in a degree it is probably useful to you to learn the language this way and properly)
  • you will have a tough time getting interviews without a degree, but it isn't a dealbreaker (for a good company) if you have depth in the areas that are important to the job. You'll need to sell yourself through your experience, which probably means doing non-trival hobby projects.
  • Master the answers to all of these. For interviews you do get, you need to know these fundamentals. http://sites.google.com/site/steveyegge2/five-essential-phone-screen-questions
share|improve this answer
Interesting link. However, once I read Bad Signs #1 through #5, I realized that his method of interviewing sucks. He does not read a resume before hand, and he makes a big deal about vi vs vim - what the fvck ?!? –  Job Feb 20 '11 at 2:13
add comment

All answers above are pretty solid on the importance of certification.

I would like to add just a couple of things.

  1. Try to solve some problems on project euler or ACM UVA site. These problems will appear difficult at first but there are tons of helpful hints out on the web on these problems which will help you solve them. This will not only improve your problem solving skills but also sharpen your coding skills (like use of right data structure, coding for efficiency, etc).
  2. Another option that might help you stand out if you take on some self projects. For example, you can try to contribute to a open source project and highlight that as an experience on your resume. Here is a link to a somewhat brief list of open source projects in java.
  3. Do you still live near to a college town? Perhaps you can try to enroll in a graduate program in Computer Science. If that's not possible you can try to take some undergrad level classes to get some fundamental concepts ironed out.

Good luck!

share|improve this answer
Funny that you should mention Project Euler. I'm obsessed with it! Was working on it late into the night last night, and only let it slip today because of the news. I'm actually trying to scale back on them because even though I do okay on, and love, those problems, they seem to be serving more and more as an addictive sort of ego reassurance rather than a fun game. Grad degree is on the list too, just waiting for me to get a CS college degree equivalent. Unfortunately there are no schools here, so it's just me and books. And I'm looking at the open source projects. Thanks for the ideas! –  Tootsie Rolls Aug 30 '10 at 23:37
You are welcome Anita. –  CoolBeans Aug 31 '10 at 14:03
Project Euler are math problems, not programming ones. I wish people would stop mentioning it all the time. SCJP will make you understand the workings of the language which is important, among other things. –  U Mad Jan 13 '12 at 15:06
@UMad - Yes they are but solving those problems helps improve problem solving skills which is what we do as developers every day. –  CoolBeans Jan 13 '12 at 15:17
Problems on Euler progress very fast into realms where you need to know math (e.g. knowing properties of certain type of numbers) to produce a solution which executes in reasonable amount of time. This is far far removed from challenges of designing systems, which IMO is the hard thing about programming. –  U Mad Jan 13 '12 at 15:24
add comment

Yes, for 3 reasons

  1. It shows that you possessed a body of knowledge at a certain point in time.

  2. It is a great way to be busy with something you like doing

  3. It shows an employer you have the stamina and drive to achieve non-trivial things.

1 and 3 give you an edge in the employment market, I would say nr 3 weighs more than nr 1, but plenty of other candidates won't have this. In the virtual reality game that a hiring process is, this is a distinct advantage.

Nr 2 is a personal bonus. Nr 2 is what gets you through and is the intrinsic motivation employers are also looking for, but they cannot measure it and you cannot fake this. (Good hiring manager can spot this: they see the twinkle the eyes).

Go for it!

share|improve this answer
add comment

First of all, Certification does not guarantee anything. Sorry to say that. Getting certification tells others that you can answer the given problem set. No more no less.

As you say in your question that "I think my goal now is to become a professional programmer". Do professional programmer must have a certification or CS degree? They mustn't. Pragmatically, i will say that professional programmers do programming to make life.

Now, in your case i will encourage yo to do so because :

  1. When you try to achieve such certification, you need to learn in some way. This, of course, will improve your skill.
  2. In interviewer eyes, not having a CS degree is a big weakness. But you do something to fix this weakness. That is getting certificate. Hence this big weakness turns into big strength.
  3. "Professional" or "good" or "able" are very qualitative words which can't be measured precisely. To measure that, we (mankind) invent techniques to change those words into something quantitative. It's called certification in Programming world. Further, in programming, certification doesn't represent "professional" nor "good". It represents "able". Hence, having a certification quantitatively proves that you able to write computer program.
share|improve this answer
add comment

Raw intelligence and curiosity will definitely take you further than any certification.

That's not to say that the Sun Java certification is a bad thing, but as someone who's hired people before I definitely look for raw talent and relevant experience - these are much more important than certifications.

My normal advice would be to just apply for the jobs you want, and then if you want a certification get your company to pay for it as additional training while you are on the job.

share|improve this answer
add comment

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