The Role of the CTO
For the past several years, I served as the CTO of CodeValue, a software services company based in Israel. I always keep asking myself – what is the role of a CTO in a software services company? After all, in traditional software services companies, the “product” is the person. Customers pay for the services of these software professionals. However, at CodeValue, we pride ourselves on not being a “standard” software services company. We value our employees, and we firmly believe that empowering them will eventually help us do a better job. If we look at the Wikipedia definition of a CTO we read that:
CTOs will make decisions for the overarching technology infrastructure that closely align with the organization’s goals… A CTO should be aware of new and existing technologies to guide the company’s future endeavors. The attributes of the roles a CTO holds vary from one company to the next, mainly depending on their organizational structure.Wikipedia
Typically, a software services company has limited technology infrastructure. Consequently, I believe that one of the primary roles of the CTO in a software services company is to carefully align the technical knowledge of the employees to the needs of the customers. This alignment, in turn, increases the business value that we provide to our customers and, as a result, the value of the company itself. However, when I look at it with a broader perspective, I believe that a CTO should not only increase the technical knowledge of an employee. He/she should also increase the overall competence of that employee. Which brings up another question – how can I increase the overall professional expertise of my employees at CodeValue? How can I contribute to their professional growth?
Professional Career Growth
I believe that a software professional has three main paths that they can grow in professionally:
- Become a Senior Developer. Learn new technologies, platforms, and stacks. Go in-depth with some of them. Pick-up on best practices and become a mentor to your fellow developers. A developer can accomplish this via a combination of professional training and experience.
- Become a Software Architect or Technical Lead. Focus on the big picture. Plan how to build complex solutions effectively and efficiently together with your team. Technologically lead your peers into the pit of success. Again, this is usually via a combination of professional training, mentorship by another architect and experience.
- Become a Team Leader or R&D Manager. Focus on managing your team and guiding them to the destination in the best way possible. Do this while maintaining team morale and keeping work within time & budget.
Note that the above paths are not alternatives, and they do not contradict each other. Each software professional can choose which tracks to focus on during their advancement in life. What all of them have in common is that they focus on technical excellence, and they directly relate to the software professional’s work. However, there is one more path. A fourth path. A road less taken. The path of Public Speaking!
Many software professionals do not take into account the gain they could achieve by becoming a public speaker. When I say “Public Speaking” I don’t necessarily mean only giving talks at various events and meetups. I also refer to writing blog posts, creating online videos, producing podcasts, being active on Twitter, etc. Any initiative which lets one influence an audience and help that audience by sharing knowledge. I honestly believe that becoming a public speaker can help you become a better software professional, in addition to the added benefit of helping others along the way. I started public speaking more than 15 years ago, and I believe that in large part, this act helped me get to where I am today – technologically leading a company with more than 150 employees.
Since I recognize the importance of public speaking, I took it upon myself as a mission to help others with advancing in this world and being their mentor. I often worked closely together with individuals helping them choose a topic for their session, editing the abstract together, reviewing the slide deck, and so on. About a year ago it occurred to me that while I love doing this, it only helps one person at a time. In addition, some individuals need more support than that and working with them 1-on-1 might not be the best way to start. That’s when I started thinking along the lines of conducting a public speaking workshop.
Public Speaking Workshop
I am well aware that there are various such workshops out there. I even had the chance to participate in some of them, which were excellent. However, I wanted something that would pass along “my way” and the “CodeValue way”; and so we created our very own Public Speaking Workshop. Together with Ilana Glotman, CodeValue’s VP HR, we built a workshop intended to improve developers’ public speaking abilities, whether they are beginners or experienced speakers, and take them to the next level. While the workshop itself was great (and I might write about its content and structure in a future post), the feedback we got was the most overwhelming part. The feedback was amazing! While this feedback has various reasons, there are specifically two that I would like to emphasize:
- We cared. When you care about your employees, it shows. When you invest in them, and they gain value out of it, they are willing to invest back. And boy, I can tell you – they sure did invest their heart in getting all their presentation sessions ready.
- It was custom made. We tailored the workshop to match the profile of how we see a technological public speaker, and this caused the effectiveness of the workshop to skyrocket.
As the CTO, or as any technical manager, you should care about your employees, and you should invest in them as much as possible. However, don’t invest only in direct professional education. Keep in mind that investing in soft skills in general and public speaking, in particular, really pays off in the long run and is much appreciated. So get them to speak up, and enjoy the reward.