What is the core problem you are solving? What are the MVP features to solve that?
- Write down Input and Output
- Theorize all edge cases
- Think of simplest way to do it
- Think of all the possible ways to do it
- Mentally test and calculate Big-O to choose alg
- Pseudocode
- Write Code
- Manually/Progamatically test on all your edge cases
- Getting the opposite boolean expression from what I want
- Type errors in untyped langauges
- Don't actually think about what to do upon errors
- Remove complexity until it start working then slowly add thing back
- Change some variables/factors and see if it still breaks, local vs prod or extremely simple cases
- For package issues, if a google search/standard debugging doesn't help, check how new your release is and the github repo for issues. Consider changing versions