Partition your time to transition from developer to CTO
I already wrote here about a mission that ended up being a complete disaster.
Part of the problem was that my client wanted me to take the role of CTO while developing the backend of the product. I did not frame the expectation for this CTO activity, so I assumed that delivering the features was the most important. Great mistake.
It's in the past now, but I think the expected activities to be like this:
- recruiting and managing the other freelances on the project,
- investigating architecture,
- talking to software vendors to see if buying were more efficient than building,
- establishing and documenting product roadmap,
- reassure the stakeholders that the technical parts are under your control
Nowadays, in this kind of situation, I clarify the scope of the mission then I partition my time. Programming tasks take time and tickets keep coming: there is always a bug to fix or an urgent feature to add. So I try to dedicate 50% of my time to code and 50% to CTO activities. If I choose to code in the morning, it means no meeting before 2 pm. If I chose to wear the CTO hat in the afternoon, it means no bugfix before the next day.
If needed, I add these partitions to the shared calendar to help me to keep the discipline to prevent being interrupted.