I apologize if this is not the suitable place to be seeking advice.
I would like to switch careers from mechanical engineering to programming. Many of the projects I currently work on (weapon systems for the US military) will not be complete for another 15-30 years. I want to change careers because I enjoy programming, and because I would like to be a part of projects from start to finish.
About me:
- I graduated in 2006 from Carnegie Mellon University with a bachelors in Mechanical Engineering.
- My depth-sequence courses involved C++/Java programming of tools that emulated 3D modeling programs---3D coordinate data would be exported from one program, manipulated by my code to fit a suitable viewing format, then imported into another program.
- I've taken Introduction to Intermediate Programming (a java 100 course) and was a Course Assistant for that same class the following semester.
- I've taken additional miscellaneous student-taught courses ("Fun with Robots"), where we used WinAVR to program tiny two-wheeled robots to follow light-sources, complete mazes, etc...
- I am currently writing an iPhone game, using Objective-C, hash tables (NSDictionary) and Core Animation.
I want to be a programmer or developer, whether it be for robotics, mobile device apps, or websites. I have the following questions:
What is the general timeframe/range for a single project in the following fields? (any kind of info would help me, even if you tell me they're all the same, or random)
- Web developer (1-2 years per project?)
- Robotics programmer (2-5 years per project?)
- Mobile app developer (1-6 months per project?)
With my given experience, would anybody hire me as a programmer?
- If not, should I consider going to grad school for Computer Science? Have I missed out on some vital programming theory because my programming experience is all from practice?
- Would it help to dedicate my time toward personal projects to put into a portfolio?
Thank you in advance for any advice you can give me.
-yujean