Principles for better design

This is an incredible post!

Design is a creative activity that aims to invent, improve and solve problems. Life is full of them, in various domains, which pushes people to eventually become a designer of something. Whether you’re conceiving a recipe, an apartment layout, a software or a rocket you are designing. By learning the fundamentals, you will arm yourself for various situations. Here is a list of the best pragmatic principles I’ve learned to better design. In spite of their obviousness and renown, my experience has shown me that some of these principles are often forgotten.

Principles for better design

The highlights are:

  • You will fail and have to accept it.
  • You must first write dirty code and clean it.
  • […] Learning to write clean code is hard work.
  • It requires more than just the knowledge of principles and patterns.
  • Robert C. Martin — Clean Code: A Handbook of Agile Software Craftsmanship Reuse what exists It is unlikely that the problem you face is fundamentally new.
  • In software engineering for instance, design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system.
  • Adapt this technique to find out what really matter in the design.
  • Decision: instead of developing a complex program which exports PDF, write a simple on-boarding guide for the customers.
  • That it makes the compromise “complexity / coffee taste” great.
  • Perfection requires infinite time and energy.
  • – Ralf S. Engelschall Simplicity and incremental improvement principles give birth to a another principle: Postpone complexity.
  • Complexity lies in early generalization.
  • How are you going to ensure that you do not forget to implement the principles you have just learned?