Exiting the Swirling Void
Before you build some software you’re often faced with the swirling void of possibilities. This can lead to:
- Options paralysis
- Imagining a huge system
- The erroneous desire to build a framework
- A lot of effort going in, but no progress or results coming out
As a wise leader once said to me:
The hallmark of a great software developer is their ability to take a large problem and break it down into smaller pieces.
Do I really need to tell you this?
You probably think you’re a great developer. Who doesn’t? Who thinks they’re a bad driver? So the following should go without saying. Nod along, or slap your head repeatedly, whichever seems most appropriate.
If you want to go from the huge uncertain whole of your next deliverable, into steady measurable progress:
- Work in small increments: deliberately set yourself 10, 25 or 45 minute goals – use Pomodoro technique if it helps
- Simplify the problem you’re facing to its most essential parts
- Start small – find some meaningful subcomponent, or small use case you can demonstrate
- Grow the small thing into the bigger thing you want, by adding use cases
- Occasionally, be bold enough to throw some or all of it away when there’s been a dead end
- If there are lots of dead ends, start to map out the routes you have and haven’t taken
- If you’re stuck, ask for help
Above all else, try to avoid:
- Guessing
- Just pasting shit in from the internet in vague hope
- Going round in circles quietly, hiding the problem from your team mates
- Assuming that a bad technique/technology/problem will go away if you just burn lots of time on it
- Losing hope… there’s always some way things can be done
- Holding on to an unnecessary requirement that’s causing much of the problem
Published on Java Code Geeks with permission by Ashley Frieze, partner at our JCG program. See the original article here: Exiting the Swirling Void Opinions expressed by Java Code Geeks contributors are their own. |