Live data from Hacker News

Ask HN: Mechanical engineer that wants to work in the programming field

news.ycombinator.com

1–10 of 37 posts

Ask HN: Mechanical engineer that wants to work in the programming field

#1
I am a 27 years old PhD in computational mechanics (finite element method, elasticity ...) who should be graduating in around 6 months. I have been tempted for quite some time by the idea of trying to get a job in the US and work as a programmer. A personal dream, I really would like to experience the life in the west coast for a few years. What are my odds of achieving that? Any advices on what I should try to learn or do in the next 6 months? During my PhD, I have been coding in Matlab, Python and mostly in C++ (I have read Effective C++, Modern Effective C++). I have learned OpenMP, MPI and Cuda (though, I don't consider myself very experienced in them) and I have taken an introduction course in algorithms.

Edit: Since some people have asked, right now I am in UK and I have an EU passport. Thanks for the very encouraging answers.

Re: Ask HN: Mechanical engineer that wants to work in the programming field

#2
I have an MS in Mechanical Engineering from an Ivy League university. While I got my degree I too learned Matlab as well as C. I wrote my masters thesis on a controlled mechanism for the breakup of microdroplets in a bidisperse emulsion.

Eight months after graduating and working in industry, I came to the same conclusion as you: that I preferred writing code to working in the mechanical world. I started learning Java and wrote an Android app. I'd stay up late at night and on weekends pouring over examples and hacking stuff together. Six months into doing that I got an interview at my current employer. I got the job. That was two years ago and it's been one of the best decisions of my life.

The key to doing it:

1) Prove to yourself and others that you want to be a programmer, that you actually enjoy writing code for hours a day

2) Have something to show that proves that

3) Find a company (like I did) that is more interested in finding people who know HOW to think rather than WHAT to think. As engineers you and I are very good at solving problems. Find people who care about that rather than the programming languages you know

4) Once a company takes a chance on you, seize it and run like crazy. Learn as much as you can. In a year or two you can be highly skilled and highly employable in this field.

Best of luck!

Re: Ask HN: Mechanical engineer that wants to work in the programming field

#3
I think in general the field (maybe not HR departments) is pretty accepting of people with alternative majors even outside of engineering - I know some great folks who had music or art history degrees.

Your challenge I think is to show initial work for job acquisition purposes, so being able to point to a very technical side project on your GitHub (and of course resume) for your chosen language will be a very good idea.

What language you choose depends on what field you want to get into, specially. Python is used in various places including web and database applications, but ultimately I'd say shoot for something you like. If you can find enough companies you like that work in X language, that can be a good way to go.

Good companies will assume smart folks can pick up other tools, but I think your main hurdle is going to be showing something that counts as sufficient "equivalent experience" -- and that should be possible to do.

College is highly valuable, but all of college C.S. is not always directly applicable.

Re: Ask HN: Mechanical engineer that wants to work in the programming field

#5
The main thing you need to do is convince HR and then a hiring manager that you have the skills to do the work. The best way you can do that is to have projects on Github that demonstrate your skill, and if you can get a little paid work using the toolset you're targeting, that would be great as well.

You have six months, so you can't be too ambitious on the size of your projects. Maybe target three interesting projects that demonstrate the skills you're interested in, each set to take two months of your time.

If you really throw yourself into this, you should be doing a lot of hard work, the kind of work a professional programmer does every day. After six months of that, I think you'll be well-positioned for a programming interview, and you'll have some nice projects on Github that will demonstrate your capabilities.

Good luck!

Re: Ask HN: Mechanical engineer that wants to work in the programming field

#6
The industry has a high amount of people that don't even have a degree. We've found that CS graduates need to be basically re-educated but still prefer to hire them purely because a degree shows that you can complete something. A PhD speaks volumes about your work ethic: you should have no problems getting hired.

Salary is a different story entirely: you're probably going to be a junior developer and the PhD will go to 'waste.'

Re: Ask HN: Mechanical engineer that wants to work in the programming field

#7
post #6

The industry has a high amount of people that don't even have a degree. We've found that CS graduates need to be basically re-educated but still prefer to hire them purely because a degree shows that you can complete something. A PhD speaks volumes about your work ethic: you should have no problems getting hired. Salary is a different story entirely: you're probably going to be a junior developer and the PhD will go…

Also, a few years down the road, the relevant experience you have will weight orders of magnitude more than your degree or PhD.

Right now, your decision should be based mainly on what you would like to do be doing in your professional life, don't sweat too much on your initial salary (which even as a junior developer, it should be at the very least decent).

Just keep practicing (hint, read "How to crack the coding interview"), and you should be fine.

Re: Ask HN: Mechanical engineer that wants to work in the programming field

#8
post #7
post #6

The industry has a high amount of people that don't even have a degree. We've found that CS graduates need to be basically re-educated but still prefer to hire them purely because a degree shows that you can complete something. A PhD speaks volumes about your work ethic: you should have no problems getting hired. Salary is a different story entirely: you're probably going to be a junior developer and the PhD will go…

Also, a few years down the road, the relevant experience you have will weight orders of magnitude more than your degree or PhD. Right now, your decision should be based mainly on what you would like to do be doing in your professional life, don't sweat too much on your initial salary (which even as a junior developer, it should be at the very least decent). Just keep practicing (hint, read "How to crack the coding in…

> Also, a few years down the road, the relevant experience you have will weight orders of magnitude more than your degree or PhD.

Precisely.

Re: Ask HN: Mechanical engineer that wants to work in the programming field

#9
What country are you currently in? If you can get a job at a worldwide software company and then do a placement in the US you'll have a much higher chance of getting a visa. If you can handle continuing to work in Engineering there must be a lot of options involving coding. Look at adverts for big engineering companies (in that area) and look for software jobs, that way you'll have lots of relevant experience.

Re: Ask HN: Mechanical engineer that wants to work in the programming field

#10
I have a BS in Mechanical Engineering and fell in love with coding after having to write some pretty basic VB macros in Excel. If your goal is to just live on the West Coast then I would recommend looking for a job in your current field. If your passionate about coding, the best thing you can do in the next 6 months is to build something meaningful that you can speak to. My route was a little different.. I struggled to find the time to learn/build while working full time so I decided to fully dedicate 3 months via Hack Reactor. I highly recommend checking out Hack Reactor if you have the means and interest in that branch of programming.
Post reply on HN