DEV Community

Matthew
Matthew

Posted on

Being a CTO is great, but ...

Earlier this week I wrote my first blog post, and, to be honest, I was so surprised to see how many people reacted to it here and on Twitter. I've no idea if the numbers are good or not and I don't really care.
I just want to thank you all for reading and leaving replies which I'm sure will help me write my next blog posts.

In my last post I explained how I became CTO, but I didn't go through what I love with this job and what makes me think I maybe should have waited or tried something else before.

Being a CTO

First of all, I want you to know that what I'm sharing here is my experience of the job and it's probably not what another CTO would think or tell you. What I think is cool or uncool about this job is my perception but, hey, isn't it the aim of all this ?

The company that I work for only has a few developers and half of them are outsourced. This was already the case when I arrived two years ago. So, I'm not the CTO of the next Uber, Twitter or whatever, and that's fine by me.

The good parts of the job

Being a CTO is awesome in many aspects:

  1. I love building things, and, being a CTO means you're taking decisions with the CEO to build the company the way you want it to go and it's soooo interesting !

  2. I get to choose what tools we'll be using for the next few years. Of course, I don't choose on my own, but I have a big responsibility in the choice. What I like the most about that, is building the Proofs Of Concept and getting to explain the pros and cons of a solution.

  3. I work with a small team of developers that all have their ideas on what we should do next, why we are doing things wrong, how they would do them better and being in the center of this is overwhelming in a good way.

  4. I'm in charge of recruiting the team that will build our products. I'll put this item in both cool and uncool lists and explain why it's also uncool to me. Recruiting is fun ! You get to meet people that come from different backgrounds. When I'm recruiting a Junior dev who has just finished her/his course, I often speak about what I'm learning right now and see what they understand about the subject (and I don't expect them to know anything about it). I'll always give them hints on books I have read or websites I have visited and that helped me a lot. When I'm recruiting a more experienced dev, I often do the opposite and ask what they learned last and try to understand the stuff myself.

The downfalls

Well, not everything is perfect (For myself of course) :-P

For some of the next few items, I have to say, my CEO is a control freak. She needs to have a grasp on every single feature even though she doesn't always get the idea.

  1. Recruiting: Of course, you can't recruit everyone, so you have to say no to great people and I hate that. On a totally different aspect, it also consumes a lot of my time. The other hard part is having to battle with my CEO on why someone who hasn't got a freaking computer science degree should be hired rather than someone who has. God! It's hard !

  2. Working with an outsourced team (considering my CEO): You got the idea. Just imagine a feature that was estimated to 10 days of work and finally takes 12 or 13 maybe. Then I need to explain once again, that writing code isn't an exact science. It's like making a cake. Ask me to follow the recipe that should take 15 minutes, I'll take me at least an hour. Ask my wife ? She'll have it finished in 10 minutes. Even though I know how to cook, my wife is much better at it than I am, it's a fact. In my opinion, coding is pretty much the same.

  3. Planning: I hate planning for other people ! I already hate doing it for myself. That's one of the main reason I thought I wasn't made for project management. I love mentoring, I love explaining what I've built, but I freaking hate planning.

  4. Well, I don't write as much code as I'd like too. This is one of the hardest aspects. I really love building stuff and I only get little time to do it. Most of the time I think: "Oh I'd love to build this feature!" and then "Man, I don't have time for this, let's hand it out to our outsourced team". So all I get to do is write on how I think the feature should be built.

What if ?

What If had to start my career all over again today ?

Honestly, I don't think I'd go for the CTO stuff. Don't get me wrong, put aside the hard relation with my CEO, I like it a lot. But I, by far, prefer building stuff, and I really don't do enough of it today.

I've done a little freelancing this year and that's something I find awesome. You can change stacks all the time, you're forced (in the good way) to stay up to date with tech and you're pretty much free to choose your "boss".

When I speak to young developers who have just finished school, the question I often ask them: "Why don't you try freelancing ?".

The answer is pretty much the one I would have given too: "I don't feel legitimate enough".

So, I think, we, as a community, should help those young developers to feel more legitimate.

Any idea on how we could do that ? Feel free to respond to this post, I'd be glad to discuss it with you all.

Top comments (7)

Collapse
 
victoria_mostova profile image
Victoria Mostova

Matthew, thanks for sharing your thoughts on the joys and challenges of being a CTO. It's inspiring to hear about your experiences and the rewards that come with the role. For those curious about what does a CTO do, your article sheds light on the diverse responsibilities and the crucial impact CTOs have in driving technological innovation. Great read!

Collapse
 
strzibny profile image
Josef Strzibny

When I speak to young developers who have just finished school, the question I often ask them: "Why don't you try freelancing ?".

The answer is pretty much the one I would have given too: "I don't feel legitimate enough".

So, I think, we, as a community, should help those young developers to feel more legitimate.

Please no. Most of the young developers are not ready to freelance in the true spirit of freelancing (to work with a client on their own). They simply did not experience enough. I really feel for the client in this case. It's a terrible advice that can turn out terrible for the client.

You should not try to make them more legitimate at all. They should get experience by working with more experience people in the team. Should young doctors freelance just after school or should young lawyers freelance just after school? No, if they are still eager to learn something.

Sure it can be done, hack, I even did this myself, but I don't recommend it.

Collapse
 
hahnmatthieu profile image
Matthew

I guess I agree to some extent.

But, as long as you are honest with the client on the fact you don't have much experience, I really don't see the problem.

But while recruiting or looking for freelancers for my company, I also came across people who say they are experienced, had worked in other companies, had been mentored and thought they knew everything about tech.

So, I do think we should make young passionate developers feel legitimate about working in tech and trying freelancing.

Collapse
 
bhupesh profile image
Bhupesh Varshney ๐Ÿ‘พ

I knew you would have some great insights
Loved it ๐Ÿ‘Œ.
(you can start a AMA if you want)
btw, I found a typo here ๐Ÿ˜†๐Ÿ˜†

I'm in charge of recruiting the team that will build our products. I'll put this item in both cool and uncool lists and explain why it's also uncool to me. Recruiting is fun ! You get to meat people that come from different backgrounds.

Collapse
 
bhupesh profile image
Bhupesh Varshney ๐Ÿ‘พ • Edited

Any idea on how we could do that ? Feel free to respond to this post, I'd be glad to discuss it with you all.

Being a beginner myself, I think working on some side projects (from scratch, like building something whose tutorial you won't find on youtube) may help.

And after you make it asking your fellow senior dev to review it for you

Collapse
 
hahnmatthieu profile image
Matthew

Thanks so much ๐Ÿ‘

Will fix the typo ๐Ÿ˜…

Collapse
 
saulsilver profile image
Hatem Houssein

When I speak to young developers who have just finished school, the question I often ask them: "Why don't you try freelancing ?".

Maybe they don't know yet why they need to freelance. Without any prior office experience, it seems more extensive effort without a relevant reason. Happened to me when I first started working after graduation. After sometime, I realized why freelancing cons can outweigh normal 9-5 jobs' cons.

For example, you struggle with the CEO in sometimes at work which showed you that freelancing would save you from these situations (not really, because clients are pretty much the same). But to a junior, these office-clashes are unknown and irrelevant to them.