Staying Technical as a Technical Program Manager

In my career, I've been many things - a Support Engineer, a Software Engineer and an Engineering Manager. These days, I've settled into a Technical Program Manager role (which I am thoroughly enjoying).

As a Technical Program Manager (or TPM), you're often expected to wear multiple hats - strategic planner, cross-functional communicator, and technical problem solver. But how do you stay technically sharp while managing programs at scale?

The role of a TPM is different from a program manager, you are expected to be technical. Here are some of the daily (and weekly) practices that help me keep my technical skills sharp.

Writing the occasional code

Early in my career, I was a software engineer. These days, my role doesn’t require me to write code, but I still have the urge to explore and tinker. I’ve built a bunch of small tools and love updating my GitHub account. I’m also big into AI right now (as is everyone 😂) and have been doing a lot of “vibe coding” just to learn something new or scratch an itch. Even writing a few lines here and there keeps your brain tuned to real engineering challenges.

Writing Technical Content

Blogging has been a powerful tool for learning. Whether it’s writing about Azure Text-to-Speech, troubleshooting Ghost CMS, or Game Development, the act of explaining technical concepts forces clarity and deepens my understanding. It also helps others, which is always a bonus.

Following tech blogs

One of the most useful habits I’ve developed is staying up to date with what’s happening across the tech world. Even if it’s not tech I use every day, it’s important to see how others are solving problems. You never know when a piece of tech or a pattern will end up being useful later.

<Insert your hobby here>

Outside of work, I love brewing my own beer. I even have a blog dedicated to it! One of the best ways to learn something new is to combine your hobby with tech. Recently, I built a fermentation tracker using a Raspberry Pi and temperature sensors. It keeps me close to hardware and scripting, and it’s a fun, low-stakes way to apply engineering principles.

Balancing technical depth with program management isn’t about doing everything - it’s about staying curious, being useful, and knowing when to dive in. Whether it’s through side projects, internal tools, or collaborative problem‑solving, staying hands‑on helps me lead with more confidence and empathy. It might all sound obvious, but the real impact has come from deliberately doing these things, day after day, with intention.

How to Stay Close to Your Company's Tech

While it’s important to understand what’s happening across the wider tech landscape, it’s just as important (if not more so) to stay close to the technology inside your own organisation. Knowing how your systems work, how your teams build, and where the real challenges live helps you make better decisions and builds trust with engineering.

Here are some of the things I try to do in my role to stay close to the tech:

Read Your Company’s Engineering Docs
Most teams have design docs, architecture overviews, or RFCs floating around. Even skimming them gives you a deeper understanding of how things fit together and why certain decisions were made.

Sit In on Architecture or Design Reviews
You don’t necessarily need to weigh in on every detail, but observing the discussions helps you understand trade‑offs, constraints, and how engineers think about the system.

Spin Up a Local Dev Environment
Even if you’re not coding every day, setting up and running the services your teams build helps you understand the tooling, dependencies, and workflows they use.

Use the Product Like a Real User
If your company makes consumer or developer-facing tools, actually use them end-to-end. It sharpens your instincts for what “good” feels like and what’s actually painful.

Why Staying Technical Matters for TPMs

  • Credibility with Engineering Teams: Understanding the tech stack helps you ask the right questions and gain trust. This is especially important in a gaming role! If engineers don't believe you are credible and have the background knowledge, it becomes much harder to lead effectively.
  • Better Decision-Making: Technical fluency helps you assess trade-offs, spot risks, and understand what “good” looks like.
  • Faster Problem Resolution: When you understand the underlying systems, you can catch bottlenecks or misalignments earlier.

Time Management

So how do I fit all this learning time in?

In a busy work environment, it can be tricky to stay current while balancing program responsibilities. I also have a family, and being a present dad is non-negotiable.

One thing that has helped tremendously is deliberately blocking time for learning or tinkering - without compromising program delivery. For example, I use Feedly to read all the RSS feeds I subscribe to. First thing in the morning with a cup of coffee, I catch up on what's happening in our industry.

At Microsoft, we also have company-wide hackathons, and they’re a fantastic opportunity to try something new, collaborate with people you’ve never worked with, and solve real technical challenges. I try to participate whenever I can.

Balancing learning and work isn’t easy, but scheduling time for both makes it achievable.

Conclusion

I hope you’ve found this post useful. These are the things that have personally helped me stay technically sharp - they might not all be right for you, but it’s a good place to start. For me, it ultimately comes down to staying curious, being deliberate, and consistently carving out time to keep learning.

If you're a Technical Program Manager, how do you stay technical? I’d love to hear your approach.