Getting Your Hands Dirty as a CTO

David Zhang

VP Engineering at mos.com



During my young entrepreneur period, my team was able to build a product straight out of college. It was a technically very broad product to say that there was electrical engineering, mechanical engineering, manufacturing, IOS, Android, and backend. Of course, it is impossible to know and master all of these skills and so I hired a team to help me. These people were experts in their fields and, therefore, knew much more than I did about what they were doing. Actually, there was nothing that I was an expert at, but for me as a CTO I wanted to make sure that even if I didn't know everything that my team could trust and rely on me.

Actions taken

First, be humble about what you know and don't know. Your team is there to work with you and to flourish in their specific expertise. You hired them because they were better than you so acknowledge this and make sure that they can do the work that you can't. Acknowledge from the first interview. Tell them that they are joining a company where they'll most probably be the most expert in their field and that I rely on them to own their field. It'll also filter candidates, as not everybody will be comfortable in this position. That's fine, but you don't want those people at first in your team.

"Be humble about what you know and don't know."

Second, be extremely curious. Just because you are in a higher-tiered position does not mean that you shouldn't want or need to learn. See if there is any bottleneck in the development process between your teams, and propose to give a hand. For example, I presented myself to one of my backend engineers and humbly took on a small role close to that of an intern. The engineer taught me things, she gave me tasks, and in the end I improved. The title of CTO does not exempt you from getting your hands dirty, learning, and helping your team out. In fact, it actually brings you closer to the team and builds trust.

"Be extremely curious and willing to learn."

Third, show up for your team. Even if you aren't the best coder spend time with individuals and be there for the team as a whole. There was a time that my team was in Korea trying to ship a product for a company but I could feel that it didn't move as planned. At first we were doing calls with the whole engineering team (involved in the project). Staying late at night (~4am) working together and to support them if they needed anything. It's a team effort to show up for the other team members. I ended up flying to Korea as I felt it was not sufficient... I came with a pair of fresh eyes, I tried to help them to the best of my ability, and in the end we managed to ship the product out. So even if I wasn't an expert in a certain area, I still knew a little bit about each area of the product and thereby was able to assist and earn the respect of my team.

"Show up for your team and be there for them."

Lessons learned

  • Don't pretend to know something just because you are in a decision-making position. Have the humility to say that you don't know something and go find someone who can help you understand it.
  • Be honest about your limitations and put your confidence in your team.
  • Nobody knows everything but you can expand your technical knowledge. Learn a little bit from each area so that you are a well-informed CTO.
  • Be honest, ask for help, and show up for your team - it became pretty fast a common culture for the whole engineering team.

Be notified about next articles from David Zhang

David Zhang

VP Engineering at mos.com

Leadership & StrategyEngineering LeadershipLeadership DevelopmentCommunicationOrganizational StrategyDecision MakingCulture DevelopmentEngineering ManagementTeam & Project Management

Connect and Learn with the Best Eng Leaders

We will send you a weekly newsletter with new mentors, circles, peer groups, content, webinars,bounties and free events.


HomeCircles1-on-1 MentorshipBountiesBecome a mentor

© 2024 Plato. All rights reserved

LoginSign up