The Difference Between Coding and Managing

Đọc bản tiếng Việt tại đây.

“A good manager knows that dealing with people is totally different than writing code. You have to be less structured and more flexible.”

– Thanh Phan, Head of R&D Vietnam at Atlassian

Thanh Phan is an experienced coder, entrepreneur and manager.

Born in Vietnam, Thanh grew up in Germany and earned a masters degree in computer science and business in Cologne, Germany. After returning to Vietnam in 2006 he started and exited several IT-related companies before joining Atlassian as Head of R&D Vietnam.

We spoke recently about management and what young developers need to know to become managers.

What was your first job and what did you learn from it?

My first job was as the Executive Technical Assistant to the CEO at T-Mobile International in Germany. I consulted the CEO on technology, tech setups and budget.

After 2 years in that office I was promoted to Vice-President of the CEO’s Tech Office, responsible for a team of 18 people. I learned that people are not code. Being a manager requires a totally different set of skills from being a coder.

How is being a manager is different from being a coder?

From my experience there are 3 big ways:

  1. Your results are not what you produce, but what your team produces. As a coder you are measured by the code that you write. As a manager you are measured by the code that your team writes. It’s a huge difference.
  2. Managing people is less structured than managing code. Code is predictable and follows strict rules. People aren’t like that. Much more important than coding skill is your ability to observe and understand people. What are their motivations? What are they good at? How do they communicate?
  3. Managing people requires you to see farther into the future and be more strategic. People don’t come with a user manual. People can be unpredictable. You need to structure your team so that if someone quits unexpectedly or your team gets a big new assignment you can adapt quickly.

What surprised you most about managing people?

I was surprised to learn that 2 people who seem the same on the surface can want totally different things. It’s your job as a manager to observe them closely. That way you can structure their jobs in a way to motivate them best and develop your team.

For example, you might have 2 people on your team of similar age, skills and background. The first person loves to code all day long. The second person likes to code, but you also notice that he visits his colleagues a lot, encourages others and communicates well.

A good manager will notice those differences. He’ll start developing the the first person for a future project management role and the second person for a future manager role.

What did you wish you knew before you became a manager?

I wish I had understood that it’s best to manage out a person as soon as you realize that they are not right for your team or culture. Early in my management career I didn’t do that because I was afraid to make a mistake. I let people who weren’t right for the team stay far too long.

Who gave you the best management advice?

My old boss, the CEO of T-Mobile International. He told me “Never stop communicating.”

He taught me that if the people above you don’t know what you’ve done you won’t get the credit you deserve and people won’t value your contribution. You need to make sure that management knows about your achievements. I don’t mean promote yourself. I do mean build relationships across the company and talk about what you’ve done.

What do you look for in a future manager?

I look for people with high energy who communicate well, take initiative and like to build relationships.

I ask myself questions like: Does he enjoy spending time building relationships? How does he react to a problem? Does he expect me to solve the problem for him, or does he take initiative and suggest some solutions? Does he communicate and present clearly, or does he talk and talk without getting to the point?

On top of communication and problem-solving ability, I also look for people who have shown good working relationships with colleagues and external customers.

Atlassian team

How can a young developer prepare to become a manager?

I have two pieces of advice.

First, pay close attention to managers in your company that you and others admire. How do they communicate and present? How do they build relationships? How do they talk to their teams? You’ll be surprised at how much you can learn just by keeping your eyes and ears open.

Second, read a lot! Read everything — fiction or non-fiction. Reading a lot will enhance your communication. Good communication is the key element to good leadership.

Can you suggest a good management book?

Sure. “Lean Product & Process Development” by Allen Ward. It contains great advice for how to structure your team and organization to get results.

Should everyone try to become a manager?

No. I’ve found that some people want the manager title but they don’t want the responsibility that comes with it.

You should become a manager only if you love the people part of the job. If you don’t like dealing with messy people issues, if you don’t like to communicate then you will be miserable in a management role.

If you do like people, then try management! It can be frustrating at times but also very rewarding.

Thanks Thanh!

Thanks Chris and ITviec.