Each year (mostly) I conduct a review to reflect on the ending professional year and
share the results of that review on this blog. Here’s the full collection:
This has become a favorite practice for me. The changes seem small day-to-day,
but over a year they add up. Writing this review helps me feel like I’m going
somewhere. Keep showing up and doing your best, everybody, and here’s to a
Here are some of my milestones from 2020.
- Started building a software product, per my 2019
goals. Can’t share more yet, but I’m psyched.
- Went remote and built a home office. Being remote has brought a
surprising collection of joys. It helped that our entire industry
simultaneously went remote due to COVID. Thank you Hashrocket for supporting
- Consulted for four clients in the legal, PAAS, and retail domains, writing
Ruby and React.
- Launched two newsletters: React Explained and TIL Monthly. I learned that
writing a newsletter is a ton of work, and highly rewarding.
- Signed on as a startup advisor for an entrepreneur in my network.
- Built a Les Paul copy electric guitar from a kit. I did quite a bit of
soldering, and had many opportunities to reflect on the similarities between
lutherie and programming.
- Shipped a COVID-inspired art project, The
Bell. The purpose of this project was to
feel connected with other people, build something calming that defied simple
explanations, and direct visitors to a charity supporting relief efforts. It
was one of my favorite projects ever.
- Taught SQL to three cohorts of Code Platoon
with my friend Jack Christensen, revisiting our perennial theme that
‘databases are important.’ Congrats Kilo, Lima, Mike platoons.
- Spoke at Hashrocket MiniConf (Florida and remote) about WebAssembly and
- Migrated my note-taking system from
LFTM to Bullet Journaling. Bullet
Journaling won me over because it’s a pen-and-paper system, supporting my
larger goal to limit screen time.
- Mentored two Code Platoon veteran students for an hour a week. Thanks for
all your hard work, Daniel and Jarrett.
What did I learn?
- Remote pairing all day is challenging! I believe that pair programming is one
of the most effective ways to work. It also requires a high EQ, mixing
engagement and vulnerability. Remote pairing is even tougher because it
removes body language.
- “Give updates without asks.” This is a concept I picked up from my business
partner. When building relationships in a network, keep people in the loop
about your progress without asking for something every time. I think this is
a brilliant way to make networking feel less transactional.
- The value of a great product manager is massive. The blog post Momentum > Urgency helps define this feeling for me. I’ve known a
couple of Drews in my career and each one felt irreplaceable.
- I acquired enough design and project management ability to fill those roles,
when required. Doing some of the DailyUI challenge
pushed me to learn Sketch, developing fledgling
opinions on colors, fonts, layout, and accessibility.
- UI design is a legitimate area of expertise. If you want your application to
look and feel professional, hire a professional.
- “It’s too hard/risky to rename this” is a code and organizational smell. To
quote Martin Fowler: “Never be afraid to change the names of things to
improve clarity. With good find and replace tools, it is usually not
- As a senior developer, when arguing that something should be done because
it’s a best practice, you have to understand the why and the tradeoffs.
Having that information in your back pocket increases your believability, to
borrow a Ray Dalio term: how likely it is that the argument you’re making is
- On #LearnInPublic: you’ll only get feedback from a fraction of the people
that you might be helping and inspiring. That’s okay. Keep going. By the same
token, if you value the content somebody is making, tell them! You’ll make
someone’s day, and maybe encourage them to continue.
- “Don’t ask for advice, ask for a code review.” If you want great career
opportunities and influence on your team, learn how to write the best code
you can. There’s a lot more to the job, but proficiency in the codebase is
the fee at the door.
- “Never get off the ladder of learning.” This is a quote from a mentor.
Knowledge is currency in this industry. It must grow with inflation to retain
- “The best way to get the right answer to a question is to post the wrong
answer on the internet.” I posted my vimrc on
stirred up quite a bit of feedback. Apparently nitpicking people’s Vim config
is an r/vim tradition. I certainly got closer to the right answer for me!
- Execution is at least as important as most ideas. To quote Paul Arden: “Do
not covet your ideas. Give away everything you know and more will come back
- Buy the best computer you can; the dollar differences will amortize. I’m
still working full-time on my 2014 MBP.
- Starting anything requires a few trips back to the drawing board. If the
first version of every idea was a success, everybody would be an entrepreneur.
- Neglect ergonomics at your peril. The longer you program, the more it
- I get as much or more out of mentoring than I put in. I’ve learned from every
person I’ve mentored.
What did I write about?
Here’s a collection of my writing this year from the Hashrocket Blog, this
blog, and Hashrocket TIL.
Thanks to my family, my business partner, my colleagues, mentors, and mentees,
clients, and Hashrocket. I wish you all a wonderful and healthy 2021.
What are your thoughts on this? Let me know!
Join 100+ engineers who subscribe for advice, commentary, and technical deep-dives into the world of software.