The best way to learn anything is to fully immerse yourself in it.
Coding is no different.
There is so much out there to learn. So if you really want to dedicate yourself to learning to code, you should be integrating code into your everyday life.
Doing so will keep it top of mind, and it will give you the motivation to keep learning.
In this post, we’ll get into the 11 simple and actionable things you can do- in about 5 minutes- which will help immerse you in code.
1. Subscribe to Coding Podcasts
Let’s face it. There are plenty of times when it’s not practical to be coding. For example, when you’re commuting, working out at the gym, or doing any other type of physical activity that doesn’t allow you to be on a computer.
Despite the fact that you can’t actually write code while doing any of these activities, they can still be great opportunities for you to learn.
Don’t waste these opportunities. Instead, try listening to some coding-related podcasts. There are a ton of quality ones that you can check out.
Here are some that I’d recommend trying:
- RubyRogues is a popular podcast about being a ruby developer.
- Giant Robots Smashing Into Other Giant Robots is a podcast by the people at Thoughtbot. Thoughtbot has written a ton of open source projects that are used by thousands of developers all the time. The host is Ben Orenstein, who is an incredible developer and has given a number of really awesome talks at Ruby events too.
- CodeNewbies Podcast is a great podcast for people breaking into the industry. Saron, the founder of CodeNewbies, hosts the podcast and routinely invites different programmers onto the show. She talks to developers who have just landed their first job. And she talks to super advanced developers, like John Resig, the author of jQuery (an open source project that is currently used by 71.4% of all websites).
- Sometimes, you’ll find interesting topics on non-programming related podcasts too. For example, Tim Ferriss recently talked to DHH (David Heinemeier Hansson), the creator of the ruby on rails framework, about a ton of interesting programming concepts on his popular podcast.
2. Like Facebook Pages and Join Facebook Groups
You know you’re a developer when you log into Facebook to look at cat videos and wind up being pulled into an interesting article about programming.
A great way to make sure that programming stays top of mind is to make sure that it shows up in your Facebook Newsfeed. You can do that by liking programming pages and joining programming-related groups.
Here are some for you to check out:
- The FirehoseProject Facebook page: Ok, we’re biased on this one. But liking our Facebook page is a great way to discover all of our coding-related blog posts, awesome images, and inspiring content that will motivate you to log out of Facebook and get back to coding.
- Study Web Development: our friend Kyle from SWD has an incredible Facebook page. He shares awesome, useful and often hilarious content, like this:
Don’t underestimate the value of Facebook groups, too. Make sure that you check out these groups:
- The Ruby on Rails Facebook Group. This has some interesting discussions about learning to code and the various projects the members of the group are working on.
- You can even discover new groups about technology, web development or related topics, like UX and design, from the Discover tab on Facebook. Try it out. It won’t take more than 5 minutes.
3. Watch TV Shows and Movies About Programming
Programmers often watch TV shows about other programmers. This can be a nice way to relax after a long day of coding.
The HBO Show Silicon Valley is a fun one to check out. It’s ridiculous in a not entirely untrue way, so it’s cool to watch the characters talking about code.
You could also check out Mr. Robot. This is a high suspense show about a computer programmer who gets recruited into an underground hacking society. The producers did their research, so it’s also far more true than the typical hacker-dramas that you’ve probably seen in the past.
But obviously, beware of anything you see on TV. A lot of the stuff you see is entirely untrue, usually in a comically bad way.
For example, check out this clip from CSI, where the programmer suggests “creating a GUI Interface with Visual Basic to track an IP Address.” Real programmers will laugh at moments like these because they always seem to use a bunch of buzzwords that typically lack any coherent meaning.
Watching coding-related stuff on TV can be a good break. But don’t spend too much time doing it. If you want to get good at coding, you should make sure you spend all the time you can actually writing code.
4. Sign up for a Medium Account and Follow Notable Programmers and Publications.
One of the first things that I do when I wake up is check my inbox for the interesting posts sent to me by Medium.
Medium will share the posts based on the people you follow and what your friends recommend.
Here are a few publications that you should consider following.
- RealWorldCoding.io is our Firehose student blog. Here, we feature really awesome posts that our students are writing all the time. It’s fascinating to get a peek into the minds of people who are pushing themselves to learn programming and change careers. I’d recommend checking out their stories.
- Signal v. Noise is the medium publication for Basecamp. For context, Basecamp’s founder, DHH, started the Ruby on Rails framework. Both DHH and Jason Fried (CEO of Basecamp) write excellent posts about tech, development and the future of the web. Their opinions often are very different from common beliefs, so it’s interesting to see their unique perspective.
- Startups, Wanderlust and Life Hacking is one of the largest Medium publications for a pretty good reason: the articles they share are fascinating. Although many of the posts aren’t directly related to coding, they’re certainly relevant for someone to read who is considering entering the startup world as a developer. This medium publication has awesome posts, like Freelancers vs. Entrepreneurs by Seth Godin. And The Surprisingly Simple Thing Slack Got Wrong, by Dharmesh Shah, the CTO of HubSpot a different massively successful company.
- The Personal Growth medium publication also has awesome posts about improving your life, changing careers and becoming a better version of yourself ever yday.
There are many other medium publications that produce really excellent content that is worth immersing yourself in too! Make sure to click the Follow button to the publications you find interesting!
5. Bookmark Some Awesome Blogs
If you really want to immerse yourself in coding, I’d recommend checking out these 2 blogs and bookmarking them for later.
- Joel on Software: Joel Spolsky, the founder of FogCreek, FogBugz, StackExchange (aka StackOverflow), wrote this blog. It’s cool because of his tone of voice. He’s super direct. The blog is no longer active, but the posts there are timeless and remarkably well-written. It’s worth checking out.
- Coding Horror: Written by Jeff Atwood, it contains some of the best programming articles on the internet.
6. Set Up An Informational Interview
An informational interview is a special type of interview. Typically, someone who is looking to transition into a new field (like software development) asks someone who is already in the field a bunch of questions about their job. People who conduct informational interviews early have a huge competitive advantage over people who don’t.
Informational interviews will help you expand your network, learn to talk the talk, and help you build meaningful relationships with someone who can help you out down the road. In a lot of cases, people who play their cards right can transform an informational interview at a company they like into an actual job at the company later on.
If you know the company that you’re interested in, you can probably find the email address of a developer who works there by looking at their GitHub account.
Use that to get in touch.
Then convince them to get coffee with you for a short meeting.
How do you convince someone to say yes? Programmers are often pretty busy, so you need to understand the right way to approach someone for an informational interview entirely cold. Here’s how I would do it:
I’d then search Linkedin, find some developers that work at their company, and do a Google search for “github [Copy & Paste the name]”. This should lead me to their email address.
From there I’d send an email like this:
Hi xxxxx –
I’ve been a user of the Grammarly product for a long time. Products like Grammarly have been a big motivation for me to find a career in technology.
I found your email address from your GitHub profile and wanted to reach out. I’d love to quickly pick your brain about what it’s like working as a software developer on such an exciting product.
Can we meet in person for coffee for 15 minutes – someplace near your office? I’d love to get your advice about what type of companies you think are the most exciting to work for and advice you’d have for someone like me breaking into the field.
Let me know, ok, xxxxx?
P.S. Just kidding about the typo.
Then I would try to just meet and have a conversation with this person for coffee.
If you manage to line up the informational interview, don’t pitch them on working for the company. Instead, follow up every few weeks and give them an update on your progress with learning to code. Months later, this quick email and coffee meeting could easily be something that gets you an in at a cool company.
7. Follow Developers on Twitter
The programmers who have built the tools you’ll be using are on Twitter and often talk about things related to the code you will be writing. Following developers and seeing their different opinions will give you insight into what the authors of awesome tools are talking about.
Keep in mind, different developers have different opinions. It’s common to find that one developer entirely disagrees with a different developer.
Here are the developers who I follow on Twitter. It might be worth your time to follow them, too.
- @dhh – as mentioned before, DHH is the creator of the Ruby on Rails framework. His tweets contain a mix of start-up lessons, programming paradigms, new technologies, controversial opinions and stuff about racing cars.
- @tenderlove – is one of the most active Ruby on Rails contributors. He tweets about performance optimization in Ruby, refactoring code in ruby, puns (both good and bad) and his cat Gorbachev Puff-Puff Thunderhorse.
- @wycats – wrote many libraries that became a big part of Rails. He built tools like Bundler, which Rails uses. He’s also worked on the Merb project, which helped change the direction of the changes that happened in Rails 2 to Rails 3. He also co-created the front-end framework Ember.
- @sandimetz – wrote POODR, Practical Object Oriented Design in Ruby, one of the best resources for learning how to architect complex ruby programs. She has also given a number of awesome keynote speeches at Ruby conferences, too.
- @codenewbies – is an awesome community, started by, @saronyibarek
So follow these people, and also follow @FirehoseProject while you’re at it to get awesome stories and advice from our team and our students every day.
8. Follow Message Boards
One popular site, Hacker News (aka news.ycombinator.com), includes links to other sites (usually ones about tech and programming).
Reddit can also be a valuable place to look for programming news. Subscribe to subreddits like:
And follow the programming articles that the reddit community finds interesting.
9. Check Out Meetup.com
You never know when a meetup is going to come to your neighborhood. Head over to meetup.com and join the programming communities near you. My suggestion is to search for:
- [city name] ruby
Next, just indicate you’re interested in programming. Before you know it, you’ll get fairly frequent emails inviting you to join other programming related meetups that you can use to expand your network.
10. Read Coding Bootcamp Blogs
- Course Report’s 2016 Coding Bootcamp Job Placement Demographic Report
- Course Report’s Guide to What Type of Coding Bootcamp to Attend
11. Find A Program That Helps You Build a Portfolio Page
Finally, if you really want to immerse yourself in code, why not get started coding and build out an awesome portfolio page? Doing so will teach you some fundamentals of programming and give you the motivation to keep on coding. Here’s one that I built in our new Firehose 2-Week Software Engineer Intro Course:
Our 2-week intro course is free and has no strings attached. We have real developers review your code, we teach you how to build an awesome portfolio page, and we help you learn some of the things that are talked about in all of the communities mentioned above in this post.
Like anything, becoming good at programming is about immersing yourself in the craft.
If you want to improve, the best way to do it is to completely throw yourself in. Actually spending time coding is the most important action you can take. But there are tons of really simple things that you also can do in your “free time” that can help you become a better programmer.
Try a few of these actions and see what happens. You might surprise yourself with everything you’ll end up learning.