Things I’ve learned in 20 years of programming
Some things I&#x27;ve learned after 35 years;<p><pre><code>  1. learn how to communicate: being a good developer requires as much (more?) social as it does technical skills. I would recommend formal training and practice.
  2. question all assumptions.
  3. there is no silver bullet (read mythical man month).
  4. fight complexity and over-engineering : get to your next MVP release.
  5. always have a releasable build (stop talking and start coding).
  6. code has little value in of itself; only rarely is a block of code reusable in other contexts.
  7. requirements are a type of code, they should be written very precicely.
  8. estimation is extrapolation (fortune telling) with unknown variables of an unknown function.
  9. release as frequently as possible, to actual users, so you can discover the actual requirements.
  10. coding is not a social activity.</code></pre>