Personal README

Few days ago I was reading again Kent Beck's Extreme Programming Explained, and I have recalled How to make your team read your mind.

While I have never been in a formal Manager position (I don't consider being a CTO as a manager role, but more as "the ultimate" technical leader of a company), I think it's a good idea to write it down (even though I do it face to face during interviews and in the first months), the goal being sure expectations on both sides are perfectly clear, avoiding as much as possible misunderstanding and frustrations.

Note: the CTO role is really complete, it includes helping your employees to grow their career, orienting the work to make sure your technical assets sustainably support the business, aligning technical vision with business goals in both direction (my current CTO is insanely good at it, I'm so glad I can learn from him).

In not particular order:

What you can expect from me

  • Be autonomous in most of the design/implement/test/deploy/operate activities (obviously, code reviews/requirement gatherings/software teaming/etc. are purely social activities and cannot be done alone)
  • Starting work between 9.10am and 9.30am (very conservative)
  • Always speak when I have something to say, and stay quiet when I don't have good contributions to make
  • Disagree and commit, this one is probably the more important for my management but the less understood in my experience
    • In practice, when a discussion occurs within my team (which is the important point here), I can propose one or more alternatives, I can support it, and when the decision is taken, I support it, disregarding whether it was mine or not
    • I do not challenge the agreed solution in my team, unless it can be dangerous or if it prevents achieving business goals
    • I do not tell people outside my team it's not the best solution (or something else)
    • It's funny because each time I had a (first) meeting with my leader and an external stakeholder, and we talk about a topic I have made a not selected suggestion, my leader looks at me embarrassed and comes to me afterward telling me (s)he was anxious I would speak-up
  • Iterate as quickly as possible, and if it's not possible, cut down the administrative burden
  • Manage myself (my time, my emotions, my work energy)
  • Be respectful in all situations
  • Providing on-demand probabilistic (20%/50%/80%) feature iteration estimations (over unrealistic long term commitment)
  • Mentor and learn proactively
  • Focus on incremental (self-)improvement and getting feedback (business, user, personal)
  • Challenge situation, not criticize or any form of attack people

What I expect from my team

  • Being respectful (no yelling, no insult, no threats)
  • Being open to discussions/explanations (I tend to explore a lot before making deep propositions)
  • Avoid morning meeting meetings as much as possible
  • Limit daily meeting to 5 minutes (10 max)
  • Looking for improvement and feedback
  • Do not impose a complete work schedule
  • Do not force 100% software teaming