Career reorientation, best way to get into programming/CS?

5 points by loginatnine ↗ HN
I'm 28 and a recent graduate of a mechanical engineering degree and an aerospace engineering master. I'm also doing a CS certificate part time while working full time at the transport ministry of my province (yea, I know, it's totally unrelated to my master's degree).

The problem is, I'm not happy with what I do. I've always been passionate about technology, I love programming and the challenges associated with it, I also love hardware (really enjoyed the hacking xbox ebook that did the front page on HN). But, for reasons that would take way too long to explain here, I never got into actually studying all that at university (except for the certificate).

I would like to get into programming, system development, embedded system or pretty much anything related to CS. I know it may sound vague, but I really have lots of interests and I'm sure I'd be pleased in any of these fields. Problem is, I don't have any real life experience, but I know how to program in C/C++, python, java, I even did some assembly. I also have a strong mathematical background. Like I said earlier, I'm really passionate about all this stuff, I learn very quickly and I'm willing to make any sacrifice to make it into this industry.

What would you guys do in my position? I'm willing to go back to school if necessary, I just want to make sure it's the right decision.

I'm also french canadian so please excuse my imperfect english!

9 comments

[ 2.3 ms ] story [ 34.8 ms ] thread
This is trite advise at this point, but the answer is "read code. lots of code.". You say that you "know" C/C++, python, java, and some assembly, but you likely know as much of those as I did when I graduated, which turned out to be approximately jack. Find an interesting opensource project, pull the code off github, and read it. After you've read it, try and understand how it works, and then tinker with it some. Do this for about six hours a day, and you'll be pretty good in about a year. If you end up submitting something to opensource projects, or record all of your code explorations on a blog and/or githumb, you can use that to get through the HR firewall when you finally look for a job as a software engineer. That might sound dour, but I found it to be worth the effort. Good luck.
I worked in food & beverage management for a decade before deciding to switch careers and become a software engineer. I did go back to school (but that's because I had never finished originally) but it doesn't sound like you would need to.

The key is to find a good interim step to bridge where you are now and where you want to be. What I did initially was find a job in a tech support-like capacity, I then used what I was learning in school to write applications to improve some things in my department. After about a year and a half I had a decent amount of non-academic software I had written between the stuff I was writing for work and side projects I did for fun/experience.

Once I was nearing completion of my degree and started interviewing for developer/engineer jobs I found most people interviewing me weren't interested in what I had done in school, what they were interested in mostly was the software I had written for my employer at the time and to a lesser extent side projects I had done.

tl;dr version is you probably don't need to go back to school, just find something where your current credentials will get you in the door, write stuff that makes life better for the people in your company, and be patient.

Hope that helps! Good luck!

Apply for junior developer positions at companies that interest you. If you can code, in this market you can get a job. With a strong mathematical background you will likely be snapped up. Seriously, apply to some junior developer jobs. I think you'll be pleasantly surprised at how easy it is to get a job if you can actually write code.

If you're not confident enough that you can write code well yet, then practice. Build side projects. Contribute to open source. Although a CS degree is informative, useful and enjoyable, it's absolutely not required currently.

Keep studying. Get coding. Do side projects. Do as much as you can. Study up on typical basics that interviews normally ask... data structures, algorithms, etc. You're smart and passionate - I don't know about your area but here in the SF Bay Area I don't think it'd be too hard to find something.
Thanks everyone for the feedback, I truly appreciate it. I will keep on working, reading and start applying for jobs. I will get into an open source project as well, I also had an idea for a little xbmc plugin. Thanks again!
If you're considering getting into Rails and wanting to accelerate the learning process try something like Dev Bootcamp.
Forget school... I did political science and realized I wanted to be a developer instead. I dropped out and started a web development company with virtually no experience. I learned along the way and never showed my ignorance to a client. If I wanted to know how to do it, I took the job and did it. Now I've done it all and am a very experienced developer. Make your own path and stick to it.
I would love to do something like this but how did you get your first few clients? I don't have very many friends or family in the tech scene so its been hard to get started. I'm trying to build a web app to show that I can do it but having paying clients would definitely speed up the process.
I built a company website made a company name and then just started asking businesses that had a weak web presence if I could help. I also advertised on Craigslist and job boards like elance. At first you'll get absolute shit jobs and barely make it but the more you do, the more people know about you and the better the work gets. I did some wierd projects that no one else would take in the beginning. Don't get me wrong, it takes sacrifices in the beginning but the work is there.