“What are your thoughts on moving from highly technical individual contributor to a technical manager? If you had to do it over again what would you want to know from the start?”. This question is asked by both managers and individual contributors thinking about going into management. These questions make you sit down and think about your past, what you have learned, and how to turn those learnings into actionable items that we can all learn from.

In order to understand my thoughts, it may be helpful to understand my career path. My career started in the mid 90’s while I was working at CompUSA selling computers, I got access to the internet and was curious about how it all worked. So I learned about building websites for small business around me, this allowed me to eventually move into a full time developer role working on sites and tools such as Give Anything, TerraServer, NeoButler, People Click, Market America, and others.

I have worked as a Developer, Systems Administrator, Network Administrator, Unix Admin, Y2K migrations for large companies, Long Haul Truck Driver, High Rise Window Cleaner, Chef, Application and Systems Architecture, and eventually information security as a penetration tester, PCI work, incident response, forensics and then left a company as a Director and joined a company as an entry level Security Operations Center Analyst. This led to incident response engineer, attack and research, manager of the incident response team, to my current role leading the Security Operations Center. At times I had to take non-technical jobs in order to feed my family. I don’t regret any of it. Your career is powered by your drive not the path you take.

Management isn’t an extension of your current knowledge.

You are a smart engineer, you can solve complex technical problems, and everyone looks to you for help. None of this will help you as a manager, you no longer get to solve the problem, you get to lead people to solve the problem. Even when you know the solution.

Management is a new skill that you must learn. It’s not just learning another programing language, its a new career. If you don’t study management, you will stay a bossy engineer. You need to study psychology, organizational behavior, motivation, and people. People are different from technology, they react in ways that are unexpected at much higher rates. This is not a bug but a feature, learn to understand it.

Don’t worry about the implementation, worry about the problem.

You have a problem, you have a solution to bring your vision to life. You are wrong. Focus on the problem, if the problem is “I don’t have clean water” do you honestly care if it is boiled, treated, or any other mechanism? No, you just want clean water. This is still the hardest part for me, I may have a solution in my head, yet anytime I let it slip out of my head I am taking away an opportunity for someone else to grow.

This doesn’t mean you let them struggle, you just never provide the solution fully. Ask questions that encourage critical thought: How does this compare to X? What is the scaling plan? Have you thought about X?. Just don’t rob someone of their growth in order to prove you have the answer, that is not your role.

Remember that focusing on the problem isn’t a one and done, your job is to always be reminding of the problem, challenging if a solution solves the problem, and keeping everyone focused.

Just because the problem wasn’t solved your way doesn’t mean it’s not solved.

It’s not them, its you.

Your growth is powered by the pushback you receive from your team, if you are willing to be open minded, and honest with yourself and the team. Learn how you can change before you ask others to change.