ln wondra

software engineer

I've been a software engineer for the better part of a decade. I have a number of opinions, and processes I use to support them.

Iterate on processes, not people.

I work under the assumption that my coworkers, like myself, are all trying their hardest to do a great job. If it were possible to will yourself to be perfect, one of use would have figured it out by now.

But, you know.

It's not.

Iterating on people--that is, trying to make improvements in an organization through one person's individual, personal effort--is almost never the right response to an issue. People are limited. They try, but then they forget. They become distracted. They become overwhelmed by the other pressures in their busy and beautiful lives. They also have personal, sometimes rejection-sensitive responses to criticisms of their personalities (understandable and human!). People also change jobs, and the new people who join your team don't have the context and history you built with their predecessor.

If you want to iterate effectively, don't iterate on your people; iterate on your process. Build systems that will lift you up when you are at your best and at your worst alike. Document those processes, and audit them regularly as a part of your cadence of iteration. Build systems where you and your coworkers can stride or stumble into success.

Think about cadence

More important than any particular meeting or vacation is establishing a cadence that you can sustain.

A sustainable cadence includes rest.

A sustainable cadence also includes frequent, regular refinement and addressing of technical debt.