2 min read
how-to-think-like-a-genius-programmer

Related:


Summary summary

[[./Black box thinking|Black box thinking]]

Understanding broader relationships between code and the overall process. What comes before and after this code, and where can optimization/problems happen?

Collaboration

  • how will your contributions affect other people and other downstream processes?
  • coding with other people in mind: meaningful names, [[./clean code|clean code]] practices, and comments
  • your code might be maintained by someone else - what can you do it make it easier for extensions or refactoring?

Improve the wheel

  • know when to use other code to your advantage
  • allows you to spend time on other meaningful parts of the project
  • don’t just copy and paste - change and improve things where necessary to fit your build

Think in processes

  • programming is about learning underlying problems and possibilities
  • don’t just limit yourself to conventions of the coding languages you’re learning/fluent in
  • think things through - thought experiments: if I need to go from A to Z, what does it take?
  • many people think about the coding languages themselves and not about problem solving or improvements

[[./Failure is improvement|Failure is improvement]]

“Failure” is an opportunity to learn and strengthens your problem solving muscle. Approaching problems with a framework, understanding where your code went wrong, and scaling down intimidating projects are applicable everywhere (not just in coding)!