The last time I learned a new programming language was 2004. I had been writing in Java for about four years, and then I heard whispers of a new framework called Rails that allowed engineers to write web applications in one-tenth the time of a Java web application. Over the course of a few weeks, I bought an armful of paper books, read them, and worked through the examples. A few weeks later, I built my first Rails application and brought it to work at Google.
But learning a new programming language today is a completely different affair. I've been trying to learn Google's new language Go for the past few years. I didn't succeed with my first attempt and I came away frustrated by the learning curve in 2013.
Over the fourth of July, I resolved to see this through. Again, I downloaded a handful of books on Go from Github and read them, this time on Kindle. Then I started to write an app to pull data from Mailchimp, enrich it with Clearbit and store it in a database. Pretty quickly, I hit a wall. My app wouldn't parse the Mailchimp data.
So I turned the internet, googled online coding help and came across CodeMentor.
Within 15 minutes, I was online with a seasoned engineer who was editing my code from his laptop four thousand miles away and pointing out my errors. Instead of spending several hours searching through forums, asking questions, or calling friends, I had a functional app. Cost: $15. Time savings: 4-6 hours.
I have read about the dislocations in education, from online courses like Khan Academy to bootcamps from General Assembly and Bloc. But this was the first time I've ever experienced the potential of the Internet to transform learning.
The instant response and help from CodeMentor gave me a feeling of progress and momentum - a critical part of what makes learning enjoyable. Plus, there's the human connection of someone earnestly trying to help me. No social capital required.
It's empowering: What couldn't I learn without that type of help? How to integrate a function. How to use Adobe Photoshop. How to write an API parser for Mailchimp.
Learning both in traditional institutions and in the workplace will be transformed over the next ten years. This little Go project helped me see and feel how much better it will be than even ten years ago.