I was a Sr. Developer. My boss refused to relocate, and I was offered the job. We have the following leadership roles on a team: Scrum Master, Technical Lead, Product Owner and HR Manager. Originally I was Technical Lead and HR Manager. Later I was TL, PO and HR.<p>I gave up TL to someone but retained PO. I was just too busy to do all three and decided that Power of the Pen trumped Power of the Code Review, though I still do CRs.<p>It's hard to let go of the technical leadership, not just for me, but also for everyone else who is used to coming to me.<p>The people management role is the least rewarding and the most challenging. Hiring can be rewarding, but unless you work somewhere where you're always hiring, you quickly hire some decent or great folks, and then you're done with that. Like really done -- letting people go can take a long time in a big company.<p>I still write code, but it tends to be emergency fixes or prototypes, not the type of code that requires days on end of focus, because it is impossible to be left alone for any length of time, and not have to do a million simple but important tasks.<p>Being somebody's boss typically carries a lot of weight, as long as you have their respect, and I find it challenging not to suck the technical oxygen out of our team by doing the research while writing the requirements and taking that fun phase away from developers, thereby limiting their satisfaction and growth. I mean, a good developer will still do their own research even if you hand them something on a silver platter.<p>Also, you have to learn how each team member works and communicates. Some people are very focused on dry facts, and others on feelings. If you don't speak their language, you'll never be on the same page with them and your relationship will be constantly frustrated.<p>Some people work fast, and others more slowly. When people seem to be working slowly, you need to consider why. Are they on the wrong path? Did you not give them all the info they need, and they're hesitant to admit they don't understand. Maybe they just the real thorough type? Find a way to get people into their zone quicker, and leverage their individual strengths.<p>Finally, there is the whole issue of what role do you play. You may have been friend/peer to people who now report to you. If you notice they are slacking off, it's a bit more challenging to get them back on track, but not that hard. Just ask for a detailed status update, take a few notes, and then do it again a few days later, and compare what they've done, or schedule a demo.<p>Larger or less flat organizations will have a dedicated people manager for 1-3 teams, and their full time job is to manage people, foster moral, etc. That may be rewarding for some folks, but I tend to think the majority of engineering types would hate it.