markdown guide
 

"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

 

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.

 

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.

Classic DEV Post from Aug 18 '18

Using Python's Type Annotations

Python is known for being a Wild West language where anything goes. Besides indentation, code style and documentation is left mostly up to the opinion of the developer writing the application.

Behrad Khodayar profile image
Software Engineer, +10 years experienced web developer. Blockchain enthusiast. Fan of Pragmatism & Productivity

👋 Hey dev.to reader.

Do you prefer sans serif over serif?

You can change your font preferences in the "misc" section of your settings. ❤️