Why I started teaching people to write code

7 min read Original article ↗

Josh Owens

Occasionally, I get a question about ‘Why teach Meteor?’. I thought I would just put my answer here on Medium for anyone to read. A number of years ago I started working in a co-work space with other developers. That office happened to have a man named Jim Weirich in the same office. I knew of him, but we had never really met until I started co-working. Having written Ruby for 3 or 4 years at that point, I felt like I knew a lot. Turns out I was still young and green in my field. Just working near Jim, I started to learn a lot about concepts like metaprogramming, test-driven development, and so many more topics.

Fast forward about a year. My wife and I moved to a new part of Cincinnati, and it turned out I moved a block away from Jim’s house! Thus began a much more regular relationship with Jim, we would ride-share into the office once a week or so. I always enjoyed that time because I could ask Jim all kinds of things about programming. I got to pick the brain of an amazingly skilled mentor! Riding to work became a great self-improvement exercise for me. Our topics didn’t always center on programming, but more often they did.

Over the next few years, my knowledge continued to grow. I started to pair program and work with other developers. Pair programming helped me get all kinds of software writing knowledge, best practices, and experience working with clients.

Sounds great, what changed?

I think there comes a point in everyone’s life when they start to think about their legacy and how they can change the world to be a more positive place. Jim passed away over a year ago, which was a very sad day for me and the Ruby community. That triggered the deeper ‘mortality & legacy’ thoughts for me. Even more so when I witnessed the outpouring of love and admiration for Jim. It was amazing to see how he had touched and changed so many people’s lives for the better. As far as I know, Jim’s last commit is the only source code page on GitHub with a special design on it. There were thousands of comments left on the page.

It affected me to see this amazing torrent of appreciation. I started to try and understand why that happened, what had Jim done to impact so many people? I paid attention to the comments and thought about what I knew about Jim and how he approached life. He was a good speaker and a very down to earth guy. He also spent a good amount of time teaching people in both paid and free environments. His role at edgecase was to travel and give talks at Conferences. He educated people in workshops and passed on his knowledge in many ways.

After reading a lot of the tweets and the GitHub comments, I came to realize that his open source work played a big part too.

Making a shift

Back in August 2014, while I was on vacation from my job at Differential, I started talking to my wife about my ideas for teaching people and helping grow the Meteor community. She was encouraging and excited when I explained how and why I wanted to do it. Of course, starting something new is always a scary proposition. We talked for so many hours during our car ride, trying to figure out how we could afford to go this new direction.

Now, I had some knowledge about how to approach building a product based business because I had taken the 30x500 course. I started to put that knowledge to work, doing research (safaring), starting to write some knowledge (ebombs), and just generally trying to help people. I knew this would help me build an audience of people who are interested in what I am doing. I also took some advice from a 30x500 alum and dropped my weekly consulting time to 4 days a week, at a higher rate. I took one day a week to work on my new Meteor Club idea.

I reached out to Brennan Dunn, the most famous of the 30x500 alumni, and we had some conversations over email. He said if he had it to do over again that he would have started with training, then books, then a SaaS app. I took his spot-on advice and put together Mastering Meteor.js. I haven’t looked back since getting that launched. My goal and direction for my business is to encourage and ‘grow’ more Meteor developers into our community. I am trying everything, even if I can only do it one developer at a time. I’ve achieved this goal, people from my classes are now starting to land full-time Meteor jobs at places like OK Grow and Tor.sh.

All the emails

This story came back to me in May because Meteor Development Group asked me if I could put together slides to tell the Meteor Vanguard about my business. I put together some slides and reflected a lot on how I’ve gotten to this point. The downside of running a mailing list for Meteor Club means I get a lot of people that respond to my emails. Don’t get me wrong, I love that this happens, but I have always done a crappy job of managing email. That is part of the reason I made the Meteor Club Pro slack chat room; I found it much easier to pay attention to instead of my inbox. So if you emailed me and never heard back, sorry about that. I’m trying to get better, but as the Meteor Community grows, I think this is a losing battle for me :)

Get Josh Owens’s stories in your inbox

Join Medium for free to get updates from this writer.

I promise I do read all the emails that come in :)

I also decided to try a new idea of connecting with fans of the podcasts, Crater, or Meteor Club itself. I have two weekly 15 minute spots to chat with Meteor fans.

My apprentice series

As I mentioned earlier, I experienced some pretty awesome skill ‘level-ups’ when I started working at a dev shop called Gaslight. They made a business choice always to pair on client projects, 100% of the time. Mind you, this isn’t an easy thing to sell, but having witnessed it first-hand it is a smart thing to sell. The client gets more value out of pairing because the code produced is almost always stronger than if a developer sat alone. Plus the amount of knowledge transfer that can happen as you pair program is just astounding to me.

So armed with the knowledge that pairing is awesome and a great teaching tool, it occurred to me that I should try to incorporate it into my plans. I am happy to say that I’ve started a series of youtube videos where I work with someone new to Meteor. We work on a project together and record it. I try to keep them to an hour; I hope people learn from it.

You can see some of them on my youtube channel.

I also love to help people understand Meteor in other ways. Many people have questions they would love to get answered, so I started the Meteor Club Q&A series too.

Now what?

My goal is to grow the Meteor development community, one dev at a time. I have a few things in the works to help with that:

  • 8 days of Meteor is available — it is a guided daily set of emails that walk you through building a meteor app from scratch
  • Mastering Meteor.js just launched — I converted my live online class into a self-paced video course that covers build a real practical application in over 8 hours of video
  • Patreon Support — Want access to the super-secret high-quality slack chat room? Join the $10 level and be prepared for funny images and memes in between the lively discussions and debates that we have

This journey has been an interesting ride so far. I am hoping for 12 more months to continue diving deeper into this experiment!