

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

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).<p>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).<p>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.<p>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.<p>I'm also french canadian so please excuse my imperfect english!
======
frostmatthew
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!

------
Covariant
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.

------
spellboots
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.

------
websitescenes
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.

~~~
glitch273
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.

~~~
websitescenes
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.

------
perezda
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.

------
loginatnine
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!

------
fabm
If you're considering getting into Rails and wanting to accelerate the
learning process try something like Dev Bootcamp.

