views:

254

answers:

4

As a Technical Team Lead, I've been finding it very difficult to stay involved in development while delivering on my responsibilities of documentation, design decisions (architecture), meetings and the like. As a consequence, I've really started to notice a decline in my programming skills and a marked inability to learn and develop new skills.

While I'm able to spend some time foraging the net for new stuff and spend a lot of time on development at home (yes, I need a hobby - that's a whole different question), I do worry that at some point I will become less marketable as a developer, but not marketable enough as a "sub"-manager.

How do you reconcile your responsibilities as a Technical Lead with your ongoing upskilling / learning?

+3  A: 

I've run into this same problem. What I do is do R&D on the next phase of my project. As we approach that phase, I have answers that work, and everyone is happy.

lod3n
+5  A: 

I don't know whether this answers your question or not but I found this one very good. And also I don't think there is a perfect single answer for your question.

36 steps to success as technical lead

In your question itself you have pointed out that you 'spend some time foraging the net for new stuff and spend a lot of time on development at home'. Then why not implement those ideas in your daily work or share it with your team members. In 'working as a team' this will be a great benefit to the whole team.

When your experience grows your job nature will also change. I think you don't have to worry about this. Still now you are in the technical platform itself and you are a core part of the system architecture. That's a nice one and concentrate more on it. From your post you are doing programing at home. So your programing skills also won't get affected.

All the best buddy.

rahul
That article by Daniel is required reading, IMHO. It's a very good write-up.
Phil.Wheeler
+1  A: 

This is my biggest fear about stepping away from the keyboard and taking on some management responsibilities. I can't think of a single senior technical developer I know personally and have actually spoken with at length who has managed to maintain, let alone grow, their personal technical base while also doing all the ego-massaging and other bits that come with team leadership.

I suspect it's a case of trading knowledge for leverage - and it frequently coincides with the arrival of children... :-)

Tom Kirby-Green
+1  A: 

I've been in this position before. Yes, you do have less time to spend on actually coding stuff yourself. However you should be spending most of your time enabling others to do their jobs.

What jumps out of your story for me is a classic mistake made (also by myself). Yes, everything technical is your responsibility, but that doesn't mean you actually have to do everything. You should be handing off some of these tasks to your team members. This will create more time for you to focus on actually enabling them.

Also I experienced first hand that actually not only solving other peoples technical difficulties but also explaining them (and a lot of times yourself as well) is more educational to yourself then writing tons of code.

So two things are important here.

  1. Dare to let go of the urge to do it yourself and let others do work for you.
  2. See yourself as a troubleshooter more then a manager.

Yes, you will do less code, but the code you do (help) write is on average way cooler.

Jonathan van de Veen