From Struggle to Success: A Self-Taught Developer's Path Through Tutorial Hell, Burnout, and Imposter Syndrome


8 min read

Did you know that in Canada, the title "engineer" is reserved for those who've not only earned a degree in the engineering field but also passed the certification for Engineer's Ring? For this article, we'll be using the term "developer'" – a more inclusive designation.

If you're navigating the path to becoming a developer and finding yourself stuck, lost, or battling imposter syndrome, you're not alone. I've been there. I've traversed the entire journey from an aspiring self-taught developer to now holding the title of Senior Developer. In this article, I want to share the invaluable lessons I've learned along the way and guide you on how to overcome challenges and achieve your goals.

Hello there! 👋

Allow me to introduce myself. I'm Dmitrii, currently a senior developer at Volta Research Inc. However, my path wasn't as picturesque as many people describe theirs. The journey began in 2017 when I moved from Russia to Canada.

As an immigrant kid with no friends in high school, I found myself with plenty of free time, especially considering the stark contrast between Canadian and Russian school experiences (LOL). I delved into learning game development on Unity and web development. In about half a year, I secured my first freelance project – a simple landing page that earned me 10,000 RUB, equivalent to around 280 CAD in 2018. The feeling was inspiring.

However, as I continued on this learning journey, I encountered a common hurdle among developers – tutorial hell. The endless cycle of tutorial after tutorial can be both a blessing and a curse. While it's an excellent way to learn, it can also lead to a sense of stagnation, where you feel like you're not making real progress.

Navigating through the vast sea of tutorials and finding the right balance between learning and applying newfound knowledge can be a daunting task. It's an aspect of the developer's journey that often goes unspoken, but it's a challenge many of us face. This initial success in freelancing and the subsequent journey through tutorial hell paved the way for further adventures in React, Node, and a long-term project with a moving company, requiring full-stack development skills. It was challenging, but the learning curve was worth it.

Fast forward, I obtained my PR status in Canada by 2021, during the pandemic's waning phase. I achieved my first goal – securing a job with a small agency. Little did I know what awaited me. My journey with a startup named Knowbie involved front-end and back-end work in a fully managed project environment. The plot thickened when I had to pick up iOS development with Swift and SwiftUI after our iOS developer was let go. Months later, we successfully launched Knowbie, and I received an enticing offer.

I was invited to become the CTO of our startup. Motivated and working beyond regular hours, we even secured a contract with a major enterprise company (details are under wraps due to NDA). Juggling three projects, I eventually hit a wall – burnout.

This is where the story takes an unexpected turn. I quit. It was a colossal challenge, accompanied by a sense of loss and imposter syndrome. A bout of depression ensued, and I found myself avoiding coding altogether. Fortunately, my girlfriend's support proved invaluable in navigating through this dark period.

As I began searching for my next opportunity and honing my coding skills, layoffs became a widespread occurrence. Luck was on my side, and after a 2-3 month search, I landed my current job.

After this rather lengthy introduction (apologies for that 😅), I've highlighted a few common challenges that developers often face – tutorial hell, burnout, and imposter syndrome.

Tutorial Hell

Let's start with the most common challenge that a lot of beginner developers face - tutorial hell. If we look up the definition "tutorial hell," we will see that it refers to a state of being stuck in a cycle of constantly consuming programming tutorials without being able to apply the knowledge in the real world and build real apps. The solution to this problem lies in moving beyond the confines of tutorials and applying your knowledge to real projects.

But how to start? Where to find inspiration? Everyone tells you to "build projects," but it's frustrating when no one explains where to begin. I faced the same problem; every video urged me to "build your own project," "build a real project," etc.

So, how do you start? I found a solution that worked well for me. I would take a simple project, something like a to-do list, and follow a tutorial on how to build it. The real challenge begins afterward. If you're leaning toward full-stack development, try implementing sign-in/up functionality with data storage in a database. By accomplishing this simple task, you'll experience a surge of motivation. Too easy? Well, enhance it by adding session management with cookies and JWT tokens, allowing users to create multiple to-do lists, and more.

"But what if I struggle even with simple tasks like sign-up/in? Should I keep watching tutorials? " It depends. If you understand information better in video format, watch an implementation on YouTube without coding simultaneously. Make notes instead. Then, attempt to implement the feature using your notes. If you prefer reading over watching videos, the same process applies - read, write notes, and use them to implement the feature.

After repeating this process a few times, you'll find that instead of relying on tutorials, you start using Google, consulting documentation/Stack Overflow, or leveraging examples from other projects.

Congratulations, you've successfully escaped tutorial hell!


Now, let's delve into another common challenge that many developers encounter on their journey - burnout. Burnout is more than just feeling tired; it's a state of emotional, mental, and physical exhaustion often accompanied by a sense of reduced accomplishment and detachment from work. Recognizing the signs early on is crucial.

The tech industry, known for its fast-paced environment and continuous learning curve, is a breeding ground for burnout. Navigating through multiple projects, deadlines, and the constant pressure to stay updated can take a toll on even the most passionate developers.

If you find yourself experiencing burnout, the first step is acknowledging it. It's not a sign of weakness but rather an indication that your mind and body need a break. Taking time off, even if it's just a short vacation or a few days away from coding, can work wonders. Disconnect, recharge, and come back with a fresh perspective.

Another effective strategy is to establish clear boundaries. It's easy, especially in a remote work setting, to blur the lines between professional and personal life. Set specific working hours, take regular breaks, and resist the temptation to work around the clock.

Diversify your coding tasks to prevent monotony. If you've been immersed in back-end development, switch to front-end or explore a new language. Engaging in side projects unrelated to work can reignite your passion for coding.

Remember, it's okay to seek help. Talk to your colleagues, friends, or a mentor about what you're going through. They might provide valuable insights or simply offer a listening ear.

Lastly, don't forget the importance of self-care. Regular exercise, proper sleep, and a balanced diet contribute significantly to your overall well-being.

Overcoming burnout is not a sprint but a marathon. By proactively addressing the signs and implementing self-care measures, you can cultivate a sustainable and fulfilling developer's journey. Congratulations, you've successfully navigated through burnout, emerging stronger and more resilient!

Imposter Syndrome

Let's dive into another beast that haunts many developers, and yes, I've wrestled with it too - imposter syndrome. It's that nagging feeling that you're not as good as your peers, that you've somehow fooled everyone into thinking you're more competent than you actually are. The truth is, imposter syndrome is an insidious companion on the journey of self-taught development.

In this field, where there's always something new to learn and everyone seems to speak in a language only decipherable by coding wizards, feeling like you're faking it is almost a rite of passage.

When imposter syndrome creeps in, it's essential to recognize it for what it is - a liar in the shadows. You've earned your place in the developer's arena, and the knowledge you've gained is real. It's not about knowing everything; it's about knowing how to find what you don't know.

Don't shy away from seeking feedback. It's not a sign of weakness to ask for input; it's a sign of strength and a commitment to improvement. Your colleagues, mentors, or even your past self can provide valuable insights.

And here's a secret: everyone, even the seasoned developers you admire, has felt imposter syndrome at some point. It's a shared experience, not a solo journey.

So, to my fellow developers battling imposter syndrome, remember this: you belong here. Your journey is valid, your accomplishments are real, and every line of code you write is a step forward. Congratulations, you've faced the imposter syndrome and emerged as the real deal. Own it!


Self-taught development is a constantly evolving field. As developers, we all face common challenges, such as getting stuck in tutorial hell, feeling burnt out after long coding sessions, and battling imposter syndrome. We've shared our struggles with each other and celebrated our victories as badges of honour. Every line of code we write and every challenge we overcome shapes our unique narrative in the coding journey. So, let's continue forward on this coding journey with a spirit uniquely our own.

Did you find this article valuable?

Support Dmitrii by becoming a sponsor. Any amount is appreciated!