What has programming taught you that you keep-in-mind/use in your daily life?

Did you find this post useful? Show some love!

"Programming is the art of doing one thing at a time" (source: Working Effectively with Legacy Code by Michael Feathers). This applies to both the code itself and the act of programming. Don't refactor and add features at the same time. Keep your commits small. etc. In life, it's a kind of mindfulness mantra. "Do one thing at at time. Wherever you are, there you are."

Another adage that my dad taught me which comes up a lot in programming and in life:

"Slow down; you'll go faster" and "Do it right; do it once" (the latter is semi-equivalent to DRY "Don't Repeat Yourself" but also it about trying to find the right approach the first time)

I really liked the "Programming is the art of doing one thing at a time". Also "Slow down, you..." once again proves that having technical debts will decrease your project's pace.

I feel that I owe a great deal to programming. It really has taught me a general and systematic approach to problem solving:

  • When learning any new skill, focus on specific tasks: Rather than doing a lot of general reading, first pick a problem to solve, then do just enough reading to solve that problem. Next, pick another problem, and so on.
  • Break a complex problem down into smaller constituent elements: When getting confused, start with the simplest thing that you still don't understand.
  • When something doesn't work, systematically work through all possible combinations, starting with the simplest ones.
  • Never make assumptions about the nature or root cause of a problem. Let the actual evidence guide you. This last one I have to re-learn on a regular basis!

For me the most important one is: Things take longer than it seems at first look, so I try not to promise/plan based on my first estimation.

Making tasks small and easy to complete, which minding the big picture. This works for both

  • showing visible value to those that you're working with (working agile)
  • reducing complexity and improving motivation by seeing results quickly.

Refactoring is a difficult yet very necessary step in the development process

Continuous exposure to minor problems will eventually drive you mad unless you have a way to deal with them.

Keep calm and don't let the bugs eat your sanity.

It taught me that failing is fine, and that if you fail long enough, you will eventually succeed. I wish someone explained it to me when I wanted to start coding 5+ years ago.

Classic DEV Post from Aug 8

Got My First Pull Request Accepted and Merged

Holy Shit, I Made Something That Someone Else Was Like "Ya, that works." Check...

Follow @jackharner to see more of their posts in your feed.
Behrad Khodayar
Software Engineer, +10 years experienced web developer. Blockchain enthusiast. Fan of Pragmatism & Productivity
Trending on dev.to
Any idea how to start blogging as a developer?
#discuss #idea #blog
What discontinued company/product do you wish was still around?
Choose Your Next Article Topic With This Exercise
#writing #productivity
Breaking up with my mouse (Mac edition)
#productivity #webdev
Why "Just Unionize" Doesn't Work
#career #gamedev #computerscience
How banks handle our balance, technically?
#explainlikeimfive #programming #databases #design
Designing A Voting System For 1 Billion on the Blockchain (Part 2) - How To Keep A Secret
#blockchain #opensource #architecture #discuss
Who is hiring? (As of October 2018)
#whoishiring #discuss