Every developer has had late nights of debugging seemingly impossible problems. And every consultant has been through crucial conversations explaining their reasoning for tough decisions. Those of us who are software developers and consultants get all the highs and lows of both.
High-pressure consulting situations can be tricky to navigate in the heat of the moment, but how you handle them can form a lasting impact on the client. These scenarios manifest in all sorts of forms, like particularly stubborn bugs, botched deployments, or differing opinions on specs. Here are a few tips I’ve found useful for working under high-pressure situations.
1. Know Your Limits
First, know your limits. Nobody has all of the answers. And when your high-pressure situation is caused by time-sensitive deadlines, you’re not going to become an expert in a new topic or tech stack in a short time frame.
It’s important to recognize where you can excel and where you should get help from coworkers (and other sources). This has the added benefit of getting fresh eyes on the issue.
In hard situations, it’s never too early to ask for help. It always feels a little foolish to fuss with something for way too long only to have a coworker come in and quickly propose a solution. Save yourself the embarrassment and ask for help early and often.
2. Manage Your Availability
Another important lesson I’ve learned is to manage my availability. Depending on your relationship with the client, it can be tempting for these situations to veer one of two ways:
- Staying in constant contact throughout
- Talking only at the start and end
These both have drawbacks. I’ve had projects where I felt like I was on the phone non-stop, which makes it hard to maintain focus and be productive. This Conversely, I’ve gone straight from a bug report to working diligently, only to present my solution and find that I had misunderstood or that the problem domain had shifted.
My preferred practice during high-pressure situations is to set up regular touchpoints — create a clear plan and commit to it together.
Maintaining regular touchpoints helps you keep everybody stays on the same page without spontaneous interruptions. Many sync-up calls may simply be: “Nothing new has developed, but we’re still working hard.” Nevertheless, they help to keep everybody’s mind at ease.
3. Keep People Informed
Next, make sure you keep people in the loop. How much? That’s situational; you have to get a feel for what level of detail different stakeholders will be interested in. Giving too much detail wastes time and adds unnecessary complexity, but leaving out details can have various harmful effects.
For example, when you’re pulling in a coworker to help with a bug, it’s important to share as much technical detail as possible. But you can likely leave out the political details. When talking with the client, on the other hand, you can likely abstract away many of the technical details. But project management details might become crucially important.
An added benefit here is that presenting this context at various levels of granularity will help you to continue to refine your understanding of the problem domain.
4. Take Time for Retrospection
Finally, remember that hindsight is 20/20(ish). When all is said and done (and hopefully the issues are resolved), take some time to retrospect. Have discussions around how similar problems can be avoided in the future. What was helpful throughout the situation? What could have been handled differently?
During this time, make sure you document any technical or procedural changes that were made. It may also help to write up a quick synopsis of causes, attempts at fixes, and final solutions to problems that arose. Be sure to tie up any loose ends and thank those that helped you.
I hope you can store away some of these thoughts for the next time you find yourself in an uncomfortable, high-pressure consulting situation. I’ve been lucky enough to not be stuck in these positions too frequently, so I am by no means an expert. These are just reflections based on recent incidents. Leave a comment with your best practices during these types of engagements.