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.

More posts

Recent posts

  • One Hour Fiction: The Panelist

    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 ...

  • Agreements: Fuel for the Engine of Business

    Note: This is an old post. I am now a CTO and no longer offer this service.

    The first person I watched run a company was Bly, the owner of a computer sales and service shop in Athens, Georgia. She gave me, a painfully young ...

  • What I hope Amazon is doing in secret

    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 ...

  • It's safer in earthquakes, too

    "Trying to be happy by accumulating possessions is like trying to satisfy hunger by taping sandwiches all over your body." - George Carlin

    Happy Discardia, everybody! The weeks around the solstices are when we discardians let go of whatever is not adding value to our lives ...

  • Don't touch that dial

    I grew up in the future. My childhood room was next to an attic filled with science fiction so as soon as I could read I buried my nose in the universes of the great pulp era authors. I love it in that future because ...

  • The manual labor of code

    One day soon a robot will replace me. I'll be focused on some gnarly coding problem, happily munching on green grapes and slouching like the meatbag I am, when the interaction designer, call her Alice, will walk by and ask me if I want ...

  • The future-proof startup

    All of the production clusters I've retired have been ready to scale. As I pulled their plugs and listened to their disks spin down, as I slid them from their racks and thanked them for their service, each and every one of them was ...

  • What is "The Bear"?

    There was a distinct moment when I realized that I had completely borked the accounting system for my photo mapping startup. It was February of 2004 and I was living and working out of a tiny apartment in Berkeley and had spent two days tracking ...

  • Face down on the cutting board

    On the day I found out that my wife was cheating on me and had hired a divorce lawyer, I was defeated. I bailed out of the 3D web startup which I had been sweating over for years, leaving two of the nicest partners I ...

  • One big machine

    The infrastructure I use in teams and those I use for my personal projects are quickly diverging and it comes down to this question: What can one person do?

    When I'm working on solo projects like Transmutable Work or Science Saints the key word ...