5 ms·
As many people have said, no, you're not too old to get started. And despite what some people might say, a multi-year degree program, with a decent GPA, is a gr
by chadnickbok 13y ago
As many people have said, no, you're not too old to get started. And despite what some people might say, a multi-year degree program, with a decent GPA, is a great way of showing employers that you're a decent potential candidate.
That said, software engineering is one of the fields you can get employment without a degree, provided you can 'show your work'. The hard part is building up your skills in a way that can easily be demonstrated. The common wisdom these days is to create a github profile, build some interesting things, commit to some open-source libraries, and use your profile as a resume of sorts.
Here's interesting article on being a well-rounded programmer:
http://jasonrudolph.com/blog/2011/08/09/programming-achievements-how-to-level-up-as-a-developer/ http://jasonrudolph.com/blog/2011/08/09/programming-achievem...
We're also in a 'golden age' of self-guided learning, with online tools to help learning galore, here are a few:
http://codecademy.com http://codecademy.com
http://www.codeschool.com/ http://www.codeschool.com/
https://www.khanacademy.org/cs https://www.khanacademy.org/cs
Also, get a few decent books on "Programming 101". Common wisdom suggests you learn C, one of Ruby/Python, Java, and a functional language like Haskell. Here are some good books to learn from:
The C Programming Language (some people say you should start here, I'm one of them!):
http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628 http://www.amazon.com/Programming-Language-2nd-Brian-Kernigh...
Learning Python:
http://www.amazon.com/Learning-Python-Powerful-Object-Oriented-Programming/dp/0596158068/ref=pd_sim_b_5 http://www.amazon.com/Learning-Python-Powerful-Object-Orient...
Learning Java:
http://www.amazon.com/Learning-Java-Patrick-Niemeyer/dp/0596008732/ref=sr_1_1?s=books&ie=UTF8&qid=1370135112&sr=1-1&keywords=oreilly+java http://www.amazon.com/Learning-Java-Patrick-Niemeyer/dp/0596...
I hope you do choose programming as a career, its been very rewarding for me :)
- boingyjump 13y agoThank you for taking the time to put together the links! The "show your work" part feels like the hardest, but I guess that's just something I have to push towards to figure out. As an aside, do you know anyone who's learned successfully from codecademy/codeschool? I love the idea of them, they just seem really simplistic.
- michaelochurch 13y agoI'm injecting my own language bias here, and I must admit that this is not an opinion that everyone agrees with, but I think you're better with Scala or Clojure than with Java. (Both run on the JVM, so you end up learning the Java ecosystem.) Scala is a "better Java" and you can learn both the JVM and functional programming (take Odersky's course on Coursera). Clojure is a great Lisp but the Java stuff will be very confusing if you haven't seen it before (the JVM-interop functions like proxy, gen-class, and reify don't have the easiest APIs). This (Structure and Interpretation of Computer Programs) is a great book to get started on the deeper aspects of CS: http://mitpress.mit.edu/sicp/full-text/book/book.html http://mitpress.mit.edu/sicp/full-text/book/book.html Also, I like this one: http://www.amazon.com/Concepts-Techniques-Models-Computer-Programming/dp/0262220695 http://www.amazon.com/Concepts-Techniques-Models-Computer-Pr...
- johnjlocke 13y agoWhen you're first starting, you have to be simplistic. That is the target audience anyway. The ability to write code is going to continue to be in demand, and there are not enough people with the necessary experience to fill some of the positions out there. How to solve the problem? Start developing tomorrow's programmers today.
- chadnickbok 13y agoThe are quite simplistic, but that's kind of a feature - Use them to get down 'the basics', before moving onto actually using languages to solve problems. There's no better way to learn than through building actual 'things'. As an aside, my very first introduction to Python was competing with a friend, building scripts that would automatically create accounts on a forum, login to those accounts, and then use them to give ourselves 'karma'. That weekend I learned more than I'd ever known about Python, HTTP and web scraping. Its a silly example, but mini projects like that can really help you learn.