Chris Oliver: Creator of GoRails, Hatchbox, and Remote Ruby Host on Learning to Build Software
Tags: career, podcast
Published: 2019-08-16 13:20:56

Chris Oliver (known in the Twitterverse as [excid3](https://twitter.com/excid3)) is the creator of GoRails.com, a screencasting and learning service for developers interested in learning Ruby on Rails. He also built Hatchbox.io, a hosting service for web applications. 

Other than being a successful developer-entrepreneur, Chris also hosts the Remote Ruby podcast.

On Wednesday, Chris joined me to record an interview for my podcast [devpath.fm](https://www.devpath.fm/subscribe). We talked about his beginnings in the software industry, a number of his successes, and some of his struggles.

{% podcast https://dev.to/devpathfm/gorails-creator-and-consultant-chris-oliver %}

A common trend in Chris' life story (and most of the other [developer stories](https://www.devpath.fm/episodes) I've had the good fortune to record) is a passion for learning new things.

So it's no surprise that he spends his time teaching developers the intricacies of Rails, as a large amount of his time is spent mastering the skills he shares in his screencasts.

During our conversation, Chris conveyed three or four really valuable insights about his own journey that contributed to the success he has experienced so far in his career.

### 1. Repetition works

Chris recounted the story of an early application he built. A GUI based tool for downloading Linux packages with spotty or nonexistent internet.

The process was tedious and took place over five years. He rewrote the application 6 or 7 times, but in the end, it was one of the most important steps in his journey learning to code.

Each iteration of the application was better than its predecessor. By the final rewrite, Chris had a firm grasp on Python and a really successful side project to boot.

![Bart Simpson writing "I will not write fat controllers" on a chalkboard](https://thepracticaldev.s3.amazonaws.com/i/l9t3f34nphr1vqxxl66v.png)

This practice of repetition has followed Chris from that early side project, into his career as a consultant and educator.

During the interview, he said, "If I'm teaching something, I spent the last week learning it."

Furthermore, Chris related the idea back to mathematics in school. In school, you're introduced to a concept, then your teacher assigns homework. There is nothing like 40 instances of the same problem to help you retain the process and the concepts discussed in class.

Repetition works when you're learning to code. It's hard, but it works.

### 2. Learn in the open

That project Chris built, for downloading Linux packages without much internet access, was a pretty huge success for someone just learning to code. So much so, he was featured in a Linux magazine.

The reason Chris spent so much time on that little application could be traced back to the community he was involved in.

Chris talked about getting help from Linux users on forums and in chat rooms and wanting to give back to those helpful people. This project was his way of doing that.

Once he shared it, it started getting traction. Others, who had trouble with their internet access, downloaded the application and used it to download the software they wanted.

By putting the project out in the open, Chris found a large source of motivation to keep improving it and keep working on it. He also reaped the benefits of building something real people used. Later, Chris would land one of his first work opportunities because he was able to talk about the code he wrote when he was learning (that real people were depending on).

### 3. Break down the hard concepts

In the most difficult part of every interview, I ask my guests about [imposter syndrome](https://www.jh.codes/ryan-bigg/) and I ask them to share an area they struggle with. Chris talked about his frustrations with the front-end and algorithmic thinking.

![Man Working Using A Laptop](https://images.pexels.com/photos/2696299/pexels-photo-2696299.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260)
<sup>[Man Working Using A Laptop](https://www.pexels.com/photo/man-working-using-a-laptop-2696299/) by [Oladimeji Ajegbile](https://www.pexels.com/@diimejii)</sup>

When I asked Chris how he dealt with that problem, he told me it was just a matter of realizing each thing was learnable and achievable when it was broken down into smaller concepts. For him, breaking the problem down into pieces meant it could be solved, one step at a time.

Chris prepares for his screencasts the same way, breaking down a problem into a digestible video that his viewers can follow along with. Because it works.

Integrating some of Chris' techniques into your own learning could be a really effective way to build your skill set as a developer or build a business like Chris.

If you're interested in learning from veteran engineers like Chris, subscribe to [my newsletter](https://pages.convertkit.com/674caf55d4/f30f7753a7) and [follow along with the podcast](https://www.devpath.fm/subscribe). I have upcoming interviews with engineers all around the world who have built amazing careers for themselves.