Over the course of last summer, my work has taken a metamorphosis that many of you will understand. One that (for me) resulted in much frustration and a sudden drop in perceived productivity.
This is, of course the transformation into Senior Engineer. My plan here is to go over my journey through this promotion and the challenges I met along the way. My hope is that by providing a warning, you will be able to better prepare, and find a solution that works for you.
A Change In Your Role
Going through the roles of junior to general engineer is follows a more obvious flow: you get technically better -> work becomes easier -> you get more challenging work. The transition from junior to senior, while having an incremental change in technical ability, is not so much an increase in technical difficulty so much, as it is a substitution for leadership and social responsibilities.
"Okay, cool; but what does this mean for me?" In my experience the things that you notice the most are: productive drop, increase in social burnout, and meeting fatigue. Lets go into each of these.
Productive drop is more of a perceptual drop. In fact, as your role changes you will increase not decrease) your productivity. This is accomplished by the training that you will give to other engineers. If you are anything like me, you probably defined your job and productivity by making actual software. This could be bugs squashed, features added, long story short you define your productivity by how much stuff you personally make.
When you become senior, you will have to mentor juniors, train other team members on new technology, answer questions regarding code. If you define "being productive" as how much software you make, then this will come as a sign that you are being less productive. This is not the case though, the entire team will be orders of magnitude more productive because of all the training, presentations, and mentorship you provide. You may not be the one who is writing the code but that junior developer would have taken much longer to write that module, and it would probably have been written with less care.
I consider myself an introvert, what I mean by this is, I get very burned out and drained through interacting with other people. Since mentorship requires actively engaging in empathetic conversation. This is draining, it take a lot of energy for me to do, and requires recuperation.
For other developers this may not be the case, they may regard this as a welcome departure from the usual code grind. If so then I congratulate and envy you, this is still a part of the job I am still getting used to.
Related to Social Burnout, is meeting burnout. Meetings require more effort for many developers. You will also find yourself running more meetings. Coordinating developers takes communication and many times meetings are an efficient way to do this. As with social burnout, this can be trying.
For solutions to these changes, I am still trying to figure them out. I have a few ways to mitigate the challenges that come with this change in responsibility, but there are many things I am still working on. Hopefully this small enumeration will help you better prepare for the day when you to make your big shift in your career.