"Fractional CTO", "Virtual CTO", or "Part-time CTO" services offer CTO-level expertise without the need for a full-time commitment. Ideal for startups and small businesses, this approach provides holistic tech leadership, from strategic planning to hands-on development. Instead of juggling a full team or multiple vendors, you gain a single expert who streamlines your journey from idea to live product. In essence, you get the benefits of seasoned leadership, ensuring your project's success, all while optimizing costs and flexibility.
Normally, my services around website development are less about building simple websites and more in terms of "web applications" that have special requirements. For example, a client needed extremely fast performance on a huge number of pages for SEO, but also has a ton of information to manage-- so I built them a React-based Next.js website to pre-render pages from a CMS that I set up for them.
Another client has a complex, proprietary business assessment algorithm that required the implementation of an intuitive UI, as well as a back-end application to manage profiles, scores, and other information about the users.
So while I definitely can do "normal" website development, I'm probably not the best choice unless it's part of a larger engagement that just includes that as part of it.
Aside from the illegal, I obviously can't provide services in direct competition with my primary employer. I can't provide services to ad agencies that are direct competitors to my primary employer, either.
I would also say that there are some services for which I am just not a good fit.
I would avoid engagements that require specialized knowledge in blockchain, desktop applications, or game development, for example. I'm smart enough to know my limitations.
In general, it's usually best to discuss the situation. I will be very happy to let you know if I don't believe I can give you the best service given your requirements.
I am happy to act as an technical advisor to companies, regardless of the platforms on which they've chosen to build their businesses. I have years of experience with both JVM and .NET platforms.
That said, my current hands-on platforms of choice are typically Javascript/Typescript/node for backend applications and UIs and Python for data analysis. I sometimes use Ruby or Elixir for API development. If your platform is decided, and your needs are heavy on the hands-on development of more "enterprise" type platforms, I may not be the best fit.
It's best to discuss it if you're unsure.
Most often, as of late, I develop in TypeScript (basically a dialect of Javascript) or Python, depending on the task.
I am currently a big fan of Remix, (a React application framework) for web development. My UI work is almost always some form of React, and React Native or Flutter for mobile development.
For AI development, I will use either Python or TypeScript and, occasionally, LangChain-- a developing AI application platform.
For back-end services, I will default to Typescript and node, Ruby on Rails, or Elixir's Phoenix.
Yes, I do! I am a full-time CTO during the day. The work I do through Circinaut is done part-time on evenings and weekends. I wrote a whole thing about this topic.
The truth is, I have a very hard time "sitting still". I enjoy learning about new people, businesses, and technologies. Working at one place for a long time can lead to some stagnation and lack of visibility and experience with new/different technologies.
A 20-hour virtual CTO engagement is just five hours per week, on average. Most people spend that much time scrolling the reels. I can quite comfortably manage several of those, and I bring on help when necessary. My clients understand that my day job has to come first in scheduling, but that I rarely find myself over-booked since I limit myself to just a few ongoing clients at a time.
Also, I don't watch TV and drink a whole lot of coffee. You'd be amazed at how much time just that gives you.
No, thank you.
In all seriousness, I publish my rates to provide transparency so there's no sticker shock or uncertainty about the "deal" you got.
While we can always negotiate on scope and services, I do not negotiate on my rates unless you're a non-profit I believe in, and even then, I am of the opinion that people treat time with more respect if it costs something. I believe that my services are a great value for the benefits they provide, and I completely understand that there are less expensive resources out there that might be a better fit to your budget or philosophy.
They won't be as good, but they're out there.
When I am billing hourly, I bill to the half-hour. There aren't a lot of things I can do that take less than that, and the overhead involved makes anything less impractical.
If the work is substantially less than that-- truly quick messages or even a fast bug fix-- I don't bill that time until it's accumulated to that level, which may be never.
This is one reason I prefer working on a fixed-price or retainer basis so that this isn't an issue. The overhead of tracking time only serves to reduce the efficiency and flexibility of my work. If I bill hourly, I spend time doing that and not providing value to my clients.
I am more likely to work more than the "allocated" time on an retainer because I don't have to context switch and spend my time on additional administrative tasks. How much time, exactly, I spend becomes less of an issue than getting the appropriate amount of work done as represented by the retainer size.
I generally start at $250/hour for hourly work, but I prefer to work on a retainer or project basis to avoid having to track time and make decisions on the basis of hours. I find that it's better for everyone-- no surprises for you and no "minute-pinching" by me-- if we agree on a fixed fee, and I deliver an appropriate product or level of availability based on that fee. It ultimately costs less per hour and is a more efficient way of getting work done.
For whatever reason, my retainers have historically been either five or twenty hours per month in size, with five being more common. My minimum is two hours per month. My maximum is just dictated by my current workload.
Projects range all over the map depending on the scope. I probably won't do one for less than $5K. I would definitely do one for a billion dollars. And you can have my house.
I do my best to price and deliver projects with zero surprises. When things do happen that require adjusting our agreement, you will always receive plenty of notice, explanation, and options for handling it.
There are three reasons to choose a retainer over hourly: