How do you get started in programming?
I recently received the email below from someone asking how he might get started in programming. I think this is a popular topic, especially given the current economic situation in the US (unemployment is high, but not in the tech industry). For that reason, I figured I'd post my response here and allow others to chime in with their advice.
I read about you on LinkedIn, forgive my intrusion. Since you seem like
an expert in the field of designing websites I wanted to know your
thoughts on switching into this field late in life. I am 41 and looking
to make the move from an unrelated field (finance) to programming. So
on C and Java. I have made some basic Android phone apps.
What languages do you think I should focus on? What is the fastest way to get up to speed to make a career of it? Classes? Take a entry level job? Study on my own?
Thanks for any insights….
It's interesting that you're switching from finance to programming. I
did the same thing early on in my career, but I was fortunate enough to
do it in college (I have degrees in Russian, International Business and
Finance) and therefore able to audit some CS classes before I graduated.
While it helps to have a Java background these days, the real sweat spot is the JVM and the containers that run on it like Tomcat and Jetty. A lot of Java developers are learning Groovy and Scala, but unfortunately a lot of their documentation/books are targeted towards Java developers.
The fastest way to get up-to-speed on it is to start your own project (if you can't get a company to hire you to do it). I'd suggest creating a webapp that solves a problem that you have, makes your life easier, etc. If you open source it and build a community around it, that's just as good as working for a company as far as experience goes. Combine this with studying on your own and you can likely come up to speed very quickly.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)