Say you’re just another engineer: working, learning, delivering features. Then, one day, you notice a change: people are listening to you more, coming to you for advice or decisions, maybe even asking you to settle debates or help organize the team’s work. In short, you find yourself kind of in charge. You may not have anyone reporting to you, but you are expected to lead.

I’d like to talk a bit about what that means, and how it works in practice. How do you make the transition from writing code to helping others write code? How is leadership different from management? What’s the best investment strategy for your political capital? And finally, when you wake up and find that you can change things, how do you know when you should?