Tell me more ×
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 would like to have some ideas for building up my foundation CS skills. I have started programming computers 10 years ago and have made a pretty good career out of it.

However, I cannot stop thinking that the path that brought me here was very particular, and if something goes wrong (e.g. I get laid off) it would be harder to find a job here in the US on the same salary level, OR in a top company. The reason I say that is that I am a self-learner; my degree is not in Computer Science so although I master C/C++/Java, I do not have the formal CS and mathematical background that many other software developers (esp. here in the US) have.

When I look at job interview questions from Apple, Google, Amazon, I have the impression that I'd flunk those technical interviews at some point. Don't get me wrong, I know my algorithms and data structures, but when things dive too deeply into the CS realm I am in trouble.

What can I do to close the gap? I was thinking about a MSc in CS, but will I even UNDERSTAND what's going on there if I'm not a CS undergrad? Should I go back to basics and get a BSc in CS instead?

I always tend to go into self-study mode when I want to learn new stuff, but I have the impression that I will need more formal education in CS if I want to have a shot at working at those kinds of companies.

Thank you!

share|improve this question
1  
Fvck Apple, Google, and Amazon! There are many more amazing companies out there. – Job Feb 19 '11 at 4:23
@Job: Be constructive. Provide examples. – aqua Feb 20 '11 at 7:58
+1 for sharing the same ghosts. I would have asked this same question had I not found yours. Civil Engg. grad here, 5 years into java and python – Optimus Jun 10 '12 at 9:49
I am disappointed by the answers though. – Optimus Jun 10 '12 at 9:54

migrated from stackoverflow.com Feb 19 '11 at 0:31

4 Answers

If you have professional experience, employers won't even look at your BCompSc degree.

Experience in the workforce is valued so much more than your degree you've completed. The only thing that I'm concerned about is that you didn't state how many years experience you have as a programmer. You mentioned that you have 10 years of programming under your belt. Unfortunately, that won't amount to a lot (on paper) if you don't have any work experience.

As for your big-name companies, anyone can - and most will - flunk the technical test(s) regardless of whether your bachelor's degree is in arts or computer science. What distinguishes the person that the big-name companies want to employ from the not-so-special programmer is what the person has done independent of their (usually computer science) degree.

share|improve this answer
Very true------ – Nicklamort Feb 19 '11 at 1:34
What If I actually want to self learn to increase the scope of my knowledge so that I can be better at what I do, and get involved in geeky comp-sci discussions my friends have? – Optimus Jun 10 '12 at 10:00

If you're good enough, and have something (other than a diploma) to show for it, I don't think you should have any problems getting the job and salary you deserve.

You say that maybe you lack a deeper knowledge about CS. Well, you don't necessarily need to get the diploma. Just start learning. You're lucky that MIT open course ware exists. Dive right in and have fun learning :-)

share|improve this answer

A lot of the jobs you're talking about require a BS in CS related field. Aside from that, I wouldn't have so much doubt. There's nothing wrong with self-study. I'm an undergrad in a CS relative field (GSP), and I would say some things that might help you bridge the gap would be to learn the basics: Design, UMLs, binary, Assembly code, and learn lots and lots of math (algebra, trig., discreet math, physics, and calculus if you want to be lite). Education is is good at giving you a great basic foundation to go from. Most companies don't care for this though, they just want you to hit the ground runnin'. They are more interested in the results, and not so much if you actually understand what's going on behind the scenes, or even how you got it to work XD

share|improve this answer

If you're serious about self-study, get a copy of Introduction to Algorithms (Cormen et al.) and start reading. It will be a tough slog, but that book thoroughly covers the basics of computer science. And since it's a widely used text book, a used copy should be reasonably cheap.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.