I don't know everything.
But that's too much of an obvious statement to mean anything.
I don't know everything and I'm ok with that.
Over the past decade of software development, I've created opinions of my own rather than regurgitating the opinions of my mentors, blogs I've read or books I've skimmed. I don't mean to use "regurgitating opinions" in any negative connotation. When I first started in this career, I didn't know anything and I looked to my mentors for guidance and advice. I looked to them for my opinions. When they were disgusted by SOAP interfaces, so was I. When they said guids should never be used as primary keys, I believed them and never tried to use them. But eventually, someone would challenge my "beliefs" and I would either:
- Discredit them or assume they didn't know what they were talking about
- Take to heart their point of view and try to reconcile it with what I knew
The first part of my career was centered a lot around number 1, but I've worked really hard the past several years to move my ego out of the way in order to grow.
It took me a while to be honest with my self and realize that I took people's challenges very personally at times. Digging deep, I realized I felt it was almost an attack on my competency, as if they were denouncing my experience or skills. Couple this with the fact that I'm a two time college drop out and my ego suddenly became very brittle.
There was one time, in particular, when I was first leading a team. A junior dev would ask me random trivia questions about .NET or C# to see if I knew them. Some of them I didn't know and he would proudly tell me the answer. To me, that was challenging some pseudo authority I had granted myself. I felt as if he was asserting his dominance over my informal education or trying to show that I wasn't qualified to be where I was. This, in turn, made me dismissive of his input or propel me to be extremely critical of his ideas and approaches.
Damn, even as I type this out, I'm still ashamed of how I felt back then. It was pathetic and my heart hurts when I think about my son and daughter learning how fragile daddy's ego can be.
It took me a long time, and a lot of introspection, to realize that he merely wanted to impress me. Yeah, I felt like a big douche canoe afterwards. Instead of challenging me, he saw me as an authority and wanted to try to prove herself against a higher bar she set. A bar she set with me in mind.
I've got many stories of how my ego precluded me from adding value or cultivating deeper relationships with those around me. Thankfully, I know myself better now and I'm better equipped to handle it. Every now and then, however, I can feel myself slip into that deep abyss of self-doubt and sulk at the sunken pillar constructed of my fears and failures. This can cause me to lash out to those around me and manifest in ways that people can't really see.
What's interesting, though, is since I'm a very sensitive person, I'm often acutely aware how I come across to others. Once I realize I allowed a vein of fragility to infect my confidence and composure, I'll go back to the person afterwards and apologize. However, they are typically completely oblivious to the internal Goliath I was facing at the time and had no reason to believe waters beneath didn't match the calm, glass like surface.
I've gotten a lot better at this over the past 7 years; it's been a real focus of mine. When I feel myself hardening within a shell of pretentiousness and entitlement, it's a sign to me that I need to humble myself and remember that I'm not playing some zero-sum game where if someone else wins then I lose. I haven't opened up to many people about this struggle. I'm writing this post as a cathartic means of freeing myself from those chains in hopes others can tell me their experiences and tell me if they struggle with their own ego at times as I do.
However, even if no one agrees and all I get is an inbox full of "don't be a pretentious douche canoe", I'll still be content. This career I've chosen is starting to become far less about software and far more about value. Don't get me wrong, I feel very competent as a software developer. But I'll admit when I don't know something and I'll be the first person to ask you what the acronym means that you said in a side remark discussing your project's problem.