Skip to content
Ido on GitHubIdo on Twitter

Tips That Shaped My Path to CTO

I've been developing software since middle school, earning my first dollars in high school and climbing to become a CTO in three different organizations (two owned by me). During this journey (almost 20 years 🤯), I learned a lot, and I'd like to share tips from my journey that will hopefully help you.

Go Wide

As an engineer, you can either be a generalist and grow your skills horizontally or choose to be a specialist and dedicate your time to a narrow set of technologies to become highly proficient with them. Throughout my career, I have worked with many languages. I started with C and C++, made my first few dollars thanks to PHP and C#, and today I write in JavaScript, Go, and Python. Additionally, I've built projects in various domains: 3D games, web development, deep learning, computer vision, data processing, DevOps, and more.

I'm no specialist in any of them, so my capabilities are pretty limited, and there will always be someone more talented than me. However, I can build complex products by myself and, when needed, collaborate with specialists to achieve better results. As a CTO, being a generalist helps me a lot. I was able to build daily.dev myself for a long time until we had the money and needed to hire specialists and expand the team. Now, the team consists of both generalists and specialists, each good for different sets of problems. Note: This is a highly subjective take, so make sure being a generalist aligns with your goals.

Be Passionate

To be great at what you do, you need to be passionate about it. You need to have the spark in your eyes. If you have yet to find the driver that can make you code for hours, search for it. It's the fuel for your journey. For me, it was all about learning and building new products. I get so hyped just by reading about new tech and imagining what I can do with it, not to mention the rush of creating a new project. Nurturing this passion by following it and exploring uncharted territories taught me a lot and still does.

Be Bold

Try things, explore, be adventurous, make mistakes—it's the only way to learn and grow. Most people like to be conservative; they don't like risks. By being bold, you already separate yourself from the crowd, sometimes for better and sometimes for worse. I believe that in the long run, it pays off. I remember using Node.js before it was a thing, before even the first major release, when everyone thought it would be crazy to run JavaScript on the server, but I learned it nevertheless. When the hype was real, I was already experienced and battle-tested with it, which gave me a huge advantage.

On the other hand, I also bet on web components and Polymer—a decade later, it's still not a thing. You win some, you lose some, but every adventure teaches you something and takes you one step further to becoming great.

Plan

I wish I'd done this more often in my journey. Dedicating enough time to plan before you take action can save you a lot of headaches. Since I have a strong action bias, I code almost immediately, hoping to figure out most of the puzzle as I go. It works every time, as a matter of fact, but sometimes it could have been more efficient with a proper plan. So, take the time to plan, research, and find the tools and solutions you need. As part of the research, you will discover new tech that has nothing to do with your current problem but may be interesting to explore later. Note it down and get back to it when you have the time.

9 to 5 is a Myth

If you want to stand out and be great, working 9 to 5 is bullshit. It doesn't mean you have to work extra hours for your workplace, but it means you have to dedicate more time to learning and growing. But hey, if you're passionate about it, you'll enjoy it anyway, right? 😉 Jokes aside, build side projects, give extra hours to your workplace, learn, and try out new things during this time. If everyone does 9 to 5, you need to be better to grow faster. It's easy.

Early in my career, I held a full-time position during the day while working on other projects at night and on weekends, barely sleeping 5 hours a day. Even today, I work way more than 9 to 5 but dedicate my focus to only one project, which is daily.dev at the moment. I find it easier than spreading my attention, and it's the only thing I care about currently.

Stay Up to Date

At some point in my career, I realized that staying up to date is crucial to being top of the class. You must know the latest trends, tools, perspectives, and approaches. As the old saying goes, if all you have is a hammer, everything looks like a nail. The more knowledge you have, the more problems you can solve. This eventually led me to build daily.dev, but before that, I used RSS readers and social media to get the latest news. I dedicated days to perfecting this setup and making it viable.

Voilà! These tips helped me reach my professional goals. Make them yours, and adjust them to your goals. Every journey is unique; enjoy it!

Let's keep the discussion goingJoin my squad