When you are the kickass rock star alpha geek of your team churning out code by the minute and getting things done, you love being in the flow. Then slowly, as more and more people in your team realize you can help and as you accept one promotion after another, somewhere it becomes fairly obvious that if someone in your team is stuck he is supposed to walk up to your desk and cause an interruption often without asking if it is okay to interrupt.
The first few years of this 'helping mode' are fun. You are busy helping everyone. You don't really care if you are not churning out a lot of a real work yourself. Time moves on. Fast forward a couple of years. You have managed to stay deeply connected with code, but on an average you just find a couple of hours of non interrupted work in a day. There are days when the builder within you asks you the question: 'What did you do today?'.
You know the answer to the question instantly.
The answer freaks you out.
There are two knee jerk reactions possible in this scenario.
If you were the geek who always loved code, you are going to go back and assign the most complicated module to yourself, lock yourself in that cubical for days f@#king up your responsibilities as a manager and those emails from your clients are going to sit in your inbox unanswered.
If you are the guy who was never quite good at coding you are going to take it upon yourself to walk up to every developer you can find and ask them the status three times a day. You are going to answer every single email in your inbox and watch your experience as a developer go down the drain as you morph from a capable alpha geek to someone who just answers emails and talks.
Both of these knee jerk reactions are small steps towards big problems.
What you need to do is take a pause. Breathe. Let the question soak in. Reflect.
What did you really do today?
You helped Jack by taking his rather long winded function and using an API that would do the same work in half the lines of code. You researched the API. You tried a quick POC on it with Jack. Of course, it was his work but it was your job to keep him moving forward.
Then you spent time responding to emails and building a story around your product so that the clients don't just look at the data.
You picked a bug or two. Fixed those. Did a scrum. Thought about a couple of new features.
And in the process of these you answered about a dozen questions on a feature, on a decision that had to be made or a problem someone was facing. You have done enough by doing nothing concrete which you can sign off as your work.
If there is a geek within you, he is never going to see any of the above as real work so yes you do need a couple of hours a day when you are logged out where you work on keeping your sword sharp and churning out some real code.
Having said that, the sooner you get used to the idea that at some point of time in your life, you will have to stop adding items to the list of things you personally did, stop showing this list to your bosses and start spending a decently big part of your day mentoring, teaching and guiding others, even though this does not really qualify as 'real work' according to the geek that you still are, the better off you will be.
Go on. Strike a balance between teaching, inspiring and doing.
I wish you good luck.
It's like you accept them without knowing what are you doing. More important is the decision of accepting a promotion that what to do when you chose the wrong path. It is very different to wake up every day to do what you like, than to wake up to stay alive in your job.
You took the promotion, you knew what you were doing, stop crying and do what you agreed to do or change it. (You're suppose to be an adult)
A post about "Should I take that promotion" could be really helpful. Mix it also with the Peter Principle. Let's not forget parallel ladders: where you get raises but you continue doing your job without ascending in the pyramid.
That's all :)
The Wolf Credo:
Respect the elders
Teach the young
Cooperate with the pack
Play when you can
Hunt when you must
Rest in between
Share you affections
Voice your feelings
Leave your mark.
I consider those times where I am helping as opposed to working as "teach the young" of the wolf pack. If you think about it, those times you are asked to help are your chances for engendering your philosophy and work style with others on your team. That type of influence can pay off greatly in future years where you can hand off stuff to folks you have trained and trust. It's a great feeling knowing that someone else can tear away at a problem while you get to step back and focus on new facets of your own programming tool kit or work on a special project where you implement new techniques, then pass on those techniques.
Part of "respect the elders" also means you get have your time for focus. Being a leader does not mean being a mother. Yeah, it's bit heavy on the testosterone, but it's what gets things done.
If you are interested I have a similar post I wrote this summer:
http://activeengine.wordpress.com/2010/07/28/training-the-young-and-fluency/
Valid points David. Agreed.
@javier
> Should I take that promotion?
That might be a really good topic for a blog post.
Comments are closed.