4 ms·
I did my mechanical engineering and having a pain in finding a job. I'm planning to get into programming. What do I need to do to become a decent developer who
by mattfrommars 12y ago
I did my mechanical engineering and having a pain in finding a job. I'm planning to get into programming. What do I need to do to become a decent developer who is in demand and can earn decent money?
- eru 12y agoIt's easiest if you start hanging out with people who can program (and best of all, earn good money programming). There's lots you can learn on your own. Just do some web searches. Pick a language, and start learning. Python is great for a beginners. (I like Haskell, but I'm weird.) There are a bunch of auxiliary skills that help. Learn how to use irc (freenode is great), get familiar with github. Drop me a line, if you need more help. My email address is in my profile.
- cjslep 12y agoI graduated with a BS in nuclear engineering (which at NCSU is very close to a mechanical engineering degree). I now work the computational engineering angle, working both the CS and engineering model side of things. I can show what I did, but I don't have a singular piece of advice that can act as a silver bullet. - I was formally educated in FORTRAN up 'til the 95 spec. Many engineering codes still exist in it, so I've since rounded out OO Fortran. It helps me read legacy code, talk to the older engineers, and maintain it if need be. - I built a computer with a nVidia GPU chip: It helped me appreciate the hardware side of things and enabled me to write and run CUDA (CPU/GPU) programs, which offers a window into high performance computing (HPC). - I learned as much about the OSI stack as possible (I had the fortunate opportunity to take a week-long CCNA bootcamp training class) so I could have a rough mental model how networking works, which helps in distributed computing or HPC scenarios. - I already knew C, so I spent time spinning up on C++ and its ecosystem, as it can be popular in engineering contexts. If you are wanting to go the pure developer route then there are plenty of others who can provide better advice. I have come to enjoy the inter-discipline of CS and engineering.
- mattfrommars 12y agoThe jobs you got, did they require you to program or did you learn the languages on your own?
- cjslep 12y agoThey definitely required programming, but were understanding of any spin-up time it took to get on board. I did wind up spending large amounts of time outside reading and tinkering along with blog posts, wikipedia, and even good old-fashioned books. I took some of my class notes on equations and implemented them in a variety of ways as an exercise to get used to the language while keeping the engineering knowledge relevant. For instance, when I was blazing past a variance calculation, I was surprised to learn that catastrophic cancellation could occur in a naive implementation. Not because I "got the answer wrong" per se, but because a computer has limits (in this case: precision), and there's no way (in my mode of learning) for that kind of information to stick unless I have my hands dirty in the code. To go back to the languages though, I stuck to major ones and played with Python, C/C++, and Fortran. Python and Fortran I used online references to play with and learn, while with C++ I bit the bullet and read C++ Primer which is really hefty but I found to be very thorough (and a great reference).