Most Common Problem in Software Development and How to Fix it
the problem:
- trying to do a big thing all at once
- one long, precarious, all-or-nothing tightrope walk
symptoms:
- too invested in your early mistakes
- you learn to hate interruptions and distractions
- takes a long time to pick up your thread again
- irritability about questions and meetings
causes:
- eager to make progress
- unsure how big it's going to be
- unsure how far you have to go
- belief that programmers are special
some remedies:
- planning ahead
- story mapping
- make small, focused commits
- write commits that explain your thinking
- keep your branch in good shape
- don't diverge too far from master
- rebasing better than merging?
- cherry-pick prep work onto master
- use interactive rebase, early and often
- practice switching away
- test-driven development
- learn to switch between the mental modes of red-green-refactor
- work outside-in with acceptance tests
- write tests that really do check what you care about
- take notes and write down questions
- practice explaining your train of thought
- talk to other people about what you're doing and why
why is this important?
- great developers are persistent, have strategies, and apply them methodically
resources:
source: youtube link