It should be no secret that software engineering in the professional workplace is done in teams. And when you’re working in teams, that means collaboration.
It’s not rocket science, right?
But unfortunately, when stress is high and we all have looming deadlines and deliverables, it’s easy to falter in collaboration. This is especially true when it comes to individuals or teams fielding answers from others.
In this article, I’ll explain what this looks like and why it’s detrimental to not only a healthy engineering organization… but to your career. So if you don’t care about everyone else around you, at least care about your career.
As was already mentioned, software engineering is heavily reliant on collaboration. And what are we collaborating on? Generally, these will be technical problems that require solutions based on software. And that means that you’re building software solutions together.
But what kinds of problem-solving are typical within engineering organizations?
But the reality is if each team is doing this sort of problem-solving, it means that when some questions or opportunities span teams, we have another intersection to introduce into all of this.
Problem-solving in software engineering is often like pulling on a piece of thread. We start breaking down complex problems into smaller ones and then realize we have more and more to unwind. Another metaphor we could slap onto this is like following a trail of breadcrumbs, which feels more analogous to when we’re debugging.
But the common theme here is that we need to continue taking steps to move forward. And the number one thing that stops someone from taking steps forward is when you put up a wall. People aren’t great at walking through walls — nor is it convenient to climb them.
So what does it look like to kill things off? I’ve explained this in the following video:
These are factors that can stop progress in their tracks or otherwise make it difficult for someone to move forward:
And the sad part is that these are all things you can improve with very little effort.
Nobody wants to be on the receiving end of those situations. You feel helpless because you’re trying to solve a problem and you’re met with a wall.
But now that you know what that can look like, how can we make it better:
None of these involve an incredible amount of effort.
I’ll leave you with this parting thought… As you become more senior in your software engineering role, some things are almost guaranteed:
As soon as you get in the habit of blocking forward progress, your NEGATIVE impact is multiplied across all of these.
That’s right. Instead of being a multiplier within your engineering organization, you’re now putting up barriers across all of these things which have a higher impact across the board. It’s not only a missed opportunity for a great positive impact, but it’s a net negative to the organization.
Do yourself and your software engineering colleagues a favor: Prioritize collaboration.
If you’re interested in more learning opportunities, subscribe to my free weekly newsletter and !
Also published here.