Never Stop Learning

If I could change one thing about education in America, it would be summer vacation. It's a hold-out tradition of a bygone era that not only wastes time, but reverses progress every year in our children. 

Worst of all, the sunny view of summer vacation is hardly universal and actually makes life harder on people relying on the education system to support their already thin resources.

I realize there would be immense logistical challenges in re-structuring the system - it would literally be cheaper and easier to put a classroom of children on the moon than to change the system to teach children in America for three more months - but I believe it's the most obvious public policy change in the history of this country and it's never going to be mentioned once this entire election.

So, what can we do about it?

In the world of software, there are thousands of hours of free materials out there. The only thing stopping a student from learning the skills of my job, is dedication and time. From seminar-based learning on Coursera to interactive learning on Codecademy, there are a lot of resources. I do think these are valuable - pretty much the whole world should take the JavaScript module on Codecademy - but I do think they are disconnected from career-oriented learning.

Most of my own professional development actually happens on Microsoft Virtual Academy, which is completely free.

While largely focused on Microsoft-based technologies, the site does a good job mixing in other technologies and is largely responsible for my optimism that Microsoft has come fully out of the mindset of the 90s.

For anyone interested in diving into web technologies, I would recommend signing up for MVA, downloading Visual Studio Community 2015, and making a "Learning Path" (IE, Playlist) of classes in MVA to dive into software development:

  1. Getting Started with Web Technologies - Tries to start at an actual 10,000 foot view of building web software, rather than starting with languages (the CS degress approach).
  2. HTML5 & CSS3 Fundamentals: Development of Absolute Beginners - It's always confused me that we send people out to learn JavaScript before actually getting to know HTML or the browser's purpose and behavior. 
  3. JavaScript for Absolute Beginners - A 21-part course that dives into JavaScript, jQuery, and AJAX.
  4. The Modern Web Platform Jump Start - Cuts across HTML, CSS, and JavaScript in a nice primer on how they go together to build applications. Anyone who doesn't understand the leap from making a website to building a web application should come away seeing the obvious difference with this course.
  5. Using Kanban Boards Jump Start - This is the best example of how getting good at building an app doesn't always mean getting better with code. Project management is a skillset for the entire software team.

After taking the Kanban course, you're fully prepared for the rest of your summer:

Make a kanban board for learning - make a card for every topic you want to cover - then spend the rest of the summer getting through it.

The board can be either a physical board or virtual one on Trello. When you find another topic, add another card. You now have an endless stream of learning and discovery, which is exactly what life should be.