|
|
|
Ask HN: Mechanical engineer that wants to work in the programming field
|
|
46 points
by replicant
4103 days ago
|
|
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. |
|
Unless you want to do web development, you shouldn't try to sell yourself as "just a programmer." If a company is only looking for someone with programming skills they will probably favor someone with a CS degree.
Instead, leverage your background. There are lots of companies in the US (West Coast included) that do embedded software, robotics, and other types of software development where the software doesn't run on x86. Often it needs to run in real time and be qualified for safety. The methodical persistence and attention to detail that companies associate with a PhD is an asset for these types of positions. Your Matlab & Python experience will show that you can do both quick prototyping and heavy analysis, while your C++ experience and interest in Cuda, etc will show that you care about performant software and don't mind thinking about the actual hardware your code runs on.
If you have any knowledge of sensors, statistics, or signal processing, you'll probably be an instant hire for this type of company. Companies of this type (which aren't "software companies" by the usual definition, but which have software as a major competitive advantage/requirement) have trouble finding people with the right background. Traditional engineers who can't program don't fill the role, and neither do most CS grads who don't have the engineering knowledge to work with the hardware.