The Manager Who Never Stopped Coding: My Next Chapter

Nick at his laptop coding up a cool iOS app in Swift

Labor Day Reflections

Labor Day has come and gone, school has started, and Summer is over
(even though we haven’t hit the autumnal equinox just yet). This was a
special Labor Day this year because my unemployment insurance ran out.
I’ve had a few job opportunities nearly go to an offer, but am still on
the hunt after 6 months.

The job market for a software engineering manager is rough–tougher
than I’ve ever seen it. I’m starting to apply for individual contributor
roles and contract/consulting roles, just to broaden my options.

Rediscovering My Love for
Code

I successfully launched Sonos’ first B2B SaaS product last year, but
I didn’t spend as much time writing code as I would have liked. I’m a
great manager, enjoy coaching, and helping my employees grow their
careers, but I also love to write code. In my last role I had to spend
much more time managing–not just my team, but filling in for a busy (or
missing) Product Manager, and coordinating with stakeholders across
business units. While I was able to learn a new tech stack sufficiently
to review code and guide technical decisions, I had a humbling moment in
a recent interview where I struggled to build an app from scratch.

As I’ve been working on personal software projects and exploring AI
agents I’ve enjoyed learning tech stacks like Ruby/Rails, Flutter,
deepening my understanding of Typescript, and getting up to speed on all
the latest in iOS development. I’ve done more personal coding in the
past few months than I have over the prior nine years as a manager.

I’ve realized that I love technical leadership and I can use my
skills to help move a team forward as an individual contributor. I’m now
considering both management and senior IC roles. For IC roles I’m
focusing on iOS and mobile, which is still my “first love” in
programming–and where I think I can best demonstrate my technical
expertise when it comes to a coding interview.

The “Yay! Code!” Philosophy

While iOS is still my preferred stack, one thing I have demonstrated
over the course of my career is that I can pick up any new tech stack
required. When I first started mobile development it was on Symbian. In
college I learned how to code in Ada. My first AI code was written in
Lisp. When I developed Windows apps it was using C++ and COM. I’ve
delivered apps for Windows, Mac, Linux, iOS, Android, frontend, backend,
and firmware. I’m what one of my former mentors referred to as a “Yay!
Code!” kind of engineer. When presented with a new technology I love to
dive in, learn how to use it, and deliver something great.

This is such an exciting moment in tech with the rise of AI and
agentic coding. With an AI agent as a partner (sort of like a junior dev
with an encyclopedic memory of reference material), it is easier than
ever to pick up a new tech stack. AI can’t write an app by itself, but
it can help with some of the tedious boilerplate and “plumbing” code. It
makes for a helpful SDET, which can help automate your processes, write
helper scripts, and set up your CI/CD workflow. It’s like having a
junior pair programmer at your side. I don’t know about these “10x”
coding claims I read about, but AI can certainly help an experienced
software engineer/architect leverage their expertise and deliver much
faster.

Leading Through Change

The other interesting thing about this period is how rapidly the
industry is changing. People have all sorts of predictions about the
direction things are heading, whether there’s a bubble about to burst,
etc. The one thing I know for certain is that we are in a “VUCA” period
(Volatility, Uncertainty, Complexity, and Ambiguity). I have led teams
through periods like this in the past–from the rise of broadband
Internet, to the ubiquity of mobile computing, plus cloud computing
connecting it all. Whether as a manager or a seasoned engineer I have
the experience, empathy, and resilience to help lead teams through the
quickly changing landscape.

What I’m Looking For

My next role needs to be about the opportunity, not the title. I am a
technical leader and I like to be close to the code. I want to be
inspired by the company culture and the people I work with. I want to
build new experiences that solve problems for customers. I love mobile,
but understand that great mobile experiences extend beyond the
phone/tablet and require deep integrations with other systems. I don’t
want to be held back by platform limitations–I want to dive in and add
new features to a backend system to unblock my team. If this sounds like
the kind of manager or staff/principal engineer you need on your
software team, I’d love to connect!