Fortunately over the last few months I have seen the light and understand that if I want to build global-scale applications I need to re-educate myself on modern web development best practices.
I began a few weeks ago by studying Cloud Architecture and even going so far as to obtaining "AWS Cloud Architect" certification which has given me a good understanding of end-to-end scalable and highly available cloud architecture. I've also studied Google App engine and Azure and have a good understanding of the pros/cons of each service. I also already have a good understanding of DNS.
For a number of reasons I've decided on deploying my next few applications to Google App Engine, although I also have plans for some projects on AWS too. Because of this I've also decided Python could be the best language to use for scalability, rapid development and to take maximum advantage of Google's range of APIs. Although I've also been tossing up the idea of learning Java which would also allow me to easily work on some other non-web-based applications I'm looking at developing at the same time including mobile App development and embedded hardware.
My ultimate goal is to have the skills to be able to rapidly deploy scalable, responsive and maintainable web applications, mobile app back-ends and APIs (i.e. Google Cloud Endpoints). From a startup POV I also want to be able to effectively outsource further development of my applications.
I don't want to turn this into a code war (PHP vs Ruby vs Python vs Java) however I'm interested to hear your thoughts on how I should go about learning the following skills in the most efficient way and anything else that may be useful:
- Are there any good courses or books that cover a number of these topics?
- Is there anyone that would be interested in tutoring me in the Auckland CBD area?
- Any good web-based resources that cover the whole spectrum of web development?
-- THEORY --
Agile Software Development
Version Control (git / mercurial)
Object Oriented Programming Theory
Big Data / Map Reduce / SQL
-- LANGUAGE --
Python (or Java)
-- FRAMEWORK --
web2py (or GWT / Spring)
Google App Engine