Sometimes I look back on my life and wonder what it would have been like if I had never started programming. Obviously my career would be different, but I believe that programming has fundamentally changed how I think. Who I am as a person has changed significantly due to solving as many software problems as I have and the changes have been for the better.
Talking to a computer is not like talking to a human. Computers have no opinion. They don’t care about being right or being wrong. They just do what they’re told. That means that you can NOT simply be stubborn and win an argument with a computer through sheer force of will. Computers don’t care that you yell at them.
That was an important paradigm shift from what I was doing in my life. My primary activity, programming, required me to constantly think about what *I* was doing wrong. Stubbornness only resulted in me sitting in my chair, fuming, yelling at a computer that didn’t care that I was yelling at it, and making no progress. I needed to stop being angry and start thinking about what I was doing wrong if I wanted to get programming assignments done in time. Often that required using a different approach than my initial one. There goes my tendency to stick with poorly thought out initial opinions!
By the end I was prepared to deliver a broken product to my boss and say “this is the best I can do”. I was frustrated and couldn’t take it anymore. Then I realized my entire approach was wrong. I threw out all the work I had spent so much time in and re-wrote everything in two hours.
That is all it took to do what I needed to do. It was a harsh reminder that initial opinions are nearly worthless and that stubbornness only results in wasted time.
The lessons I learned from programming did not stay exclusive to my career as a software developer. They carried over into all other aspects of my life. I’m a much less angry and much more tolerable person to be around for those close to me. I also think more pragmatically when making decisions, whether it is figuring out how much to save for retirement or eating healthier. Most importantly, I have accepted that some things are just hard. Some problems have no easy answers. Often times the only solution is to hunker down and do the work to figure things out.
If you enjoyed this post, you may also enjoy: Teach Writing Code First
If you are interested in learning to code: try my lessons!