How to Find a Programming Mentor

I have collected a group of mentors over the years. I call on them frequently to talk through tough problems. I think I’m better at my job because of this regular, impartial outside feedback. I’d wish this for everyone! In this post, I’ll try to reverse-engineer the path I took to get here. I think it comes down to three things: finding smart people, being mentorable, and giving back. Find Smart People First, you have to find great programmers to learn from. ...

January 31, 2022

Why Getting Good Solves Most Career Problems

What should you focus on at the beginning of your programming career? My unflashy answer is: being really good at programming. “Be So Good They Can’t Ignore You” My thoughts here are borrowed from Steve Martin, who advises entertainers to “be so good they can’t ignore you.” When you’re objectively great at your job, things start to get easier. Programming is tough. There is an insane amount to learn across languages, platforms, and tools. You’re going to be building mental models, pushing your limitations, and considering counter-intuitive ideas. Just when you think you’ve got it all figured out, it changes. ...

October 13, 2021

Consultancy Cycles

Working at a quality software development consultancy like Hashrocket early in your programming career could be a game-changing move. For background, I worked for six and half years at Hashrocket in Chicago. I started as an apprentice and left as a senior developer. I worked with brilliant people on interesting, challenging, and profitable products. I got to write Ruby, Elixir, Node, React, SQL, and even some PHP, spoke at RailsConf and ElixirDaze, and drove internal projects. ...

August 4, 2021

My Annual Review 2019

Here’s my annual professional review covering 2018. Milestones Here are my milestones from 2019. This year, I: 🎉 Ported this blog from Rails to Gatsby.js. I am ecstatic about this change. Writing React and markdown, and deploying with GitHub, makes for an effortless workflow. I also open sourced the codebase. I’d love some PR’s or issues on the repo. Received a challenge coin from Code Platoon for work as a volunteer. Thank you Rod! I love being a part of this community. Created and administered, along with my colleague Suzanne, an internal Developer’s Survey for Hashrocket. We presented our findings (everybody really loves React and TypeScript) at Hashrocket’s Summer MiniConf. Tried out working 100% remotely. I enjoyed the experience. Along the way, I learned the value of a good coworking space. Doubled my Stack Overflow reputation (1,511 points this year, top 3% of the site for 2019). There are a lot of people out there who need help with their code, and I’m happy to give back. I’m coming for you, Jon Skeet! Spoke at Ancient City Ruby 2019 about React.js. My preparation included some of the most challenging source diving I’ve ever done. My slides are here; video forthcoming I hope. I’m averaging one conference presentation a year, which feels right. Thanks for the opportunity to share, ACR. Mentored four Code Platoon veterans. Proud to have been a part of your journey, Ben, Kyle, Christian, and Hal. Good luck out there. Taught SQL three times at Code Platoon with my friend Jack Christensen. Got paid by a client to write Elixir code for the first time. Attended my first RubyConf with coworkers and friends old and new. Spent some one-on-one time with my programming idols. What did I learn? Here are some of my takeaways after another year in the programming trenches. ...

December 31, 2019

Learn to Test

What is a skill one could learn to set themselves apart from other entry-level programmers? Testing. The web frameworks of today all have mature test libraries. Hashrocket’s default tool is Ruby on Rails, and testing is a fundamental part of that community. Everything we do is test-driven. New apprentices who come into any consultancy will have a lot to learn. At Hashrocket we use a pretty customized setup of Vim and Tmux, and have a ton of aliases and shorthands that can be hard to pick up. Our apprentices pair program with full-time developers, on real projects. It can be daunting at first. ...

July 15, 2016