Skip to content

Fighting with software

Today I have been a programmer for 17 years and some change in days. I think I passed my 10,000 hours a few times over, so I am an expert. You could be forgiven for thinking I can conquer any problem instantly. I cannot. I still get my backside handed to me daily.

While I am not ecstatic about being a limited human most of the time; I am tenacious. I only stop when I decide a problem is not worth solving, or I need a rest or regroup to come back at something with renewed energy. Here are some things I have learned.

Some strategies when a problem is difficult

  • Take a break. Especially if it is urgent
  • Read documentation
  • Try to model or describe your problem
  • Pair with someone else; Especially if you have different approaches
  • Look for prior art
  • Search for guides or courses for the exact problem
  • Search for answers on the internet
  • Read a book
  • Run a debugger or REPL

Some strategies when something seems easy

  • Check with stakeholders
  • Write tests (ideally before implementing)
  • Teach someone else
  • Read documentation
  • Add flourishes
  • Perform a code review

Hopefully, these help you to fight back against imposter syndrome, and tackle problems that hit your ego. Too much ego is not good, but in my experience not many programmers suffer from that.