How I Grew From Engineer to CTO
My story of how I started my career, how I grew to CTO + my current focus!
CodeRabbit - Cut code review time & bugs in half with AI-powered reviews (sponsored)
Unblock your team's productivity with intelligent code reviews. CodeRabbit is an AI code reviewer that helps engineering teams ship faster while maintaining high code quality standards.
CodeRabbit provides:
Intelligent PR summaries and guided file-change walkthroughs
Battle-tested linter integration (Biome, Ruff, PHPStan)
Proactive security issue detection
Custom review rules using AST grep
Used by 2000+ organizations and trusted for 5M+ PR reviews, CodeRabbit helps teams eliminate review bottlenecks and maintain consistent code quality. And yes, it's free for open source projects!
Join 15,000+ developers who use CodeRabbit daily to streamline their code review workflow.
Let’s get back to this week's thought!
Intro
When I was going through my ideas for articles, I saw that I have shared my experience, my mistakes and learnings from my career many times → as I am a big believer in sharing personal experiences when writing articles.
But I haven’t shared my full story of how I started and how I grew in my career in one full article.
So, that’s what this article is all about.
I am sharing my story of how I started my career as an engineer, how I got my first full-time role, how I progressed in my career and also how I am doing now!
Let’s get straight into it!
How I started my career as an engineer
My first introduction to programming was in school and with Java. I didn't enjoy it. Counting characters and writing a lot of boilerplate didn't quite bring me excitement.
I have truly started enjoying programming when I started to learn JavaScript a couple of years later. Building something visual with code motivated me to learn more and keep going.
This is an example of animations I liked (still do!) to build. This is my personal logo animation I have built for myself → animated combination of the letters G and O (my initials). I still use it on my website gregorojstersek.com and you can check out the code on CodePen.
Making nice animations with CSS + JS was a highlight for me. After this, I kept on learning new things and didn't look back ever since.
When growing up, I used to spend a lot of time playing video games and I always wanted to find ways to get better. I used that same mindset with programming.
After I discovered that programming is also a very fun thing to do, I kept on learning new things for full days and nights!
How I got my first full-time role as an engineer
After my first two student jobs as an engineer, I started to apply for my first full-time engineering position.
How did I get my first full-time role? I remember it like it was yesterday. I’ve applied to the role and the first interview went well. I was invited to the second interview.
Before that interview, I designed + coded a new website for them. I designed it with Photoshop and built it with HTML + CSS + JS and a bit of PHP. They liked it and gave me good feedback and they offered me the position. I was ecstatic.
This is how the site looked like:
After I got my first job as an engineer, I couldn’t believe I was getting paid to work on great real-world projects and also learn a lot of new things at the same time. I mostly worked with engineers who were more experienced than me, so I learned a LOT from them.
I am happy with how I progressed from that point on, but there are sure some things that I believe would be better if I did them differently.
I have shared my TOP 3 mistakes I made as a Junior Engineer and advice for Junior Engineers in the latest video.
Growing as an engineer
The great thing about my first full-time role as an engineer was that I worked for a service-based company, where I had a chance to work on many different projects and technologies + also be able to take on various different tasks and roles.
We were a small team of engineers and we were all working on-site. That helped me a lot to get to see how engineers who are better than me, operate on a daily basis.
I remember this time as a time when I progressed really fast. I became productive quickly as I was learning days → working on work-related projects and also nights by learning from tutorials and building things.
I was getting better and better and then also soon after, I started to do freelance projects while having a full-time role. Who knew, this would have such an impact on my career. Let’s get to that next.
Freelance work helped me a lot with growth
I’ve been learning programming for full days and (also nights 🙂) and I quite quickly started to work freelance while having a full-time role. That turned out to be one of the best things for my career.
I like to say that freelance work is my secret that helped me to grow in my career. I wouldn’t be where I am if I wouldn’t be doing:
projects,
coaching and mentoring,
consulting and advising.
This has sped up my growth substantially. I would not learn as much as I have if I were only focusing on full-time roles.
My experience would also be way smaller as I wouldn’t get exposed to so many different situations. I firmly believe that my experience is double or more than what it would be if I wouldn’t be doing freelance work.
Imposter syndrome
After I got my first full-time job as a Software Engineer, I felt my imposter syndrome kicking in and telling me that I was not good enough, because I don’t have a CS Degree.
I thought that people, who have CS Degrees were so good at programming, that I’ll never be on that level. But then, the more people I worked with, the more I knew that my motivation and drive prevails any university knowledge.
This finding is what sparked me to grow and learn even more, which eventually got me to the Senior Software Engineer role.
If you have similar thoughts on your mind right now, I am a proof that you can do well in your career without a degree. A CS Degree is not needed to be successful as a Software Engineer, it’s all about your attitude and mindset.
If you focus on these:
sense of ownership and responsibility,
drive and motivation for improving,
team player and making others around you better.
You can be a great engineer and not just that, you can be great at anything you put your mind into.
As a self-taught engineer, I believe I am doing quite fine in my career, so if I can do well, you can as well!
After becoming a Senior Software Engineer, I felt stuck
I was overthinking about my career path when I was a Senior Software Engineer.
“What is going to be the next step for me?”
“Should I go into management, architecture or should I grow as an IC?”
“What particular skills should I be learning next?”
These questions were always on my mind. My growth was stagnating because I didn’t know that. I am very goal-oriented and I felt a lot less motivated and driven because I didn’t know what is the next step for me.
I was always leaning more towards management because I was always good with people and overall collaboration.
I was also good technically as well, but I was standing out from others because my main focus wasn’t on technical solutions and approaches. It was on building the right things and providing value.
If you’re feeling stuck, this is a great article to read:
How I became a manager
After being a Senior Software Engineer for some time, I had discussions with my manager at the time that management might be the right path for me, but I wasn’t very convincing.
The reason was that I was overthinking for far too long. As I found out later, my manager was surprised I was interested in the Team Lead role and that she thought that I wouldn’t be.
I was in the company for some time and had a track record of successfully delivering multiple projects. The company was going through the restructuring and there were new teams created.
My manager at the time approached me and offered me the Team Lead position, which I accepted. And yes, I didn’t know what I was getting myself into! It was quite a big change for me.
I’ve made many mistakes as a first-time manager and that was also one of the reasons why I started writing this newsletter → to help as many people as possible avoid them when they grow to their first engineering leadership role!
You can read how I dealt with the transition and my top mistakes I made here:
From Team Lead to Engineering Manager
I was a Team Lead for about 4-6 months and I was struggling in the first months → what made me a good IC, didn’t work for me as a Team Lead.
After many mistakes and some wins, I got a hang of the new position and that’s where I started to believe that management is the right path for me.
My manager at that time left the company for another role and my manager’s position became available. I have been contemplating for some time, whether I should ask about the position or not. And then I decided to do it.
I let my manager’s manager know that the management path is the right path for me and that I would be happy to take on additional responsibilities. He said he’ll get back to me.
After a couple of days, we jumped on a call and I got offered the role of an Engineering Manager, which I accepted. I moved from leading 1 team to 3 teams.
From Engineering Manager to Head of Engineering
When I got promoted to Engineering Manager, I started to lead 3 teams. All of the 3 teams were product teams.
Fun fact: I was also one of the youngest people in the company at that time and managing people that were 10+ years older than me.
When I got promoted, I was still leading 1 team operationally and 2 other Team Leads of the team reported to me. After some time, I promoted one person to the Team Lead position to replace me and I also made 1 switch of Team Leads in another team.
These types of decisions were not so easy for me at that time, it took a lot of mental energy and I quite over-thought these decisions. I’ve procrastinated a bit with them.
It would be much better for me to make them faster and reverse them if it didn’t work out.
This is also a great article to read. I’ve shared my mistakes and advice + differences when leading 1 team vs 3 vs 5+ teams here:
I was in the role of an Engineering Manager for about a year and then got offered the position of Head of Engineering at a different company, which I took.
From Head of Engineering to VP of Engineering
I was leading 5+ teams as a Head of Engineering, more accurately when I became an Interim CTO. My overall direct and indirect reports grew to 35+.
That’s when I really saw the importance of scaling processes well and also ensuring that there is good cross-team collaboration.
We had some issues with role definitions and teams’ ownership because the company was in restructuring mode at that time. And also we had some issues with the overall architecture of the mobile app that we were building. And having such issues really slowed us down to move faster.
In this role, I really understood the importance of:
If you wish to scale the org well, you need to be prepared to handle the scale.
In other case, it will backfire and actually make the teams move slower.
A fun fact here is that I started with the newsletter at the ends of being a Head of Engineering and moving to the VP of Engineering role. I started asking myself what is the next goal for me?
There are not a lot more steps for me to grow in the engineering organization, as the CTO is the last step and I knew I’d eventually get there.
I love helping and supporting others to grow and thrive in their roles and I asked myself why not try helping more people - outside of the organization as well.
That’s where writing online came into play. I started to actively share my experience and the knowledge I accumulated over the years on LinkedIn and writing the weekly newsletter.
Well, who would know that has been one of the best decisions I ever made!
From VP of Engineering to CTO
I’ve then gotten an opportunity as a VP of Engineering at a different company.
The company especially needed someone to streamline the process and ensure that the tech team was aligned with the business. That’s exactly one of my main strengths and it was a great fit for me.
After about 6 months in the role, I got promoted to CTO and have been in the role for about 2 years.
I led a cross-functional team of 6-7 people and we were 15 altogether in the company. If I would pick my top 3 responsibilities, that would be:
Making sure that the tech is aligned with the business.
Making sure that we have a great process in place that we consistently deliver new increments.
Making sure that we are building a stable, usable app that our users love to use.
My daily responsibilities were heavily aligned with making sure we were achieving these things.
You can read how I organized my time as a full-time CTO here:
We have successfully gotten the needed license to operate and we released our app to the majority of the countries. But unfortunately needed to stop shortly after that.
From full-time CTO to entrepreneurship
In October 2024 the company I was a part of didn’t work the way we planned it out and we needed to stop pursuing the product-market fit that we all wanted to achieve.
The company disbanded and I decided to focus on the newsletter, course, Tech advising, being a Fractional/Interim CTO and coaching/mentoring instead of pursuing another full-time role.
I like to say that whenever something like that happens → it opens the door to something else.
This has been a clear sign for me to focus on building and growing this newsletter + focus on the freelance work (coaching & mentoring, consulting & advising, fractional/interim CTO roles), which I have been saying no to a lot while working full-time roles, since my time is very limited.
I have also set up a goal to add additional newsletter article every week on Wednesday (for paid subscribers). Plus, to keep adding new guides and templates and keep looking for ways to provide more value to everyone reading the newsletter!
This was right about 2 years after I started this newsletter. You can read my full 2-year reflection here:
I really enjoy writing articles, researching and getting better as an engineering leader
Over the last 7 months, I’ve been consistently writing 2 articles per week and I’ve been really enjoying it.
I see myself doing this long term, especially since many people enjoy reading the articles and I’ve heard from many of the readers that articles, guides and templates, infographics, videos and my course has helped them to improve in their careers!
And this is going to be my priority moving forward as well, to keep finding ways to help more and more people.
Hearing such great feedback always makes my day and it’s really WHY I started with it → to help as many people as possible to become great engineering leaders.
A fun fact here is that some people call me an influencer or content creator, but I like to view myself as an engineering leader, who keeps looking to improve by being curious and continuously learning and at the same time helping as many people to be better engineering leaders!
Thank you for all of your support in the last 7 months!
The last 7 months have been really amazing and I can’t thank you enough for your readership and your continuous support.
We’ve been able to grow from 77k~ subscribers to 134k~.
And we’ve been able to grow from 628 paid subscribers to 1247. Which resulted in more than doubling of ARR (Annual recurring revenue) from $43.6k to $93.8k.
I have many exciting topics lined up in the future and can’t wait to share them with you!
If you don’t want to miss them, you can become a paid subscriber here:
Here are some popular recent paid articles that I believe would provide you actionable insights for you to be a better engineering leader as soon as you read them:
Key takeaways and moments in my career
Even though my progression may seem linear, it was hardly like that. There were many ups and downs and I’ve made a lot of mistakes, especially when I was a Senior Software Engineer, I was kind of "stuck" and didn't know which path to pursue further.
And also I remember my first months as a manager, similar to being a roller-coaster ride!
Luckily, things turned out the way they did and I couldn't be happier with the career so far and how things have progressed!
Some of the key moments that I believe have shaped my career:
Started to actively learn programming.
Getting my first full-time role.
Started doing freelance work.
Realizing that the CS Degree doesn’t mean much without motivation and drive for learning and improving.
Becoming a manager.
Starting to write online.
Focusing on growing and improving the newsletter.
Last words
I had a lot of fun writing this article looking back at things and seeing how different decisions have shaped my career.
The interesting thing is that I never thought that I would be even close to becoming a CTO when I started my career, but the more I grew and the more I got better, the more confident I became to progress and grow.
Hope some of my mistakes and learnings can help you in your career. Keep on learning and improving and get better every day. You got this!
We are not over yet!
TOP 3 Mistakes I Made as a Junior Engineer
Check out my latest video. The current market is very competitive, especially for Junior Engineers. To help with this, I am sharing my TOP 3 mistakes I made as a Junior Engineer + my TOP 3 advice I give now.
New video every Sunday. Subscribe to not miss it here:
Liked this article? Make sure to 💙 click the like button.
Feedback or addition? Make sure to 💬 comment.
Know someone that would find this helpful? Make sure to 🔁 share this post.
Whenever you are ready, here is how I can help you further
Join the Cohort course Senior Engineer to Lead: Grow and thrive in the role here.
Interested in sponsoring this newsletter? Check the sponsorship options here.
Take a look at the cool swag in the Engineering Leadership Store here.
Want to work with me? You can see all the options here.
Get in touch
You can find me on LinkedIn, X, YouTube, Bluesky, Instagram or Threads.
If you wish to make a request on particular topic you would like to read, you can send me an email to info@gregorojstersek.com.
This newsletter is funded by paid subscriptions from readers like yourself.
If you aren’t already, consider becoming a paid subscriber to receive the full experience!
You are more than welcome to find whatever interests you here and try it out in your particular case. Let me know how it went! Topics are normally about all things engineering related, leadership, management, developing scalable products, building teams etc.
Inspiring journey!
Thank you for sharing.
Very inspiring Gregor! I'm also here sharing my management journey from an acoustics engineering perspective, as an ex-pat in Asia. Your story gives me a potential roadmap for future growth. Thank you!