A journeyman engineer’s inflection point

The humility of really committing to your career

Ersin Akinci
5 min readOct 16, 2019
A potter turns a vase on a potting wheel.
Photo by SwapnIl Dwivedi on Unsplash

I’ve been writing code professionally for about six years now. I’ve had at least one job title with the word “senior” in it, though as a programmer, I consider myself a journeyman.

I’ve maintained a narrative during my short career that, for me, programming is just a means to an end. I spent most of last year mightily struggling to establish a full-service consulting firm and my bonafides as an entrepreneur. I’ve also entertained the idea of going back to school and picking up medieval history again. Whether destined to be an entrepreneur or a scholar, I’ve had the idea that programming has been but a stepping stone toward the financial independence that I would need to live life that I wanted.

I’ve also never seen myself as a true programmer. In all our industry’s conversations around inclusiveness and who gets to be a “real” engineer, it never occurred to me that I’ve excluded myself despite fitting a certain demographic profile. The thought that I might be a full-fledged member of that tribe has always brought up a familiar mixture of scorn and shame. Scorn for a group of people whom I’ve often stereotyped as unable to relate to or see me in all my complexity, and shame that I would never be good enough to really be one of them.

All these beliefs around my identity and ability have changed in the past year, however, and I feel that I’ve reached an inflection point:

I want to become a great software engineer. Not the next Steve Jobs nor the next Noam Chomsky, but a great programmer.

The factors that enabled me to really commit to engineering and the humility that comes with that commitment

One important factor in my shift has been to accept that craft brings me deep satisfaction and joy.

There are no abstractions, pro/cons, discourses or narratives for me when I’m directly engaged in crafting something small, whether it’s a bit of code or a stanza in a poem. That level of simplicity is both powerful and disarming. It strips me of a kind of illusion of power. In my mind, it firmly commits me to the camp of “people whose jobs will eventually be automated,” rather than aspiring to some capitalist class who made enough to retire early and get out of the rat race altogether. Maybe it’s generations of immigrant trauma speaking from deep within my breast. More fundamentally, I think that what scares me is the naked act of having nowhere to hide in the face of something that you’ve loved your whole life.

It also feels that I’ve turned a corner in my mental health. My focus shifted some time over the past year from wrestling with past wounds to enjoying the present, and although the healing journey never ends, I can look back now on a hectic process that seems to have cooled down. There were times when I thought that I would never get better and there are many people whom I drove away — and friends who stuck with me. In the end, it opened me up to accepting and giving love to the people and activities, like programming, that love me back.

If I had to summarize in a word what committing to this path feels like, the word would be “humility.” Humility in accepting my vulnerability:

  • I want the respect and admiration of my employers and coworkers, but I may not get it
  • I intend to achieve excellence, but I may not make it
  • I am saying “no” to other opportunities in pursuit of this one, but I may have chosen foolishly

Being humble is about admitting, with conviction and without shame, your desire, how far you have to go to satisfy it, and how uncertain the outcome is. True commitment and humility go hand-in-hand.

Now that I’ve committed to my career, what practical steps will I take next?

The next big step that I see in my career is to cultivate what I think of as an “engineering approach.” I’ve essentially been a skilled hacker until now, becoming proficient in frameworks and languages, learning the “how” and “why” but always in a self-referential way. I can tell you all the technical and historical reasons why, for example, Ruby is a slow programming language, and also I can tell you all the business reasons why that should (or shouldn’t) stop you from adopting it for your next application. But I’m still thinking in terms of “Ruby” or “JavaScript” or “KPI’s” or whatever soup du jour.

Some might ask, if I get the technical side and the business side, what more could I want? The answer is that I want to go deeper into my craft. I want a process, or a set of processes, for translating the words out of a PM’s or client’s mouth into a plan and then a product in a theoretically-sound, reproducible and predictable manner that still respects the artistry and chaos inherent to any software project.

Others might suggest that I’ve just described wanting to learn “first principles,” but in our industry that phrase implies an understanding of computer science proper. I want to gain an understanding of engineering first principles, which is an altogether different challenge and one that seems shrouded in mystery, despite many books and blog posts that claim to address the issue.

Engineering can satisfy my intellectual hunger as well as help pay for feeding it

And I don’t want to stop at engineering first principles. Ever since I quit graduate school, I always wanted to create a life full of sprawling, wildly cross-disciplinary intellectual projects. Honing my craft as a programmer can be a bridge on the main route to that life in addition to being a financial stepping stone. I want to understand the intellectual metaphors behind the engineering first principles that I learn, the deep mental patterns that unify the activity known as programming with writing poetry, the decay of dandelions, and the sizzling of summer. Out of Plato’s cave and into the sunlight.

The flickering of a monitor may yet illuminate that path.

--

--