Alex Watt

About Blog Hacks Recommendations

Open Source for the Rest of Us

One of the amazing gifts that software engineers have today is the volume of free, high-quality, open source software. For instance, Python has 384,273 projects on PyPI. They span everything from utilities like Requests to backend Web frameworks like Django to machine learning packages like scikit-learn — and more. It’s incredible when you think about it.

When I started getting into software, I remember people talking about contributing to open source. And when I heard contribute, I was translating that to create or maintain, even when those words weren’t used. It sounded amazing — and overwhelming.

I’m very grateful for the work of open source creators and maintainers, and we are at no risk of appreciating that work too much. I am glad that we are talking more these days about how to sponsor open source work, as companies and as individuals, and have programs like GitHub Sponsors.

But open source contribution means more than creating a package or being a maintainer, as important as those roles are.

Continue reading →


How I Learned to Program

There are many paths to learning to program. I decided to reflect on mine and thought it might be valuable to share. This post was inspired by Dan Luu’s How I Learned to Program.

For me, this reflection underscores that craft knowledge is learned by doing. The essential way to get better is to practice.

2000’s

I was given a VTech Precomputer that let me write simple programs in BASIC. I remember writing a program that asked for your name and age, and would give back a string like:

HELLO $NAME. YOU ARE $AGE.

I didn’t do anything much fancier than that, but the whole idea was amazing to me - I could program a computer!

Continue reading →


Culture Wins

Organizations are not more effective because they have better people. They have better people because they motivate to self-development through their standards, through their habits, through their climate.

— Peter Drucker (The Effective Executive)

I haven’t been able to stop thinking about this. In context, Drucker is talking about how effective organizations leverage common people to achieve uncommon performance.

I was thinking about it from a talent strategy perspective: I think it’s tempting for leaders to overvalue hiring “better people” when looking to increase the effectiveness of their organization.

Fundamentally leaders are responsible for building healthy cultures, with good standards and habits.

Any leader who is hiring should ask: Is my team’s culture healthy and motivating to the team? If your culture isn’t already motivating people, then it isn’t going to motivate the “better people” you hope to hire either.

On the flip side, an amazing culture will motivate your team and attract others.

Bottom line: Organizations with good habits and cultures cultivate the best people. Culture wins.


Hack Days

There’s nothing like a couple workdays to put aside your regular work and do whatever you want. No regular meetings, no pings. You can work alone or on a team. What you do is up to you. Maybe you want to make something, fix something, or learn something (Bill Gates “Think Week” style).

Hack Days are about giving people that autonomy and freedom. It’s like a hackathon, codefest, etc., except it’s not limited to creating software.

Continue reading →


What I Learned About Work in 2021

2021 was a big year for me! The biggest change was getting married in May, but I also started a new job as a senior engineer at Shopify in March and got promoted to staff in the fall. As I was reflecting I realized I’ve learned a lot about work and thought I’d share some of the lessons.

I learned that changing jobs is sometimes the right move. I spent the first three years of my career at a startup. I joined as one of the first engineers and couldn’t imagine leaving. When I left, I wondered if I’d regret it. I learned that no matter how much you love a job, when you’ve given it your best, you can move on to a new opportunity with no regret.

I learned that pair programming is awesome. In software development, pair programming is when two people program together. I didn’t do this very often at my last job. I learned something from every single pairing session in 2021, and would like to do more of it in 2022. Pairing is a great hack for learning things you couldn’t easily learn any other way (“you don’t know what you don’t know”).

Continue reading →