Chapter 2: Fantasy vs. Reality–When Running a Dev Shop Isn’t What You Imagined It Would Be
Congratulations! You’re on your own, calling all of the shots!
In words of Dr. Phil, How’s that working for you?
Or maybe you’re still working for someone else, but looking forward to the day when you finally can do things your way.
Perhaps you’re a valued programmer who’s worked his way up the ladder, and you have your eye set on doing more than pounding out code all day, as much as you love that job.
When I imagined my transition from lead programmer to head of my own agency, I had all sorts of fantasies about how my daily work would change, and how I would suddenly be in command of a loyal, efficient group, conquering deadlines and intricate projects.
Man, was I wrong.
With very little hand-on management experience, I developed the most lovely misconceptions about becoming a manager. Do these sound familiar?
- My authority would be immediately recognized and embraced by everyone.
- I’d still be a programmer and just add in a few additional responsibilities.
- Owning my own company equaled raking in profits.
- I’d have the pick of the best jobs coming through the project pipeline.
- I would have so much more control of my time.
- I’d be the in the captain’s chair when it came to decision-making.
- My team would boldly (and automatically!) follow me into battle, ready to conquer the next project.
A management position often sneaks up on you when you least expect it. One day, you’re working solo or with a partner to build a tiny consultancy, and when you pick your head up a couple of years later, you’ve taken on two or three additional staff who are looking to you for direction.
My advice? Be smart. Don’t be ambushed by your own success.
When I finally started my own business, fantasy gave way to reality so fast it made my head spin. And trust me, there was no fanfare and no applause.
Just my name on a website and business cards and a whole new workload that I wasn’t entirely equipped to handle at that point.
Here’s what my first few months as a manager were really like:
- I had lots of freedom–to make lots of new, very public mistakes.
- I created confusion when I committed to delivery dates without consulting my team first.
- With each new project that crossed my desk, I was convinced that this time, I was going to do everything right.
- I allowed myself to be interrupted for any reason at any time in the name of being available for the team.
- I refused to delegate, and I took on coding repair jobs that kept me at work nights and weekends. Let’s just say I missed a lot of family time.
- I was overwhelmed. All. The. Time.
After several rounds of workload adjustments and still feeling stressed, I got to the core of my anxiety. I kept trying to be a manager without letting go of my programmer identity.
Like most coders, I prided myself on being an uber-brain who could design my team out of any problem with finesse. However, after becoming a manager, I saw my coding skills slipping away at the same time as I was feeling completely inept about my new responsibilities.
It was terrifying.
I struggled along for quite a while, finding few role models or advice other than, “You’ll find your own style.”
I finally got to the point where I couldn’t pedal any faster. I was burned out and on the edge of collapse.
So designed a radical experiment : I decided to drop all of my coding responsibilities and focus on managing production. After three months, if my team wasn’t more productive, then I would go back to part-time coding.
I was terrified to start this counterintuitive approach. What if I failed? What if company utilization fell even further behind and my confidence took another hit? If this bombed, what else could I try to solve my overload problems?
In spite of my fears, I moved ahead.
It Got Better
At the end of three months, the results were clear. Less coding meant a better team.
My team had more on-time shipments. Clients were happier. Morale was up. And incredibly, production was the same or better because I wasn’t doing a half-assed job of delegation.
Sanity for the win!
Save Yourself: Survival for a New Manager
Even with all of the best advice and intentions, you will probably reach that point where you’re drowning in projects and trying to hold on to your coding skills.
When you get to that place, do yourself a favor. Don’t cling tighter to the idea that you and your fabulous geekified brain can do it all.
Accept the fact that your coding skills will erode, but as they diminish (slightly), you will gain perspective. After a few months of seeing production from a new perspective, you will have amazing moments facilitating some serious wins.
Will you lose contact with coding forever? Not a chance.
Software programming is full of circumstances where glitches, bugs or an impending deadline require all hands on deck. And you can hop into pair programming with your employees if they need a little guidance.
It is completely normal to feel shaky and lost as you make your way through the first few months walking in management shoes. But when you find yourself taking on more work to prove your supercoder status, step away from the computer… and think about what you can turn over to your team.