My most embarrassing mistakes as a programmer, in no particular order:

  • I didn't ask for help
  • I was afraid of what others would think
  • I didn't follow through on a promise
  • I didn't step up and take responsibility
  • I avoided conflict
  • I didn't encourage others
  • I didn't publicly celebrate the success of others

My biggest mistakes had nothing to do with programming.

The most difficult parts of any job, and the most valuable activities of any job, have nothing at all to do with technology.

It's people. How we value ourselves. How we value others.

"Soft skills" is an awful term. The things we call "soft skills," such as listening, communication, team dynamics, empathy, ought to be given so much more priority in our workplaces. These are core skills that apply to anyone in any profession.

Here's the mindset I want.

To be the most effective member of any team, I must first strive to model integrity and work ethic. I need to be respectful, helpful, patient, gracious, trustworthy, and hardworking. I need to be transparent, such as asking for help, owning mistakes, and asking forgiveness, regardless of my fear of the outcome, because it's the right thing to do. When I see a failure in our system, not just in the work we create but also our system of work and treatment of people, I need to take responsibility, speak up, and see it through correction. I need to give people the benefit of the doubt, try to understand their perspective and circumstance, be slow to anger, and be quick to forgive. I need to encourage and lift others up and help them to see their career and life through a bigger lens.

I am a work in progress. I may not achieve these things every day, but that's my goal.

I hope this post gets you thinking of ways you can have a positive impact on the people you work with.

Remember, every day is a fresh start to be more awesome!