Putting Down the Tools, Avoiding the #1 Mistake All New Software Company Owners Make in a Crisis
Yes, we’ve all done it.
I’ve done it. My previous managers have done it. And most likely, it’s the default setting for many battle-worn team leads.
In those crisis moments when expectations are high, everything is going off the rails, and the deadline was yesterday, all new tech agency owners will utter one fateful sentence.
It would be so much faster if I just did this myself.
Then they pick up the IDE, close the office door, and retreat into the code.
What they don’t realize is that they’ve just kicked off a chain reaction of negative work practices that will plague their team for months.
As you probably understand all too well, the programming world is full of fires to extinguish. No matter what your company’s size or specialty, you are going to hit many, many pressure cooker days.
It’s up to you to anticipate the inevitable before it happens and make a firm, conscious choice not to try to code your way out of a crisis.
Why We Make This Classic Mistake
Making the switch from programmer to owner-manager can be flat-out awkward at times. You’ve gone from playing in the orchestra from leading it, which really shakes up your identity.
The most significant shift comes with the realization that you’re no longer a production unit, but you’re still working in an industry that values production. If you’ve always taken pride in the tidy transaction of being paid for your output, management is a strange new world.
First off, while having your name on the door is a much-coveted status symbol, deciding to run your own shop carries a built-in mixed message. It’s as if you’re telling yourself, ” I’m such a great programmer that I can go out on my own… and spend less time coding! Now doing less coding often feels like you’re doing less altogether or that you’re not contributing to the bottom line, especially when you’re just starting out.
Dependent on Others
Then there’s the new reality of how production happens. As a programmer, your brainpower and clever workarounds could conjure magnificent code from your fingers.
The programs you created could keep manufacturing production humming or bring it to a standstill. Entire businesses hung on your creations.
Now you’re dependent on other people to create the code that works this magic. And making the switch from creating your own technological incantations to supporting other people’s efforts really feels awkward for a while.
It Gets Worse
That clumsy beginner’s feeling gets cranked up when you face the new aspects of team dynamics and the reality of being without your most powerful weapon: your ability to code.
But you really get triggered by array of new expectations staring at you, like:
-Figuring out your clients’ agendas
-Assigning work to peers or former co-workers
-Dealing with morale speed bumps
-Steering through software quality problems–as the person who’s supposed to have all the answers
Adding a management role to the rest of your responsibilities can feel like stepping into a plane’s cockpit without any flight training. There are all these complicated, unfamiliar dials and gauges you don’t understand, and you don’t know if that blinking light means an engine has failed or the coffee’s ready.
In order to escape this anxiety loop, many business owners new to management fall into one of two patterns:
1. Code less, but indulge their coding desires by putting out fires and debugging whenever possible.
2. Code even more intently, blocking out team members and undermining their credibility as a leader.
Each of these positions is a pattern that will cause you to fail.
Let me say it again. Retreating to the position of “I’ll do it myself” isn’t going to save you any time or frustration. It’s only going to crank up the problems.
‘I’ll Do It Myself’: Say Hello to a Cascade of Problems
Once you’ve uttered those fateful words, you are no longer doing the job you were paid to do: leading. And if you’re not doing your job, especially when your employees need your leadership most, then no one is.
If you follow through on your natural desire to just do it yourself, you’ve chosen to avoid doing the following critical items:
Checking in with your team members and other principals is the heart of your work. But chaining yourself to your computer stops that cold. Suddenly, you’ve cut off any discussions about quality, progress, or individual development. Everyone loses.
Jumping in to correct someone else’s work not only short-circuits their learning process, it teaches them to do substandard work. Pretty soon they only turn in partially completed work because they figure you’ll just redo it anyway.
“Why bother?”, they think. They lose their drive, you lose their trust, and projects start to suffer.
It’s like a conductor wrestling the tuba away from the tuba player
When you move back into production mode, there’s no one available to keep team moving forward. Essential work like status updates, work review, and new project preparation is completely out the window until you pick your head up.
You’ve just traded away hours of non-replaceable time and energy that should have been devoted to doing the job you’re hired to do. And when you get back to the work that’s been piling up on your desk, you’ve got to dig out all over again.
Let’s be honest. It feels great to be a hero, swooping in to save the day with a brilliant solution. But the cost is just too high.
A “quick fix” always takes much longer, turning your one-hour job into six hours (or more!) of panicked coding. While you code up a fix, your resentment and exhaustion build, and you’re teaching your team to depend on your last-minute efforts to bail them out instead of their own skills.
Running to your comfort zone feels safe, but it’s a very limited strategy that keeps you from making the changes necessary for you to be a good manager.
Trust me. Take a chance, drop the IDE security blanket and interact with your team instead.
Best Practices for Crises
While you’re waiting for your team to complete their work, you don’t need to sit passively or beat them with the boss stick. Here are a few tips that will keep you sane and your team on track.
Don’t Do it Yourself
If there’s a problem that you desperately need to rework, don’t do it yourself. Grab a programmer and say, “Let’s review this code together to fix it.”
Sure, you just scratched your itch by getting involved, but you’ve also established much-needed rapport and created up a teaching moment—for both of you.
Panicked about a deadline? Get a status update from the programmers, adjust the workload if needed, and contact the client to give them an update.
Once again, you’ve opened lines of communication and placed your focus on the overall project, not just your team’s to-do list or your stress.
OK, Go Ahead And Code…
Can’t keep yourself away from temptation? Fine. Then code. But don’t code anything that will be used in production.
I cannot emphasize this enough. If you absolutely, positively can’t resist, then choose a project that is on the back burner. You don’t want to muck up a project in process.
This Is About the Long Game
Great management practices depend on a solid, thoughtful foundation created outside the heat of crisis. But it’s worth remembering that reputations are earned and character is uncovered during crucial, adrenaline-filled moments.
Remember that your purpose as an owner-manager is to create a team that is capable of producing excellent code.
In those instinct-driven moments, especially in beginner’s panic, please take a step back. Avoid this classic management blunder.