I feel like I am acting as the lead of our team as my manager completely took the back seat. Some things need to be done - but my manager doesn't do these. It's frustrating: it feels like apart from a few admin tasks my manager does, like holidays acceptance, I am leading our team.
I am doing this because I feel it's the right thing to do, and also because I cannot stand aside, knowing that thing needs to be done for the project to succeed. But it's been too long. I signaled to my manager and my skip level that I want to grow as a leader. They told me that when there is an opportunity, I will have a shot at engineering management and could have my own team. However, the company isn't growing, so I can't see this happening.
The two options I can think of right now is to lay this all out to my skip level on our bi-annual check-in or to leave and find a new job. But I'm hesitant to switch as I really like the team and the type of development that we do.
You are already doing a lot of things that I recommend people who are thinking of one day moving into engineering management. You're leading the team, doing thankless work, and are proactively stepping up.
You're probably doing a few things, though: creating visibility of your work, building trust upwards and having hard conversations on your career growth. Let's start with the first one: creating visibility of your work.
You say you do all this work for the team that just needs to get done. How much of this do you think your hands-off manager notices? If I had to guess, I'd say they know less than half of it. How often do you talk with them and share all this hard work you are doing?
Start with having regular 1:1s with your manager. If you don't have weekly or bi-weekly 1:1s - half an hour sessions when you talk with your manager, just the two of you - then set this up. If they push back, tell them that you feel you're doing a lot of lead responsibilities, and you need this support and this time. You can list all the things you do - like managing the project, assigning tasks, mentoring people - and tell them you really need their feedback, so you know if you're doing a good job. If they still resist, that's a flag. I would still push more, but perhaps getting creative, like saying you'll hand these responsibilities back to them if you cannot get 30 minutes every two weeks. If they can't commit to this much, you have a bad manager on your hand and run away. But they'll probably give you the time.
Use your 1:1s to start to manage your manager. Bring visibility, build empathy on their work, and clearly state your career goals.
For bringing visibility, come prepared to the 1:1s. Start a "brag document" of all the work you do. List out the additional responsibilities you are doing: the project management, the problems you faced and solved everything. I suggest doing this in a document, sharing it with your lead. Do this with two goals in mind. First, you visualize all this work. Second, you can gently bring up the question of whose responsibility this work is.
Let's talk about building trust and empathy - upwards. You mention you'd like to take on the team lead role and that your current team manager seems not to do anything meaningful.
Are you sure about this? How often do you talk with this person? How curious are you about their work? Have you asked things like, "Can you tell me what things are your main priorities, and what is keeping you busy? I'd love to learn about what your role looks like." or "What were the most challenging things this week? What are things that eat up most of your time?"
For building empathy, use part of your 1:1 to ask targeted questions about what your manager does. Ask how they spend their time, what their challenges are, what their recent successes were. Do this with genuine curiosity - there might be less mature managers who view very direct questions like this as challenging. Make it clear you're interested so you can better help and empathize with them. Also, if they are absent from the team, you can ask them to join meetings, then give you feedback after. This is a good way to draw them into the day to day.
Just so you know: I've had stretches of up to a month and a half when I was absent from my team. Things like I had a bunch of "bombs" coming from upper management to deal with, I needed to protect my team from a reorg, I needed to work with a specific person to improve their performance, and bang heads with other team leads to come to agreements on long-term roadmaps. Some of these, I couldn't tell my team. All they saw was a manager who stopped attending meetings and wasn't at their desk. This was despite me working just as hard - doing work invisible to the team. I did share that I'll be more absent, but not all managers do this. I'm only saying, so you see the other side. Ask, then confirm, then judge.
Start a hard conversation on your career growth with your manager. Many engineers I know avoid this, as we feel it's a sensitive topic. But who will advocate for your career growth, if not yourself? I've learned this the hard way: when I didn't bring this topic up with my manager, they didn't think it was important enough to focus on it. And this is clearly starting to be important enough for you. Once you have had a few 1:1s to build trust, put this topic on the table. Share your longer-term goals, summarize your additional responsibilities, and ask your lead what they think and how they can help.
Don't stop at your lead: set up a regular 1:1 with your skip level. After you've had 1:1s with your lead, start with asking them to have a 1:1 with you. You shouldn't wait until the bi-annual review. Hell, if you only talk with your skip level once or twice a year, I can tell you that you won't get into a lead position in the company.
Ask for a 1:1 with your skip level, come prepared. Be concise and know what message you'd like to deliver. It sounds like it would be wise to summarize the responsibilities you're doing, verbalize your goal of growing, and ask for feedback. Listen to what they have to say. Then, state what you'd like from them.
Figure out if your manager and skip level think of you as a high performer. If you think you're amazing, but both your lead and director thinks you're "meh," it doesn't matter what you'd like: they will not go out of their way to help you. They won't even be bothered if you quit. It doesn't sound like this is the case, but you want to confirm this.
This is why it's important first to show all the work you are doing, then ask for feedback first. And it's why it's important to build up trust first, so you can show all the work you are doing. Ask your lead, and your director on your 1:1, what they think of your contribution to the team. How do they see your performance? Do they see you as someone valuable they want to invest in? Or do they think you have a lot to grow? Perhaps they might even see you doing a poor job? The more they value you, the more social capital you have. If they don't see the value you add, they won't fight to keep you.
Once you know you are valuable, know that you need leverage for people to take you seriously. When a great engineer from my team comes to me and says "I'm unhappy, I'd like you to help me with X, but if you don't help... don't worry, I'll stick around", I listen, but I know that the situation is not a timebomb and prioritize dealing with this as lower than some other pressing issues. Think through what would happen if your lead continued to do nothing, and if neither your lead or director helped you. Would you change teams? Start interviewing? Or quit, even if you had no offer?
Tell them what would happen if nothing changed and avoid empty threats. I followed this tactic when my manager did not want to put me up for promotion, despite us previously verbally agreeing and me feeling ready. I told them calmly: "I understand if you don't support this promotion. Just know that if this is the case, my trust will be broken in you. I will start to actively look for opportunities at another team within the company. If that fails, I would very likely start to interview externally. I would prefer to stay and keep helping this team: however, I need to know that my manager is unafraid to put trust in me." I was put up for promotion. If I had not been, I would have followed through. And I would have done so, keeping my integrity.
To get a be able to move into a leadership position in the company, you need to build trust with your skip level and have them take a chance on you. Insist on having a 1:1 monthly, but the very least once every two months. If the skip level is not open to this, think of leaving. In good tech companies, managers meet with their skip levels one every month or two: I aim to do this as well. Not all companies have this culture: but there's always a first, and change needs to start somewhere. You just need to figure out if you can be this first.
Finally, do look around the market for opportunities. There is a chance things won't work out. Interviewing is hard, and you're probably a lot rustier than you think. Since you like your job, you can be picky about what companies you talk with, and you can tell the companies your priorities. Perhaps you could interview for team lead positions, or to companies that are high-growth. You can tell hiring managers or recruiters your goal to either lead teams, or to work with a hands-on manager who takes on the project management - assuming you'd be okay with this setup.
You have little to lose and a lot to gain by looking around on the market. You might realize that other companies are a lot worse, or that they are a lot better. Either way, you will have a plan B if things don't work out. I hope you can build trust with your lead, and especially your director: but with people, sometimes things just don't work out, even when you try hard. Good luck!