DEV Community

Discussion on: What are your guiding principles in software development?

Collapse
 
bgadrian profile image
Adrian B.G.

The response could be an entire book, but a few that comes in mind:

  • do not forget you have to solve a real problem, and that is your goal
  • use proper tools, ex: if I can solve the problem by using a bash command or a spreadsheet in 5min each month is ok, even if I know few programming languages
  • KISS, this can be applied in many things, and is one of the hardest to comply. eg: do not over engineer, do not future proof, do not apply micro-performance smart code or "code tricks"
  • DRY but only until it makes sense, and it doesn't: over complicate things or make unnecessary dependencies (between modules/services)
  • Single source of truth (applies to Code, Data flow, documentation)
  • if you had to make a manual action, more then 3 times in a month or so, automate it
  • keep project-level consistency, even go to extreme enforcing linters warnings as a blocker to PR/merge. If the base is rotten, probably is full of bugs.
  • leave the code better than you found it, everyday, every task, every sprint