Congratulations on being promoted!
It’s often a long and arduous journey involving plenty of paperwork or even a company change so take some time to bask in your self-brilliance. Not only have you had to do the work of that next level up, but you’ve also had to document that you’ve done that work, and explain to people who already know why that work was important, why that work was important.
Eventually, that feeling of elation simmers down and you arrive at the same question as so many others - “what’s next?”
Firstly, let’s examine what’s causing that feeling. You’ve just come from a period of 6-18 months where you’ve had a clear goal, you’ve analysed every piece of work that you’ve been offered with “will this help me get promoted?” as one of the first criteria for accepting it. That’s a simple and very tangible north star by which to anchor yourself and your work. Getting to that point means the goalposts have moved and you’ve lost that clear statement by which you know what’s next. You might also find the problems your manager gives to you are less clear and the solution is more ambiguous. Finding your way through this ambiguity and plotting a course is now part of your role and takes some getting used to.
The next milestone is usually a fuzzy one. Your next promotion is probably a few years away at least so it doesn’t make sense to anchor yourself to that.
So how do you find that anchor? Personally, I like to fight fire with fire and solve fuzzy problems with fuzzy questions, starting with an open horizon and gradually getting more specific.
What kind of developer do you want to be?
Depending on how far you are into your career this could be an easy or a difficult question.
Do you like solving deeply technical problems where you dive into the minutia of a problem or a bug? Think of problems with networking, scale, data replication, etc. Or do you prefer solving customer problems no matter the tech? Think user stories, features, bug fixes, etc. Are you a combination of the two? These questions can help you decide on your next area of focus and what motivates you at work.
The next place you can look for purpose is in teaching. Seeing as you’ve made it to the level of Senior Software Engineer you must know a few things about your craft and growing others can be very rewarding. Remember that a rising tide lifts all ships - your services will only be as good as the worst engineer. Teaching can come in several forms, with each having its pros and cons, so think about whether you’re more suited to classroom-style workshops and presentations or one-to-one mentoring where you deliver bespoke support to an individual. Both forms have their merits (and challenges) and both are rewarding in their own way.
Mentoring is also a great way to dip your toe in the waters of engineering management. If you find you get a lot of satisfaction from supporting another engineer and helping them to succeed, that could be a sign you’d enjoy people management. A word of warning here - don’t jump too quickly onto the manager path. The most common piece of feedback I have heard from experienced managers is that they wished they had spent more time as an engineer, building things and solving problems first-hand. Deciding if you want a career in management is a blog in itself - Charity Majors has loads of great content on management but The Engineer/Manager Pendulum is a great place to start.
Lastly, remember that you’re in this for the long haul and that as your progress in your career the next steps are never going to be immediately clear. Will Larson talks about the 40-Year Career - it’s a marathon, not a sprint - and that you should embrace the uncertainty.
Enjoy your new role. Enjoy the fact that you’ve hit your goal. Take time to reflect, then start looking for your next north star.