Tiny DevOps episode #48 Oshri Cohen — What kind of CTO do you need?

November 22, 2022
Oshri Cohen is a fractional CTO with a diverse background, currently working with four companies. He joins me on the show to cut through some of the confusion surrounding the Chief Technical Officer role.

In this episode:

  • The four phases of the CTO role
  • How often can the same person satisfy the needs of all four phases? (Spoiler: Very rarely)
  • How often can a founding CTO succeed in all four phases?
  • A good CTO focuses on his or her strengths, and hires out the rest
  • What lead Oshri to start as a fCTO
  • Why many, perhaps most, early-stage startups don't need a full-time CTO
  • Why a development agency is like a mischievous genie
  • Why developers love working with a fCTO
  • What could you do with the 150k you'd save by hiring a fCTO instead of a full-time CTO?
  • Tips for becoming an fCTO yourself

Guest
Oshri Cohen
LinkedIn: https://www.linkedin.com/in/oshricohen/
Website: oshricohen.me


Transcript

Podcast Introduction Voice: Ladies and gentlemen, The Tiny DevOps Guy.

[theme music]

Jonathan Hall: Hello, everybody. Welcome to another episode of The Tiny DevOps Podcast. I'm your host Jonathan Hall and today we're going to be talking about CTOs and fractional CTOs and technical leadership. My guest today is Oshri Cohen. Welcome.

Oshri Cohen: Hello, hello everyone.

Jonathan: Thanks for joining me. Would you tell everybody briefly just a little bit about your background? The elevator pitch version of your history up to now?

Oshri: Elevator pitch history. Oh my gosh. I am one of those who is not formally educated in software development. I started coding at 13. I'll get into that one because I got into coding through vigilantism.

Jonathan: Okay.

Oshri: Keep that one in mind, you'll ask me about that one later.

Jonathan: All right.

Oshri: How many people have you heard got into coding for vigilantism purposes? [chuckles]

Jonathan: I think I can count on one finger. [chuckles]

Oshri: There we go. Right?

Jonathan: [chuckles]

Oshri: Every time I tell this in a podcast they're like, "Really? We're going to have to go back into that one," and we do.

Jonathan: Yes. [chuckles]

Oshri: I worked in various industries, from MedTech, video distribution, e-commerce, legal, logistics, MarTech. You name it, I've been in it. SAS, obviously a lot of SAS enterprise. I used to be a Microsoft partner at some point, selling their stuff. Love their products. I had my own consulting when I was 23 because I thought I was smarter than everybody else. I was not smarter than everybody else.

Jonathan: [chuckles]

Oshri: I just had less liabilities than everybody else, so I could do that. [chuckles]

Jonathan: Yes, right. [chuckles]

Oshri: Right? Here I am now. Here I am doing fractional CTO and not shutting up on LinkedIn. If you follow me I pity your phone, I pity the phone.

Jonathan: [chuckles] Well, I do follow you, of course, that's how we got connected, and I've enjoyed your content. I believe you recently announced or celebrated your one-year anniversary as a full-time fractional CTO, which might sound contradictory, but we'll explain that. I thought it would be a great opportunity to bring you on and just talk about your story. Before we hit record, today, you were talking about how a lot of people don't even know what a CTO is or should be doing anymore. Maybe that's a good place to start. What should a CTO be?

Oshri: It's not necessarily what a CTO should be. It is actually, in fact, that the CTOs role changes across four years, or four phases of a startup. It could be four years if it grows really fast. Year zero, the CTO is an engineer. You're not going to have a manager, you're not bringing someone in to do technical strategy for you. You're bringing someone in to start writing code, and that's what they're doing 90% of their time. Then you're hiring a couple of developers, then at some point at year one, the CTO becomes a manager.

Maybe at year two, obviously, I'm contracting everything, but maybe at year two, there's multiple managers, now the CTO needs to be a leader. At year four, they have to now be visionary, they have to now think ahead of technology, and be able to also operate at the same time. The question here is, how often is that the same person? That's the problem. How often is it the same person? A lot of startups, they look for the CTO, they give a nice equity position, they give a nice salary 99.999% of the time, that person doesn't last more than a year to two years.

Now, they've passed their cliff date. They've taken their 25% of their allotment, maybe they've taken 50% of their equity allotment, and they walked away having done sometimes a great job, but most of the time a pretty bad job. That's why the fractional CTO business exists. I take over from people who screwed up literally because they need someone to come in and say, "Okay, what's going on here? We had a CTO and we're still having all these problems." CTO is not this magic fairy that comes in pixie dust and, "Oh, look at that, your technology works well, and your team is well organized and everything." It requires real-life experience and real skill set.

A CTO that did five years of experience developing is not a CTO. He's a really good developer. They might be very, very, very experienced, very skilled. They might be the genius that can do it all, and they might be even at the right time in their life where they can grow from IC, from an individual contributor to a visionary in a short period of time. Those definitely exist, but they're 1 out of 100, I can guarantee you that much.

Jonathan: Do you fit all four of those categories yourself? Or is it contextual? Does it depend on the situation and the company?

Oshri: It's contextual. It's contextual on what the company needs. As a fractional CTO for one client, I'm an engineering manager. Well, that's all they need. They have a bunch of developers, they need an engineering manager, code review, PR process, CI/CD. Another one I'm the tech lead, so I'm doing architecture and code reviews and database modeling. For another one, it's purely strategic. I'm in there, they've got a director of engineering, they've got multiple teams in India, and Brazil, and so on and so forth. I've reconfigured the whole lot. Created the processes in place, trained everybody.

A lot of mentorships is involved. Technical leadership. If you had a really, really good boss, leader that you work for, you know that 90% of the job is mentoring and coaching and leveling up your people.

Jonathan: You probably don't have numbers, but just what's your feeling that a founding CTO can cover all four of these? I can imagine that it gets progressively more difficult, unless you're just a natural visionary. Some people are born with a vision and they try to fill in the other areas. How frequently can a founding CTO see through a company through all four of these stages?

Oshri: If they have the entrepreneurial mindset and skill, then they can do it because to be an entrepreneur is to reinvent yourself continuously as needed. If you live in a box, and your box is technology, and you refer to yourself "I am a Golang developer, and I'm going to be a CTO," well, you're just going to be a tech lead, and that's fine by all means. You can make your $500,000 a year, at least you could at some point before they all laid off those people. Right?

Jonathan: Right.

Oshri: Airbnb and Twitter and Netflix [unintelligible 00:07:12] people out there, they were making these ridiculous [unintelligible 00:07:14]. Still makes no sense to me, by the way. I don't understand it, but anyways.

Jonathan: [chuckles]

Oshri: If you have the entrepreneurial spirit, yes, you can do it. However, at some point, even if you're the founding member of the company, you're a co-founder and you have the title of CTO, it doesn't mean you should retain it, it doesn't mean you're stuck with it. Hire a VP of engineering, let that person run the show. Do what you do really, really well. Where I see most CTOs fail is that they don't rescind control when they are just not good at what they're doing.

Some people are not good at people management, some people are not good at task management, but they're fantastic engineers. Great. Go engineer, go work on the hard stuff, put in a manager in place, the manager runs the team. That's not a problem because you can be either a CTO from the traditional sense, which is you manage the technology organization, the technical org, or you're a CTO from the technical point of view.

You know what? You have a PhD in some abstract AI/ML model that you've defined, and that's what you do. You're not managing a team, but to expect this person to manage a team, you're shooting yourself in the foot. You could, but maybe not. You need to know where your weakness is. Same thing with a CEO. You got to know what your weakness is. The CEO is not going to start doing ledger entries. Hire an accountant for that, let them deal with the BS. That's the reality.

Jonathan: I want to talk a little bit more in a minute about how to identify if a company needs or should consider a fractional CTO or what stage they're in. First, I want to hear your story. You went into full-time fractional CTOing about a year ago. What led up to that and how did you get to that point?

Oshri: I was frustrated with the industry. I was frustrated with the industry. You read my resume it reads like an epic novel. My profile fell through the cracks, to be honest. The last three jobs I had-- at least the ones that I put on my resume. The last few jobs I had were - how can I say? - were ran by my horrible people, unfortunately. Either it was a hyper-growth company that literally acquired another company in my city and gave my job away to somebody else, they didn't even know by mistake because they grew so quickly, they didn't even know I existed, and I was one of the directors in the company.

This is insanity, just that incentive. I was sitting down like, "What just happened? What? What is this?" To working with misogynists and racists outright. I had to quit early on because I wouldn't work for someone who said, I can't hire an African American based on their skin color. I was told this, and I'm looking-- I don't know if you've ever faced racism straight up blatant, right there and then, and someone's telling you this, and you'd be like, "What?"

Jonathan: Not from management, but I have from colleagues. Yes.

Oshri: Yes, from management actively telling you. I was CTO for that company, and they're telling me this, and I'm like, "What's going on?" I quit three months later because I needed to find another job because I had a new kid. I couldn't just leave. Had I had the money in the bank, I would've left right away on that spot. I did this. I ended up having a couple of jobs where I stayed for a year to a year and a half maximum. That doesn't look good on a resume. It doesn't. Recruiters didn't know how to position me. I said, I'm like, "Okay, I've got the skill. I know I know what I'm doing. I know it. I've been doing this for long enough. I can do this in my sleep." For my fractional CTO clients, I am not actually doing this in my sleep. Just I'm doing some work.

[laughter]

Jonathan: Important caveat out there.

Oshri: Important distinction here. Right?

Jonathan: Yes, yes, yes.

Oshri: I was applying for CTO roles, VP roles. Nothing. Crickets. You're declined, you're declined, you're declined, you're declined. Recruiters that actually paid attention to me love me, but their clients were like, "Oh, yes, no, he looks like he's a jumper. We don't care what the reason is." The reason is in my resume, this shows ethics. They didn't care. I gave up on that one. It affected my mental health quite a bit actually. It affected me. I started looking, what's the alternative? I need to take care of my family, and so on and so forth. Maybe I'll do this fCTO thing that I've been doing for startups and helping them on the side, mentoring them, and actually do it as a business.

I started researching the model. The interim CTO, the fractional CTO was kind of starting in North America, but not really. It's more of a European thing. When I looked at Europe, I saw, I'm like, "Oh, okay." They do the retainer model, like a lawyer. You pay monthly, you have access, they do the work. If they need more work, they put a debt on your account until it all resolves itself. In North America, we like to acquire our people. We like to buy our car, we don't rent, we buy our home. It was a culture shock. In North America, they didn't really hear of the fCTO. It took a lot of education.

It took me about five months to get my first client of incessantly not shutting up on LinkedIn and talking about it. That's how I got 100% of my clients. 100% reached out to me and said, "Okay, this is interesting." I started with one client, and then suddenly I have four clients. It was, business is good, but it's also exhausting, but it's also very good. That's how I got into it full-time, part-time CTO. The full-time fractional, how does that work?

Jonathan: You're working full-time, but only a fraction of full-time per client, is that correct?

Oshri: Exactly. I've got four clients. Every two hours I do this, I took a day off, a couple of hours off for this podcast. My clients know about it, they're cool. I'm going to do it later at night, or I'm going to do it on a Sunday, whatever it is. That's the reality because the fCTO is not operational in real-time. It's always an async process. At least once you create a proper foundation for the tech org, once the tech org knows how to run on its own.

After about three months of active execution, then they can start operating on their own because you train them to operate on their own, and then you fulfill an advisor role. You still stay on same hour, same everything, but you advise, and then they're operating faster, and better and more efficiently. Then now it's just a process of optimizing the process. Oh, we did this. It doesn't work anymore. Let's adjust it slightly for something else to solve another problem.

Jonathan: Are you actively working with four clients right now?

Oshri: Yes. [chuckles] I'm signing on more clients. I am working a tremendous amount, at least 12 hours a day. Nutrition is really important for me. No caffeine or no coffee, but very light caffeine throughout the day in drips. I have to sleep well. I'll tell you something, by Friday-- I finish my day on Fridays at three o'clock because I have to. Otherwise, I am completely zoned. Don't even talk to me on a Saturday. I need my quiet time. That's it. Then I work again on Sunday. It's tough. It's not for everyone. The solo partnership is not for everyone.

Jonathan: Yes, it sounds a little bit hectic. I'm curious to understand. I don't want you to share any details that you're not allowed to share. What kind of profiles are you working with? In particular with regard to these four roles or stages that you outlined. What stages are these four clients you're working with? What stages are they in?

Oshri: Some of them are pre-MVP, like they're pre-everything. They're just an idea. I like those because I can really work with the founder and set them on a course for success. They'll come to me, "I want to do this and this and this," and I'm like, "No, you don't want to do this and this and this. This is going to prove it." This is more like a business mentorship. I've been in business for a while, I've had a startup. I failed that startup once or twice. I've worked closely with founders before.

In many cases, I'm their fractional CTO, but I'm kind of acting as their entrepreneurship coach. From a technology point of view. "Okay, well, if we're going to do this, then we need landing pages, and we're going to do this. Oh, how much is this going to cost?" Well, we buy it. We don't build it. This is just natural. First time founders don't know this stuff, especially when they're not technical.

Another one is working with a dev agency. Before they hire the dev agency, they hire me, I represent them. I talk a lot about dev agencies. I love them and I hate them at the same time. They can provide a lot of value, but they can also cause absolute havoc in a business. I like to equate a dev agency to a genie. You get exactly what you ask for, nothing else. Jonathan, you're a tech guy. You know that where cost overrun happens is on what you don't ask for and what you don't think about ahead of time.

I've yet to meet a dev agency that will deliver a local development environment with docker compose and database fixtures, and you can just run it like that. I haven't met one yet, but the ones that work with me have to deliver that as part of their SOW, and I review their code. I've got one of those. I've got another one where it has multiple teams in India and around the world, and they have a director of engineering in one part of the world, another director of engineering in NOAM, in North America that covers NOAM and LATAM, and they have their teams, and I manage and I run the directors, because again, they still don't need a full-time CTO.

I still have a hard time finding enough work for two hours a day. That's the thing. Yes, there's always work to do, and I always have a plan. Now we have to bring their APIs up to be able to deliver a million requests a day. Minimum, a million requests a day under 250 milliseconds. Not bad but when I took them on, they could barely do 5,000 requests and their servers were crashing, and that was six, seven months ago. We optimized as we need to open capacity.

Another one, I'm doing actually COO work for. I'm doing product strategy instead. I'm an operational guy. I'm doing product strategy. I've been in this space, I've been in the medical space for years and years, and so I have an idea, this is how we're going to approach this. They loved it. They retained me. They want to retain me for the long-term. Excellent. I'm happy about that.

Jonathan: Great.

Oshri: In between, I've got recruiting, I've got a couple more dev agencies. I've got dev agency representation. I've got some coaching clients, one hour here, one hour there. I'm helping them just grow their practice and structure themselves properly. I'm busy.

Jonathan: It sounds like it. [chuckles] For these pre-launch companies, that sounds like the place where the CTO as engineer makes sense. Does that describe you? Are you doing engineering work for them, or you don't do that when in the fractional role?

Oshri: At that point, what I do is I do the technical design, the systems design. This is how we're going to lay it out as an MVP. I will leave the Lego pieces in the right place to say, "Okay, well, when we're ready, we'll pull this one out, and we'll pull this one in." Now we can handle 100X more traffic. Good. I designed the technology in such a way that it evolves. It's not over-engineering, but it's just putting it in the right place for evolution. I call it a process of systems that are intelligently designed to evolve. When you do that, you're not going to throw away your MVP code. You're not going to have to rewrite everything. You're just evolving it from that point on, but you have to make that decision actively.

This is an active decision that you have to make and there is a slight increase in cost, of course. When I work with a dev agency, I say, "Well, guys, we're going to need an API gateway in front of this regardless." Well, why an API gateway? We don't need it. I'm like, "Well, at some point we're going to go and split the service out. I don't want to deal with the BS." I want to just split the service out and not have to deal with it. That's it. Founders understand it. Now the dev agency understands it, this is what we do.

Jonathan: In that regard, it sounds like you are working more as an engineering manager/architect. Rather than a hands-on keyboard, typing out code, you direct the agencies. Is that fair?

Oshri: Exactly, yes. I direct the agency and sometimes, you know what? I spent two full days a whole week and a couple of weekends ago debugging a CI/CD process, and I was knee-deep in the code trying to create a hermetically sealed end-to-end test. It's difficult because there's no tooling available easily for this. You have to just set it up and have an entire ecosystem run in your CI/CD. By the way, I know all the good CI/CDs and all the bad ones. We can chat about that one. I love CircleCI, but they don't work for .NET. I despise Bitbucket because I have to run my own runners. GitLab is my favorite so far as a middle-of-the-road CI/CD so far.

Jonathan: I am on GitLab quite a bit too.

Oshri: I like how tightly integrated it is. It's very nice.

Jonathan: How long do you typically work with a client?

Oshri: That's an interesting one because I had 15 clients in a span of a year, but it took five months to sign my first one. In about 7 months, I had 15 clients. The math doesn't actually work out itself at two hours per day, obviously. Some of them stayed with me for a month because they needed that technical leadership and we started it and I ended up finding this great candidate for them. I worked myself out of a job like, you have to hire this person as my replacement. They didn't understand it. "Don't you want to work with us?" "No, I want to work with you guys, but this guy's better. He's done exactly what you need. Let's do it."

I'm not in the business to try and stay with the client against my ethics. There's no point. I want them to be set for success. That's the idea. The fCTO concept is your trial running a CTO. When clients tell me, "How long are we expected to stay with you?" I'm like, "Until you don't need me anymore, and when you don't need me, I am going to tell you. That's when you need to hire a full-time CTO. Either you need to hire a full-time one or you don't really need one at all, and we just put another director in place and be done with it and that's it."

I am wholly against giving equity to people, really. Unless you bring something so valuable to the table. If you can just do some GraphQL and some Node.js, no. My mother can write GraphQL if I taught her, I'm not going to give her equity either. I'll give equity to my mother, but still.

Jonathan: [laughs]

Oshri: That's it. Some of them is 1 month, some of them is 8 months, 12 months. Some of them is literally two, three weeks because I solve the particular problem and I'm like, "This is the problem you're in. Go ahead." Some of them don't have the budget, so I help them on the side and I'm like, "Listen, I'll help you here and there as much as I can, but otherwise, no." Some of them are just not a good fit. One of them hired me as an fCTO two hours a day. What they really needed was a COO with a technical background. They didn't need a CTO. They needed a COO to define operations and select technology. That's a COO's job. They don't need a CTO for that.

A lot of startups think that they need one because that's what their VCs tell them. One of my clients literally called me. He's like, "My VC is forcing me to hire a full-time CTO because it'll look better." I'm like, "You're going to what? Give $300,000 to some guy because it looks better?" He's like, "That's what it's going to cost." "Yes, that's what it's going to cost unless you got a developer and it's still going to cost you $150,000 plus equity, plus, plus, plus, plus. For them to do what? To code? It makes no sense sometimes. A lot of this, it's peer pressure. Almost. All the cool kids have a CTO, so you have to have on.

Jonathan: Definitely, man. I spoke to a good friend of mine when I was a kid who's working with a company, we spoke a year ago and they were looking for a CTO. I don't know if they needed one. I don't think they needed a full-time one for sure. I think it was like four people in the company, but there's this expectation that you need a CTO. They're looking to hire a CTO and their job description was basically a senior developer. This isn't the right match.

Oshri: Exactly. A CTO is a business role. It always has been and it always will be. How much business depends on the size of the technical organization. The bigger the technical organization, the less you're in engineering. Engineering and technology, it's like if you look at a Venn diagram, they touch each other, but they don't. There's a slight area where technology and engineering overlap, but they're two distinctly different things. Engineering is building, technology is running the technology. How many clients have I seen that have built their own timesheet software? I'm like, "What? Why would you build your own timesheet software?" "Oh, because no other tooling had what we needed."

Are you kidding me? This is commercial off-the-shelf stuff. You have developers that you hired at Can$100,000 a year or a little bit cheaper, at Can$100,000 a year writing a timesheet software?" What? Why? No. I would go in and I'd say, "No, we're nicking this, forget it. Let's find an alternative. We'll migrate it. It's over. We're done with this. It connects to your accounting system." A lot don't think this way. A lot think from an engineering point and they had a CTO, but that CTO thought from an engineering point of view, not from a technology point of view.

Jonathan: What problems do companies bring to you? You say sometimes you fix a problem in two or three weeks, sometimes it takes many months or a year or longer. What problems are they bringing to you that you help them with?

Oshri: A lot of the times the problem is my engineering team is not delivering fast enough and we have recurring bugs. Half the problems, at least. Half the problems is because they're not following proper development practices. It's that simple. They started out cheap, they cut corners, no testing, no clean code practices, nothing. Barely even a PR process, barely, that's the reality, and they were deploying once every three months. These massive releases with 500,000 lines of changed code, go test that properly. By the time they get to the stage and then it has to wait another month for it to go through regression, that's when they call me. Typically when their engineering team does not work effectively.

When the engineering team works effectively and they think they need a CTO, that's when I come in and I say, "Oh, well everything seems to work fine here." Now, we can operate at this level, this level, or this level, but right now your foundation is decent, and based on your business trajectory, you don't need a CTO just yet. I can stick around for an hour or two a week and make sure that your lead developer is coached. Maybe we'll see, maybe that person has CTO material and through my coaching, I test them this way. I ask them odd questions and I give them odd strategies to see if they'll challenge me because that's really what a technical leader should be doing. Yes, that's it.

Jonathan: Have you ever had a client ask you to come on full time and would you ever consider it?

Oshri: I had one ask me to go full-time. Then he asked me what my price was.

[laughter]

Oshri: Then he said no. My consultancy does pretty well for itself. In five months, I generate quite a bit of revenue, in six months, quite a bit of revenue. I continue down this path, no one can afford me at that point. Honestly, I don't know if I want to go full-time yet. I'm having too much fun right now. I'm seeing too many problems and I'm enjoying myself. I'm enjoying just seeing teams level up so much and their developers so eager to have this technical leader that is on a consulting basis because what I notice that's really, really interesting is that they don't see me as a threat. They see me as an enabler.

It's not like they hired a full-time CTO to come in and change everything on them. They might lose their job. They might do this, they might do that. Who knows what might happen? They're eager to see me come in because they know I'm temporary. I'm coming in to fix things. It's very, very interesting concept. I even work for companies that have a CTO that just don't have the time to deal with everything. I'm an fCTO to a CTO.

Jonathan: I wanted to ask you about that. I can imagine that there are lots of companies where they have a designated CTO, but they recognize a weakness in one of these areas. It seems like it would make just as much sense for you to join them.

Oshri: Exactly. I work with CTOs a lot as well. Not a lot, but I've had a couple of clients with CTOs. It's a minor portion of my business, of my ideal customers, and I help with coaching, I help with mentoring. I take on half the team for them because you know what, they don't need a full-time director and they don't need a full-time manager. They just don't need one. They just need someone to come in and adjust or someone to handle a different business process entirely. I'm working with a client who has a CTO. They've got 100 strong development organization operating perfectly on the product side, but they have a professional services side as well.

They have no technical leadership for the professional services. They don't need a full-time CTO for that, and the current CTO doesn't actually have the time to deal with professional services, because it's two completely different business models, two completely different ways of developing. Now I have to come in and get that team up to par and work with that team and manage that team, and so on and so forth, and then probably put in some technical leadership so that they can start operating on their own and grow that part of the business. I work a lot this way.

Jonathan: Let's talk about cost a little bit because if anybody's listening, and they're thinking, "Should I hire a CTO or an fCTO?" you just mentioned $300,000 for a CTO. I'm sure that depends a lot on where you live and where you're recruiting. I think $300,000 for a full-time CTO is probably kind of low end. Maybe you could get a cheaper one if you're getting basically a senior dev who's willing to wear that badge, but for a qualified CTO, $300,000 seems pretty low to me.

Oshri: Much higher up, yes. A full-time CTO, one who actually knows how to grow a business, and now there's different CTOs. There are CTOs that I've worked with that have no idea how to spin up a business. They have no idea because they've always inherited a technical org of 1,000-strong with directors and managers, and now they have to just retrofit and grow that. In many cases, that's actually easier than spinning up from scratch. The process is already there, everything's there, but that's it.

The big shot CTOs of the very large organizations that go from one large organization to another large organization, this is their skill set. They can bring a company public. Great, that's their profile. You ask them to do something from the ground up, they won't fail, but it's not their skill set, and they'll still charge you the same amount. That's the reality. You need to know what kind of CTO you're getting.

Now, a decent one who will get you from nothing to something might cost you $350,000 to $400,000 a year base comp without equity. Now, you're not talking vacations in here, you're not talking bonus, just salary. That's what they should be charging you because you need that business arm. You need that individual who will challenge your business requirements and business needs with technology, and act as this partner. You don't need someone to give orders to. Your CTO is a partner in your business.

Even if you give equity or you don't give equity, they have to have that mindset. They have to sit down with sales and help with sales and with marketing and whatnot. It's a multidisciplinary role. This is what I have. I have a very hard time just sitting here and thinking about technology. I said about technology and I'm like, "Oh, okay, we have an opportunity here." I go and I contact the COO and CEO of the company, I'm like, "Guys, we have an opportunity to build something else. Here, I created a business plan for you. You didn't ask me. I made it for you."

This is the kind of person you want in your startup. Once your organization is big enough, you don't need that because you've got a VP of sales and VP of market, and VP of product, and all the VP star, and all the CXOs needed to actually do that. In many cases, the bigger your organization, the more constricted your CTO needs to be. It's a funnel that way, so it's very, very interesting that way. That will cost you about $500,000, easy. It should cost you about $500,000. Total cost of ownership, $500,000.

In fCTO, if a client hires me for a full year, and I don't hold my clients to full-year contracts because I don't think it's fair because I want them to be able to walk in and out as they need. It hurts me a lot because I have income insecurity, but I've also been in the startup business, and I want to make sure that they're never beholden to me because they have to on a contract. The contract always has a way to get out, always, always has a way that is fair for everyone.

If a client hired me for two hours a day, every single day at the exact same time slot, that's the key and I'll walk back to the model and how it actually works and how you can make it work. For a whole year, I'd be less than an intermediate developer in terms of cost. I'd be about $150,000 for the year, but you get $500,000 worth of value because, let's be honest, how much work is a full-time CTO doing during the day? Between lunches and meetings and sitting there and talking, they're not doing more than four hours a day, that's the reality, or they're handling larger projects on their own, whatever it may be.

They're not in their in their scrum meetings. If anybody still does scrum. They're not like, "What about this task and estimate?" They're not reviewing Jira tickets. That's the reality. The value proposition is definitely there at one to two hours a day. Once you get to three hours a day, that's when it starts becoming a little dubious. Okay, maybe we don't need it because then the cost becomes close to a VP of engineering and they have to know whether they need them full-time to begin with or not. Again, do they need them full-time? That's the reality.

Jonathan: Let's talk about that model a little bit more. Two hours a day is quarter time roughly speaking, if you assume an eight-hour day, nobody really works eight hours in this industry per day productively anyway on a single task.

Oshri: Except for me. [laughs]

Jonathan: Except for you. [laughs]

Oshri: Except for me. My wife shares an office with me. If she does not feed me, I do not eat. It's really that simple. She will come in and give me food and I feel like this individual has his wife serving him and I'm like, "No, don't do that. It's cool," but I need to eat because I'm literally back to back to back. Sometimes I have 5 to 10 minutes in between, sometimes. I'm back to back because I need to because, in my business, there's no sales organization that's going to keep funneling business to me. There's no guaranteed salary, there isn't. If I don't work, I don't make money at the end of the day.

Believe me, I take a vacation, it's very expensive because I'm not building for those two weeks or three weeks that I'm taking a vacation. I'm not building, plus it costs me. I'm looking at these budgets and I'm like, "Oh, boy, what have I done? Okay, this is a very expensive vacation," but that's the reality. Right?

Jonathan: Yes. Let's talk about it. It sounds like two hours a day, roughly quarter time, according to traditional time accounting, is sort of where it maxes out. How low does it go?What's the least time commitment you offer to a client?

Oshri: Least time commitment will be one hour a day if they want my preferred rate. Anything else, it's ad hoc, and it's much more expensive. I charge $300 an hour for one to two hours a day. Any less than that, it has to be the whole week, otherwise, I'm not really effective. Any less than that, I go to $400 an hour and you might as well because I almost want to force them through pricing to take me for the whole week because that's how I'm most effective, because I can follow and I can work with the technical leadership if they have any. Sometimes they have a director, sometimes they don't. Sometimes I'm doing recruiting for--

There's always something to do, there's always something to do. If I work on an ad hoc basis, they call me when they need me, and that's a bad idea. For example, I've got one client that's like, "We need to move our repos from one place to another," and in my head I'm like, "Why? What is the care where the source code is stored? Who gives a damn?" Right now there's another priority, there's other priorities, I want to know where this priority came from. I take over when I come in, but I can only do that when I'm effectively on a recurring basis continuously.

I know that between 9:00 AM and 10:00 AM, I've got this client, it's blocked off in my schedule, I don't take any other meetings, completely blocked off. They can expect me between 9:00 and 11:00, or 9:00 and 10:00, between 11:00 and 1:00, 1:00 and 3:00. They're like, "Oh, this is my time with Oshri. Excellent. He's on." They can book me without asking, "Hey, Oshri, are you available? That's a very important bit. For anyone who wants to be fractional CTO, there's a level of service that you have to provide and consistency that you have to provide. If your client has to ask you whether you're available, you're a consulant, you're not a fractional.

No one ever better call me a consultant, I'll blow a gasket. For me, I think that's a bad term, that's derogatory for what I do. You're not a fractional if they're asking you this. Yes, that consistency helps a lot because I'm on Slack. I've got 12 Slack channels. That's not bad, eh, 12 Slack channels.

Jonathan: Not bad at all.

Oshri: My Slack is pretty big and it pops up all the time because people are always asking me questions, so I'm always answering questions for all my different clients. When they're consistent with me, they get access to me on Slack. I've got developers calling me at all hours of the day and sometimes I'll get on a call with them and I'll do a huddle. I'm like, "Okay, shock me," and I'll do a peer programming session with them real quick or do a code review or I'll do this or whatever it is.

The benefit of having me on a continuous basis every day is you get access to me on Slack the rest of the day. I guarantee my response time during your time because I'm on actively on your Slack channel. Otherwise, if I see the message, I'll answer it, but sometimes it could take one, two, three, four hours for me to answer. It happens, but people like this model, I like this model, it seems to be interesting and everybody pays on time, so I like that.

Jonathan: Do you bill upfront, or you just trust people with net 30 terms, or how does that work?

Oshri: Net 30 terms typically. I like to be nice with the startups. I want to give them some nice, I could say, cash flow protection, and I build them every two weeks, that's it. Every two weeks, once it reaches a certain point, I build them, automatically. At some point, I don't even know when invoices come in and half the time I forgot to do accounting for a whole month because I was so busy and I'm like, "Where did I get this money from, what's going on?" Oh, it's this invoice, I guess, I don't know this one. It's a good problem to have, let me tell you that. It's a very good problem to have, very, very good.

Jonathan: This is really fascinating. I enjoy talking about this. I enjoy talking with people who help solve technical problems and organizational problems, so this is energizing for me. I would like to bring it home a little bit, and I want to answer two questions. Let's first start with anybody listening who's in a leadership role maybe they're a startup founder or a CEO and they're struggling with some of these problems, what should they be asking themselves to determine whether they need full-time or fractional?

Oshri: If they're developing something completely brand new, they need technical leadership, but it doesn't mean a CTO. It could be a tech lead, it could be a director, someone who manage the team, but someone who has a technical brain, who understands technology. I'm an fCTO for a company that does Golang and Python far from my skill set. I know Golang and Python, I learned it about a year and a half ago, that's it, but I can code review to no end and I understand and I can lead it, I can architect with it, and so on and so forth because it doesn't take that long, huh. Learning a new language or new frame, it doesn't take that long.

I'm going to pick up rust in a couple of weeks, and I'll probably be at 80% decent with it and then it'll take another year to get to that last 20% to be 100 on it, if you can ever be because these languages change so damn fast. "I have finished it. Oh, they introduced generics, damn it. [chuckles] Okay, all right, thank you Golang."

Jonathan: [laughs]

Oshri: That's what you have to ask yourself. Secondly, do you have the money to support a full-time one? That's the thing. Let's say for a startup, is it worth it for you to put $300,000 a year plus 2% or 3% equity position plus bonuses, plus vacation time, do you have something else that you can put $300,000 on? Let's say, take half of it for the opportunity cost of an fCTO. Most of my clients will pay about $150,000 for the year to have me every single day for two hours which, let me tell you, it's a lot of work.

I can do a lot in two hours because I'm not invited to be BS meetings. I'm not invited to anything else that I don't need to be in all hands and then I handle with engineering. As long as engineering works well, they don't care about me, they just want to make sure that it's dealt with and that's it. Can that $150,000 get you a operations person or a marketing or salesperson or two salespeople with commission? Will you be able to grow that business faster that way?

The third thing is do you even know what kind of CTO profile you need, and that's an interesting one. Do you need a technologist? Do you need a visionary? Are you looking for a CTO because you need coding? Because that's not a CTO. Before you commit and have someone change their jobs to join you, maybe you're not good at working with the CTO yet, hire a fractional CTO. It's a CTO with training wheels if you think about it. You're going to try out the concept.

Do you want someone who's opinionated? My clients like me because I'm opinionated because I tell them, "No," straight to the point. We're like, "We're not doing this, we're going to do it that way," because they want that leadership, they want someone to tell them how things will be. Not everybody likes it. I had one client who dumped me, he's like, "I don't like this, I need someone to just do what I'm saying." "Well, okay, great, I'm not for you, buddy. What you need is a developer, but good luck, here's our list of developers."

Here's the interesting part, fCTO is designed to be temporary, but if we retain me for a year, you save a whole bunch of money. Great, fantastic for you. However, it's designed to be temporary. What I tell my clients is when you're done with me, I will find you my replacement and holy moly do they love it? They're like, "What do you mean you're going find me the--" I'm going to find you the replacement and who better to replace themselves as the person who's actually doing so and without any hard feelings.

I'm not being fired, and it's like, "Oh, you have to find your replacement now," and it's stressful. No, that's the point of the game. I want to find a replacement for myself because let's be honest, at some point I'm going to get bored. My ADD is going to kick in, it's like, "Oh, okay, still more of this. All right, okay, I think we need to find someone else for you now." Maybe, it might happen. Hasn't happened yet, but it might happen at some point and so I find the replacement.

What I realized as well is the fCTO is a fantastic stand-in for someone going on maternity leave because it's near perfect, it's a non-full-time role. You hire this fCTO, and I'm spinning this up now with a client who's going on maternity leave, and I'm working with them, and I'm onboarding with them, and so on and so forth. They're going to go on mat leave, and I'm going to be in contact with them, we're going to be chatting here and there because I'm not there to replace them, I'm there to handle the situation while they're on mat leave, and so I'm handling this. I'm the captain of the ship while they're not present actively every day, but I work with them.

Yes, they're mat leave and yes, you're supposed to be offline, and so on and so forth, okay, yes, nobody's ever offline because we have things to do, but a quick message on Slack works or text message because they're not on Slack, a quick text message works, a call a week works. I'm going to take over their engineering department, their technical organization, I'm going to work through them, implementing their strategy, and then when they're ready to come back, I walk away and there's no issues because the employer doesn't have to keep me because they give me a full-time job. They don't have to keep me. It's fantastic, it's great.

It's like, "Oshri, thank you very much for your services, they're coming back from maternity leave." "Excellent, great, have a good day guys, have fun." I'll go on to my next client because there's always a waiting list somewhere, there's always people waiting. I had to say no to a couple of people at some point because I was burning out, that was too much work.

Jonathan: Then the other question and actually I remembered I have to get back to vigilantism, so there's actually two more questions.

Oshri: [laughter]

Oshri: I like that [unintelligible 00:49:09]

Jonathan: If somebody's interested in pursuing fractional CTO work themselves, what pointers can you give to somebody? Maybe they've been doing technical work or even Engineering Management, what pointer is going to give them if they want to consider this?

Oshri: This is a business rule. You're building a practice. You have to follow the agency model, and there's many models you can go after. You can model models, you can have the retainer model. You got all of these models, but customer service and how you approach the client is incredibly important because what I'm selling is not a brand of fractionalctoadvisors.com, it's oshricohen.me, it's me. I'm selling myself, so I am the brand. What I say online matters. How I discuss things online matters. You you like most of my posts. Some of them are stupid because, you know what, I made a mistake. It's true.

Jonathan: Your words, not mine.

Oshri: I delete them afterwards, don't worry.

[laughter]

Oshri: What was I thinking? What? No, no, but you know what, hey, the fact of the matter is I'm human, I make mistakes. It's a business role, so you have to prospect. You have to sell, you have to use automation, you have to reach out to people. You have to talk to a lot of people. If you don't like talking to people, this is not your business. You have to really know what you're talking about. You have to come in-- There's no like, "I'll figure it out." No, no, no. You're coming in because you have already figured it out.

Now, you can be a fractional across multiple different areas. I was talking to some guy who sells principal engineering services, and he's like, "I want to be an fCTO." I'm like, "Yes, but you're not a CTO. You're great at front-end developing and you're probably one of the best I've seen so far having looked at your code and having spoken to you. Maybe you're just a fractional principle edge and that's it. A lot of clients need a fractional principle edge to review their code because they can't hire a full-time one.

His practice is full-time at this point because he's got so many clients and all he does is do code reviews. He's basically on email notification off of GitHub and all the other source controls for all of his clients and he goes one by one every day. That's all he does. Code review the whole day, and then talks to them, he's like, "Hey, let's rework this. Let's rework that solution." That's a fantastic job. You can do that on the beach. Never tried working on the beach.

Jonathan: I've tried it before [unintelligible 00:51:47]

Oshri: It makes no sense because the guy's shirt is never sweaty and he's drinking mojito while he is coding. I'm like, "Yes, you try drinking a mojito while you're coding with the sun. You're not writing any code, you're putting on Netflix and you're falling asleep."

Jonathan: That's right. [laughs] All right. Well, think the last question I need to ask then is about this vigilantism that got you into coding.

Oshri: Oh my. All right. When I was 13, my father got me a computer. The first thing I figured is, let me try and get some free games. [chuckles] Back in the day, there was no-- what's it called? The DRM. There was barely even a serial number. You just bought the CD and you popped it in and you loaded the game and that's it. That's what it was and so people naturally were giving it out for free, AKA pirating. I think that's even before pirating the term came out. This is pre-Napster if you remember Napster. I discovered so much music with Napster. It's crazy. It made me love music. It probably boosted sales, if anything. I think it actually did boost sales, but anyways I digress.

Jonathan: I think so, too. Yes.

Oshri: We download these things and some nefarious people would mark games as zip files and so on and so forth, but they would put very disgusting imagery that is very illegal. I'll let your imagination run or not run on that and I'm like, "This is disgusting. What do we do with this?" My friends and I learned how to code viruses in C++. Got to love C++. It's not memory safe. You can just attack any area. Knock yourself out. Fantastic. We would crash people's machines. We would mess with them. We would destroy their instance and whatnot and we would distribute the viruses as named after the disgusting imagery that they were tricking people with.

Jonathan: If you had received a disgusting image of let's just say an elephant, you would name your virus elephant.exe so that somebody looking for disgusting imagery of elephants would download [unintelligible 00:54:10]

Oshri: Not even. You could just make it .jpeg. Back in the day, you could rename anything and it would execute regardless. You remember that Windows 95? It was beautiful for viruses. You could just name anything .txt. They'll double-click it, it doesn't open. Oh, it's crashed. It's already destroyed your machine. You're done. That's it. What you're seeing right now is, yes, you hear that hard drive head crashing into your disc. Yes, that was me.

Next time, don't download disgusting imagery, you animal. We did this for a few years and then we eventually started noticing online that authorities were starting to pay attention to said disgusting imagery and were like, "Okay, people are dealing with it. We can stop now." At that point, I started getting contract-building websites for people, and I was what? 16? That's how I got into programming.

Jonathan: That's great. I got into programming because I wanted free games too, but I didn't have the internet yet, so I just had to write games.

Oshri: Ooh, nice Zorg. I remember Zorg.

Jonathan: This was before the time you're describing. This was like on a Commodore 64 when you turn on the computer and you have basic, you just start typing, type guess the number game, or whatever. That was exciting back then. [laughs]

Oshri: Oh man. I've been trying to build a video game for a while. It's very hard.

Jonathan: Oh, I don't think I would even try these days. Nothing to compete with. Even if I want to do like Flappy Bird or something, I wouldn't know where to start.

Oshri: You know what? It's not actual software engineering for the most part. It isn't. I was trying to build this game and everything is static. I'm like, "What do you mean everything is static? All the classes, all the properties are static?" Yes, everything is static. Any object can touch any object. I'm like, but that doesn't make any sense. I guess it does make sense because everything has to run all at the same time.

Jonathan: Now I understand why Fallout always crashes. [chuckles]

Oshri: That, I don't know. My favorite game so far. Now that I have a Mac, I don't get to play all of these good games.

Jonathan: [laughs] Oshri, thanks a lot for coming on. This has been very educational and entertaining. How can people get in touch with you if they want to reach out, maybe they want to hire you or they want to pick your brain about something?

Oshri: LinkedIn Oshri Cohen. There's only one fellow in North America, probably, with my name. It's a very unique name. oshricohen.me and it's .me not .com, .com is the Israeli actor with a shirt open. That is not me. Although a lot of prospects are like, "I didn't know you used to be an actor," and I'm like, "Okay, fair enough."

Jonathan: [laughs]

Oshri: If you think that blue eye beautiful person looks like me, I'm good.

Jonathan: No problem.

Oshri: I'm not correcting you. Yes, it's good. We're getting into the CTO work now, but that's it. I help a ton of people all the time. I like it. If someone needs my help, I very rarely refuse a meeting, and so if I can set them on the right path and then they don't talk to me for another six months and then they hire me, it works.

Jonathan: Well, thank you again for coming on. I hope that our listeners have found this as enjoyable as I have. Hope to be in touch with you soon.

Oshri: Thank you very much. Have a good one, Jonathan.

Jonathan: Until next time.

[music]

[00:57:58] [END OF AUDIO]

Share this

Related Content

Why I don't like the "Tech Lead" role

The "Tech Lead" title is too often (ab)used as a way to "lord it over" people who are "less technically capable".

So when SHOULD you hire?

Only hire after identifying your constraints, and determining that a new person is the likely solution.

Bloated headcount isn't just a Big Tech problem

Musk thought Twitter was bloated with engineers. I expect he's right, because most companies are.