Thoughts: Self-trust as a developer
This is a little vulnerable post, but I feel has the accountability for growth in my confidence, professional development and ability to influence I always focus on delivering in my role.
Throughout my life as a professional developer life I've felt like many of us, a sense of always 'becoming'; a feeling of being out of place, somehow behind in my understanding.
It sometimes led me to normalise second-guessing of my intuitions leading to a self-identity which disempowered me in acting with bold self-assuredness necessary to make impact and build positive influences to affect the culture around me.
As I gained new experience in roles and teams and ever-emerging gaps in my knowledge, I viewed these as evidence of some inadequacy; assuming that those around me, seemingly acting out of a strong conviction in their own intuitions, exuded greater poise and confidence from simply having more objective knowledge.
Carrying this background unease always seemed to make decision making excruciating, unable to step fully into a course of action, leading to a chronic state of unease and low-level anxiety which hampers my ability to feel peace and so experience flow.
"...as our island of knowledge expands, so does the shore of our ignorance"
I perpetually lived in that mode of self-talk.
But I have of late understood how I was perhaps under-selling myself to myself. This is actually a more a function of being in the world, particularly as a developer and someone who is introspective and thoughtful; aware always of the myriad things I don't yet know. Or don't even know I don't know! We have to allow space for this, and that's ok.
But it doesn't need to affect our self-regard.
Hyper-focused on aspects which others - depending on the context in which I was criticising myself - were particularly good at relative to me. I perhaps chose in those situations to evaluate myself harshly without recognition of the other, equally valuable skills I bring as a developer to a technical conversation in the real-world, where stakeholder-communication and commercial impact is important to understand, and where my less experienced self would not have stepped into, which I now find second nature.
There comes a time - even if after over one and half decades of being in the web industry when we must finally accept as part of the table stakes of what it is to be a developer.That this is the game and that it was never meant to culminate in a justified feeling of knowing what one is doing.
The process of being a developer, delivering, in the real world, on stuff that matters and is complex, is the same each time...
We begin with an intention; a requirement. We've often no idea where to start, so we reach out to others, interpret the (often lacking) documentation.
Try things.
Frustrate and feel inadequate. Maybe even fail.
But we revise the approach, repeat. Until we gain that understanding of how it works, and we are rewarded with a new bit of knowledge, only again to repeat from a place of ignorance at the next turn. But each time we pay into our reserves of self-trust and develop the skill of leaning.
We must make peace with this; full knowledge of the craft and our ecosystem, even at the local level, is a mirage and wishful thinking; but that would be boring! We must instead learn to operate with self-trust, in spite of it.
As developers, we need a certain self-assuredness; part of our job is to make executive decisions, over and over, and be resilient making small decisions in how we implement things, and importantly, in our intentional communication with stakeholders.
Perhaps what I have overlooked is how my experiences in different teams and sectors has exposed me to that aspect many developers might shy from.
I had undervalued this in myself, so while not the greatest coder - this is not the be-all when operating on real-world, complex systems. My experience then, has given me the ability to communicate in a way that is relatable and personable to the business, while also prioritising engineering standards. This is how I see business value as so closely tied to technical standards...
I'm less interested in writing fancy code; indeed 'boring' tech is often the most effective if the goal is to optimisation for people, simplicity. More about understanding what outcomes we want to deliver to users; what makes the business makes money in the long-term, and therefore what represents the value in our output.
What makes the money
Value != technical prowess. It's much more ordinary. Unless we're at a startup, we're all care-takers, grounds-people, gardeners...metaphorically. This represents the majority of a developers' career, despite what the FANG persona might signal. And we know that even these companies operate under a familiar weight of legacy like the rest of us.
Less tech debt. Better DevEx. Happier developers, more retention, quicker onboarding and time to iterate and deliver value. The path downwards from this is unfortunately exponential in its impact on these things in my experience, and so is business-critical to care about. The user experience is the money-maker.
Catching self-talk, go-forth despite
Back to the self-talk; the doubt, negative comparison of myself, always opposed my confidence and true ability to impact those around me positivity. So recognising this, I have been catching myself and questioning where these feelings come from, and reminding myself a more zoomed-out, positive view of myself would allow me to step into that self-identity, to trust my experience, and act on my intuitions unhindered by self-doubt.
This was a little note to myself really; captured here to keep me accountable to this pledge to myself.
I aim to bring this every day to work, and I will sometimes fail in this. But I'll be mindful of the need to catch myself, course-correct my thinking; and treat myself with the same respect and elevation I would extend to others, because being able to serve others at work; mentoring, advising stakeholders, and enthusiastic pairing I so love - must start with a regard and trust in oneself.
.