Skip to content

Latest commit

 

History

History
69 lines (36 loc) · 6.54 KB

47-my-goal-is-to-ship.md

File metadata and controls

69 lines (36 loc) · 6.54 KB

My Goal is to Ship

My anthem to decades of software development

Photo by Szabo Viktor on Unsplash

In approaching twenty-five years of software engineering, I live within a growing loop of memorable projects, recently delivering again. In the haze of its accomplishment, I asked myself the question, "what motivates me to develop?" I've learned the answer - to embrace the never-ending chase of shipping the next thing.

Smoothing These Rough Edges

Shipping has been my goal all along. My measured reactions to people's behaviors help me see things through. When I began, this exercise was uncomfortable, but now I'll adjust to find common ground, with humor, prioritizing what is to be solved.

Smoothing my rough social edges has come over time. I've learned crafting software contains invisible friction points. Attributes like conflicting motivations, priorities, shiny objects, lack of testing, and over-hyped clean code can slow development. I'm sure I missed so much more, but what is clear is how lethal these could be.

For what I can control, I've overcome these challenges by mellowing combative opinions for partnership. It's still tough to do well, and I don't always get it right.

Once disagreements settle and we see eye to eye, I find pure joy when a project aligns and exceeds escape velocity. There is a familiar feeling of being "on." The result is I'll ship with a team, sharing it with the world.

In Shipping, I Cannot Switch Off

Even with years of newfound tact, what frustrates me profoundly are projects that sit on shelves. I've learned to push them to a conclusion, negotiating their way out the door. If I sensed a project was permanently stuck, I'd leave it behind, despite others who chip away at it.

In shipping, I cannot switch it off. Being "on" means my mind keeps working no matter what mental hacks I deploy. My subconscious pops the stack and bubbles up, solving problems as I breathe.

In these years, I've learned how to handle these inconsistencies gracefully. For me, there isn't a 10 to 6. Thinking happens at odd times. This unmanaged time range causes strain on my relationships that matter, fatigued by continual moodiness.

In pursuing the solutions where my motivation peaks, nothing around me seems beautiful until this burden is taken care of. When it's "on," I push others away. When it's defeated, I'm happy for a moment, hugging my loved ones. Then I come crashing back down again, discovering danger at these peaks.

When I Burned Out

Sometimes in these long-tailed moments, mistakes happen. I sacrificed my family time. The decision depended on what it meant to ship. Failing to keep balance had consequences.

With years in software and a passion for completing things, my probability of burning out was certain. In the middle of my journey, I did. I endured physical pain for months, unable to take care of myself. Amid this broken mind, my love looked after me as I recovered and to my parents, who supported me through the trial.

It isn't a wonder that this pursuit is my addiction. I know that if I open the book Hackers, in exactly the middle, it reads, "[Software] will consume all of your spare time, and even your vacation if you let it." For me, it had. As I exited the suffering, I learned a toolset, a support network, to mitigate its future advancement.

Being "on" is a thrilling rush, but I no longer prescribe heroics. I understand there are times I must push myself to ship. Triangulating this sacred trigger has happened a handful of times in my career, and lately, my acceptance has a higher bar.

Seeing it Through Is What I Value Most

For products I've participated in, a familiar observation has formed. Projects break apart after they are delivered. A new process begins, measured by the magnitude of its intended impact. Finishing a new project will require months or years of searching for it, then when I find it, time invested until it's released.

It’s a Regular Wash Cycle

Preparing to deliver the next requires recharged personal momentum. I learned there is limited time, so when I ship, I must be diligent by setting a date, prioritizing its list, and cutting scope. This process repeats with variable excitement in a never-ending cycle. My wisdom, as in naming familiar phenomena I'd discovered along this journey, makes it easier.

There is a growing list of products I've contributed to in these twenty-five years. Many have shut down, and a rare few engaged by millions. What is certain is that after I left, a new team rewrote these popular products.

Perhaps it's a regular wash cycle. I understand these releases inherently create a perpetual maintenance burden to serve a lack of engagement. For products that kept going, iterations of teams dissolved into the ether. All is not lost. I'll export the learnings to the next project. It's threading this needle and seeing the next through is what I valued most.

Here Is to another twenty-five

As I age, memories have formed from my first IRC login, traveling to offices, and recently joining a Webex, Discord, or whatever they choose. I desire to surround myself with dedicated people who contribute solutions to a beautiful conveyer of intractable problems. Not only because we will ship together, but because I'll learn so much from their creative thinking.

It's clear what is important to me in all these years. To finish things I begin, my individualist pursuit of dedicated execution. My goal is to ship. That has never changed in this beautiful dream of crafting stuff in the sand.

Here is to another twenty-five.

Social Post

Personal #wisdom and #reflections of two decades in #software #development. #Shipping has been my goal all along.

Thanks to Danielle Arcuri and Steve Guyer

medium

Posted

  1. hackernews
  2. r/programming