Gumption implies initiative. Enthusiasm. Energy of thought. A hunger to continue pushing.
Working in tech is fundamentally an exercise in gumption. The nature of many tech businesses is that you're constantly in a learning or "fixing" state. Things break. New problems show up. New abstractions, frameworks, paradigms to understand. New problems to shoehorn. This is all compounded by tech moving at blistering pace. As soon as one is understood, another raises it's head, presenting a new layer of complexity.
Loss of gumption can kill momentum in a project. It can kill relationships with clients and colleagues. It leads to sloppy work. Are your problems too big and not clearly divided up? Do you have messy interfaces? Bad tooling? Are you needing to repeat yourself? Is it hard to build, test, and deploy new features? Are you working with people you don't like and respect? Do you have bad or non-existent abstractions?
There's a certain amount of effort you need to put in for yourself to avoid gumption traps.
- Keep tasks small, and focused. With clear start and stop points. At Nudge, when we're estimating how long a task might take, we limit it to 8 hours work max. If it takes longer, break it up.
- Think about testing, logging, and monitoring as you're working on the feature. This makes the work a world easier.
- Only work with people you respect and like.
- Build diversity into your schedule. Mix up the work you're doing. Spend time learning. Spend time reading other people's code. Spend time on hard problems, easy problems.
- Automation and tooling allow you to achieve the work of many people, without limits, and without the risk of human error. Invest heavily in it. Hard to automate? You've probably fallen into building sloppy interfaces.
- Slow down. Look at the work you're doing from another perspective, think about it. Look at how others have solved similar problems. Appreciate what you're working on.
Most teams won't factor in time to get these right. If you're the one that a) builds this for your self and b) builds this into your culture, you'll avoid the downside: burnout and bugs. You'll also benefit hugely from the upside: faster delivery, higher quality, and a much more fun and healthy environment to be working in.