The content of posts on this blog tends to come from my day-to-day experiences. Things that happen while at work tend to percolate out of when deciding what to write each day. I think this kind of relevance is good for two reasons: it gives me an opportunity to think through what happened, and I can come to a logical conclusion on how to approach a situation differently to produce a positive result.
This kind of raw introspection is not suited for everyone, which I think is a shame. When I was younger, I rarely noticed my own mistakes. This caused a stagnation in growth that I am still recovering from today. Each one of us should be our own harshest critics. If we hold ourselves to a higher level than anyone else holds us to, the push to better ourselves be innate and sustainable.
Pure self-criticism can be a negative force if not effectively controlled. It is easy to go down the path of thinking you are the worst programmer that ever lived. Feeling sorry for yourself is easy, which is one of the reasons why it is not the best way to live. Introspection needs to have a clear resolution in which you commit to do better next time. This makes a seemingly negative process produce positive results.
There are lessons that can be learned every day. Turning those lessons into positive, constructive behaviors is difficult. There is no silver bullet to this process. The whole process will seem futile until positive results are produced.
While driving home from work every day, I reflect on the experiences I had, and see if there are lessons that could come out of them. Being honest with yourself is the only way to truly get better. No matter how much I think I know, no matter how amazing people tell me I am, I am never satisfied. The day when someone becomes satisfied is the day they stop growing.
So, in the spirit of practicing what I preach, there are two lessons I took out of today:
- Be clear with others what they should expect from you, and be clear with yourself on what you expect of others.
- Own your mistakes.
Setting expectations is not a natural thing for me to do. Confrontation of any sort is still a hazy area, so I tend to assume people understand what I want from them without actually confirming it with them. Specifically, there are situations where I provide code to help address a problem, don’t communicate the problem it should address, then have to admit my mistake when the person on the other end misses gaping holes that my code missed.
I take responsibility for everything I’m involved in. If I give someone an incomplete solution, then the blame rests on my shoulders. Even if that solution was implemented in someone else’s code that they own, I am still the one to blame. Even if the tables were turned and I implemented incorrect code someone gave me, it is still my problem.
I care about the high level I hold myself to. If someone holds themselves to a lower standard, my standard remains the same. I could not live in a world that acted otherwise.
Holding myself to a high standard means that I have to answer to myself for my mistakes. Because I hold myself accountable to a strict expectation, letting myself down always hurts less than letting other people down. The despair of letting others down tends to compound and makes me feel worse.
I do all of this, I think of all of this, I care about all of this because I have a fire inside to be the best I can. That is what matters most at the end of the day. As long as I can hold myself to my mistakes and vow to never commit the same ones twice, then the catharsis (i.e. blog post) is worth it.
The post Expectation Setting and Owning Your Mistakes appeared first on Zach Gardner's Blog.