There was a day early in my time as a Software Engineer at a new firm, just a couple of months in. Like with most tech companies, the systems, terminologies, projects, and languages were all new to me. Having already gone through a few job switches in my career, I had come to expect this.
I was assigned a project and paired with another team member who had more context about the work. We started collaborating asynchronously — initially I worked beside him at his desk for a few days, and things started to click. After that, I decided to work on my own and only reach out if I hit a wall or needed clarification.
The Failure
Fast forward a couple of weeks — there was a big failure. I spent the entire day trying to wrap my head around the issue, running through potential solutions. Nothing worked. By day two, I was stuck.
During a casual conversation with one of the senior engineers on the team, I mentioned the ongoing issue. He asked who I was working with and why I hadn’t reached out to others. I explained that my single point of contact was equally clueless, and the bug only affected a small part of the deployment process — everything else had worked fine initially.
The Advice
That’s when he gave me some of the most valuable advice I’ve received as a junior and mid-level engineer:
Timebox your failures.
After you’ve tried different solutions and hit a wall, reach out to a wider audience — people who might have context. Don’t fail silently. Whether it’s through Slack channels or other platforms, reaching out to those who work on related issues could be what unblocks you.
He was right. I had been stuck for two days, making little to no progress, while my team — including my manager — probably thought things were just moving slower than expected.
What Happened Next
I started reaching out to different Slack channels, providing enough context about the issue and the solutions I’d already tried.
Within an hour, someone pointed out the problem. It was a silly bug caused by a nested service where a naming convention error was returning a 400 Bad Request. I would never have found it on my own if I hadn’t asked for help at the right time.
The Takeaway
Timeboxing work is important — but timeboxing failures and reaching out for help after you’ve given it your best shot is crucial to a software engineer’s growth.
Failing silently doesn’t make you look independent. It makes you invisible. Ask early enough that someone can still help you.