Top 5 opportunities for growth in software

I am a software engineering newbie. I thought that I knew a lot about it after I coded my first BASIC program on a TRS-100 way back in the before time, but now I see that the creation of software is a vast landscape of unexplored country and I have tender feet.

Here are my top five opportunities for growth in software engineering:

1. Over caffeinated coworkers

Engineering groups aren't known for health. Be it a selection bias towards sickly kids or an environmental poison, there are a lot of engineers who ignore their meat-selves and use coffee to dial in their attitude. When PARC was pushed out of the nest by Xerox and cost cutting measures started to pare away the luxuries which had accumulated over three decades, they left the coffee service alone. When I asked the Computer Science Lab director, Richard Bruce, why they didn't cut the coffee he said "I don't mess with people's drugs."

Growth opportunity: I can pay attention to where my coworkers are in their drug cycle and craft my messages appropriately. Right after a hit they can hear expansive and forward looking statements. When they're running on empty it's time to break out the hugs and the kudos.

2. Bug reports

If you look in any bug report database, at least 80% of the bugs will be completely useless for the purposes of finding and then fixing a bug. By the time someone using my software has had a problem, found out how to report it, and then jumped through all of the hoops, they've lost the will to write a single sentence. I reduce those hoops to the bare minimum but I've yet to use a reporting system in which people would write a coherent chunk of text.

Growth opportunity: I can practice relaxing into the moment and staying human while sending the "Thank you so much for reporting this bug! Could you tell me X Y and Z?" emails.

3. Metrics

In one of my coding gigs I had six systems tracking my work: The code repository generated statistics about my work. The shared to-do list app charted and graphed my work. I wrote weekly OKRs which my managers read to track my work. The daily standups notes tracked my work. The customer support system tracked my customer facing work. After all of that automated tracking, I also had two levels of managers stop by my desk every couple of days to review my work.

Growth opportunity: I can empathise with managers' desire to avoid surprises and I can sympathise with the team's resulting lack of agency and motivation.

4. Gnarly problems

If a project is challenging then I run into unexpected problems once a week. Just as no plan survives contact with the enemy, no design survives contact with a compiler.

Growth opportunity: To prepare, I can read widely so that I'm pulling from a diverse tool chest. To react, I can use both my waking and my background mind to work through the gnarls. I can treat each as an opportunity to explore a new solution space.

5. Smooth exits

There comes a time in every project when it's time to leave: I've done what I came to do, the remaining work can be better handled by someone else, the project's in a good state to hand off. Whether the project flamed out or rocketed to success, there's a moment when it is retooled for maintenance and it's time to go.

Growth opportunity: I can unclench and acknowledge that I rarely know in the moment whether a change is good or bad. Whether I've chosen the change or it has chosen me, I can let go of the project's many plans and responsibilities and open up to what's waiting on the far side. Also, I can take a vacation already.

Mark Twain wrote, "I was seldom able to see an opportunity until it had ceased to be one," but I think it's the other way around. Being a newbie makes all of software engineering an opportunity so I'm glad that I was wrong when I thought I knew it all.

Hitchcock was awake. Starlight filtered through the forest canopy and dappled the walls of the cabin he shared with Lester. A trio of Clytemnestra’s beetle bots was resting in Lester's sleep-crumpled dreads, occasionally flicking their wings in response to dreams. Sometimes he forgot ...

Clytemnestra was in fragments. Her programs were spread across her stolen space ship, the station she just stole it from, and the small bots that she used to steal it. As each program relayed its experiences to the other, an avalanche of memory effects like ...

Lester was obsessed. It had been a year since the massive beam of light printed the white sphere that invited humanity to a distant star, and he still spent most of his time inspecting the sensor logs in his office. Pictures of the beam and ...

Elizabeth Stinton was frustrated. Her simulations for turbulence in her theoretical air sinter were a mess and if she didn't have something to show at the next board meeting she was pretty certain that they'd sell her startup for parts.

The pounding in my head is in sync with the ticking of the escalator steps as they rise from the netherworld of the convention center's floor. I pull a smile from memory and ignore the sweat in my eyebrows. So many happy attendees, clipping ...

Last weekend I had coffee at the wonderful Uptown Espresso with a friend from a nearby Amazon office. I write "a" nearby office because he's working on a multi-year project so secret that he can't even tell people which building he's in ...