As I advance in my career, I have found that I do less technical work and more project management work. I joke that I am getting dumber every day. Each time I go back to doing technical work it seems to be a little harder to get things going. What suggestions do people have for maintaining technical expertise throughout your career?
Keep on coding
I've always tried to steer away from a position where I'm forced to do more management than coding. In fact it's something I always point out in interviews - I'm a coder - always will be.
I would say that's #1 on keeping your technical skills sharp - as simply as it sounds - keep on coding. Whether or not that's what you want to do is a different story.
You can also try being more involved with group code reviews. Not only is this a great way of sharing knowledge and elimination key-person dependency, it will also show you what's going on in the codebase and keep your skills sharp.
The problem (in my opinion) with programmers moving into project manager positions is that there is absolutely nothing that says if you're good at programming you will be good at project management. In my experience the exact opposite is usually true.
Get down and dirty in the trenches as often as possible, and admit that your directs are possibly/probably better than you (that's why they do the job).
You'll gain some respect for "actually working" (from your directs' perspectives) and you'll stay as sharp as you can.
Heck, you'll hopefully/probably even learn from them.
If your career path is taking you towards management, you need to decide if that's where you want to go. It sounds like you are already halfway down that path.
Stick with project management if that's what you enjoy (or there are other things about it that you enjoy, perhaps, like the dollars or the power) - but know that it's essentially a non technical role.
But if you want to remain in a hands-on role, you need to make it clear to your boss etc that you want to shift towards a technical role and leave the management to someone else. It may even mean finding a new job where people don't see you in project manager kind of role.
If you let things come to you then you're not making a conscious decision, and instead you'll end up doing what someone else wants (filling a gap) rather than doing what you want.
But in a nutshell, project managers don't code. If you're going to be a project manager then spend your time being a good project manager rather than trying to keep up with the developers.
Been there for a while.
- Understand that PMs normally don't do coding.
- If you stick to doing both you might end up being below average in either.
- If you want to become a PM, fight for a position that doesn't require you to do coding.
- Also, figure out if becoming a PM is really an advance in your career. Excellent engineers might earn more than average PMs.