I Quit Magento. Here's Why I Came Back.

Mark Schust quit Magento after struggling for a year, switched to Laravel, then came back with a better learning method. He rebuilt his skills piece by piece, created Docker Magento, and now teaches others. The lesson: break hard things into smaller chunks and stick with it.
Chapters
I still vividly remember the night, that moment that I finally cracked. After months of banging my head against the wall trying to learn how to program in Magento 2, I just reached my breaking point. No matter how many tutorials I tried or how many hours I put in, nothing was clicking. That night. I sat and stared blankly at lines of code on my computer screen, completely lost and defeated. I felt like a failure. Why couldn't I figure this out when it seemed to come so easily to others? Then I just slammed my laptop cover down in frustration and said that's it. I quit. I didn't know it at that time, but this defeat was just the first chapter of what would become a pretty epic journey from mastery to defeat to mastery again. I had no idea that one day my hard fought knowledge would even help others avoid the painful road that I travel down. This is a story of how I overcame an immense struggle with Magento and turned an unexpected level of achievement into my life's purpose. And how with dedication, you can also learn and even master new skills that seem impossible to do. So buckle up because this was quite a roller coaster ride. Hey everyone, My name is Mark Schust and I am a computer programmer and teacher with over 10 years of experience working with Magento. But I never thought that would be the case. I started my journey as a Magento 1 developer. Right after I got hired as an M1 dev, I got shipped out for training on that platform. I was sent to Culver City, which was Magento Inc. S headquarters at the time, to learn all the foundational aspects of Magento. The result of that training would really make me become a seasoned Magento developer. I remember having that aha moment on the plane ride home from training where everything that I learned in the classroom just suddenly started to make intuitive sense sense. Even though documentation for Magento 1 was seriously lacking back then, I managed to become a pretty highly productive Magento developer. Building custom modules and tackling complex customizations for clients. Learning Magento 1 allowed my development skills to absolutely flourish. I was just feeling elated that I just found such a wonderful platform to embrace. So when Magento 2 was announced back in 2015, I was throwing thrilled. I envisioned all the new possibilities that this modern architecture would enable me to do. My mind just raced thinking about how I can leverage my Magenta 1 abilities to build even more powerful and flexible modules and solutions. But I had no idea how much adversity I would face with this new platform. It was framed as an upgrade, but the switch was really a complete replatform and the architectural complexity absolutely dwarfed anything that I had learned in Magento 1. I was really about to be tested in ways that I would never would have expected. The first big problem that I ran into was even figuring out how to run it locally on my Mac. The architectural complexity also came assisted with an equal level of complexity on the server administration side. I struggled to get an instance of Magento 2 up and running for development, and it eventually led me to build Docker Magento, an open source Magento project that I still maintain today. I actually built it for myself, but opened up the code just in case. Some others have the same frustrations installing it for development. I never expected it to become the most starred Magento repo besides Magento itself, but that's a story for another day after getting Magento 2 installed, I quickly hit some walls trying to grasp core concepts like dependency injection and object manager. I remember spending hours trying to grasp dependency injection. What were these XML files even for? Why did objects need to be constructed differently? What is generated code? These are foreign concepts to a Magenta one developer. When unfamiliar errors or stack traces appeared, my heart would sink knowing that I wouldn't be able to debug or fix them. Without an understanding of the core concepts, I'd waste hours on stack overflow trying to hack around issues rather than trying to solve them properly on my own. My confidence as a developer just plummeted. Inside and outside of work, I tried learning the through every online resource that I can find, including video tutorials, technical blog posts, even digging through the Magento 2 code base itself. But each of those assumed that I had some foundational knowledge that I simply did not yet have. I just ended up more overwhelmed and confused as I tried to unsuccessfully patch my holes in my understanding. After months of struggling through the same concept again and again, I started to feel hopeless. I started thinking, maybe I'm just not cut out for modern development frameworks. Those late nights staring blankly at the screen trying to understand injection configs and what's going on with the core felt never ending. The stress eventually started impacting my personal life too. I was in a pretty dark place. I knew mastering Magento 2 could advance my career, but no matter how hard I tried, I just couldn't break through. After close to a year of grinding without progress, I hit rock bottom. The shame and frustration of defeat washed over me. I shut my laptop and thought, that's it. I quit. I swore off Magento 2 that night. I'm finally done with it. My desire to understand Magento 2 lost all hope, so I just decided to move on. After struggling with Magento 2 for about a year, I thought it was finally time to throw in the towel and try out something new. Before being a Magento developer, I worked for a company that specialized in Drupal, another open source cms. I liked it very much, so decided to go back to some familiarity, which is something that I was sorely desiring at the time. But after getting hired, I got thrown into a framework that I knew nothing about. It was called Laravel. I was actually upset that I wouldn't be working with Drupal anymore, but Laravel turned out to be a breath of fresh air, something that I was subconsciously, deeply yearning for. Its extreme simplicity with routing views, controllers as well as the eloquent ORM was incredibly refreshing. I was amazed at how quickly I could build web applications using these new concepts, especially when I failed to even make a simple update in Magento 2. My productivity skyrocketed. I thoroughly enjoyed working with Laravel. It had a modern approach to coding, and architecture seemed just so simple. Almost too simple to learn. It's hard to say that I got bored with it, but after eight or nine months, maybe I did. Perhaps the project I was on at the time was just stale. Maybe it lacked something fun to work on. But for whatever reason, I realized that I missed E Commerce. And for an even weirder twist, that still doesn't make complete sense to me today, I realized that I actually missed Magento. What? Missed Magento? Laravel had reignited my passion for web development, but it felt like I just made missed the complexity and satisfaction of building robust online stores. And when you think of robust online stores, it's hard not to first think of Magento. I still had this nagging voice in my head saying that I had unfinished business with Magento, that despite my setbacks, my journey of understanding it was not really over. Even despite the immense challenges and the dark place that I was in before. The tipping point came when I realized I was starting to lose some sleep. Not knowing how Magenta 2 worked bothered me so much that it was keeping me awake at night. I knew I wouldn't be at peace until I made at least one more attempt to learn it. Even though Magento had beaten me down in the past, I had a feeling deep down that it could still mean something special to me, something that I could potentially build my career around. So I started looking for and accepted a Magento 2 position, determined this time to approach learning it from a completely new mindset if you relate to this video at all, please remember to tap that like button to show support for my channel and help spread the word to other Magento developers. I appreciate it. This time I was determined to learn Magento the right way. There's a quote from Richard Feynman that I love if you want to master something, teach it. Richard Feynman was an expert with defining very simple ways to describe and learn things. He even described a technique for learning that included pick a topic you want to understand and start studying it. Pretend to teach the topic to a classroom, go back to the books when you get stuck, and simplify using analogies. So using this approach as inspiration, I started focusing on one small concept at a time with the idea that if I taught others, I truly learned the concept myself. This is a long process, but I stayed patient, being so methodical that it could even be considered stubborn. By taking a slowly focused approach to learning Magento 2 the second time around, I was finally able to connect with it in a way that I never imagined possible. After weeks of grinding on the basics, something clicked. It was that haha moment making its triumphant return again. Pieces started coming together. It felt like I was starting to break through because dependency injection started making sense. Then that momentum carried me forward into learning other areas such as object manager, plugins and event observers and so on until I had built up an understanding of each core concept in the framework. Piece by piece, other parts of the framework started coming together. My confidence grew as I regained competency with core concepts like routing controllers, layouts, and templates. Each small win just fueled my desire to keep learning more. What's important is that I didn't try to jump around and understand things all at once. I was careful to not jump ahead before having each building block cemented in my brain. It was extreme patience coupled with one small concept at a time that allowed me to learn a very large and complex framework. And learning this framework is something that I'd later use when building training courses and teaching others. It wasn't long before I started accepting complex Magento 2 coding challenges to test my skills. Debugging no longer stressed me out like it used to. With my solid foundation, it felt as though I could methodically diagnose any issue. It was like a superpower. My confidence grew, and the deeper I dug into Magento 2, the more elegantly designed I realized it was I had conquered the steep learning curve. Magento was fun again. I sculpted my entire career around this new Magento 2 skill set. I took on more complex projects then began reviewing other developers code and architecture. Eventually I worked up to an architect role myself. After rediscovering my love of Magento and becoming proficient at it, it took me to another position that I never thought I'd be. Magento teacher. Yeah, me. That guy struggling to learn Magento too. I now teach it for my own company, McAdmy. Sometimes I need to splash water on my face to realize just how far I've come, but it goes to show you what's possible. I was so close to never touching Magento code again, and now I teach it to tens of thousands of students. Teaching Magento 2 today feels like my life's purpose. Mastering it transformed my code career in ways that I never could have imagined, and those setbacks that I faced were crucial in developing the educational content that I create today. If there is one key lesson that I want you to take away from my Magento 2 journey, it is this. With dedication and the right approach, you can master even the most complex new skills that once seemed impossible. My path to learning Magento 2 was certainly not linear or straightforward. I struggled immensely at first and even gave up entirely for a period of time. But by breaking down large concepts into bite sized pieces, celebrating the small wins, and maintaining persistence through setbacks, I was finally able to connect with Magenta 2 at a much deeper level. Here are a few pieces of advice based on my experience. Don't quit when facing a difficult new technology. Take a break if needed, but see it through. Break concepts down into small pieces, mastering each one fully before you move on to the next one. Stay patient and focused. Don't jump around trying to learn everything at once. Celebrate small accomplishments to maintain motivation through your journey and find a community, courses or mentors that can support you through steep parts of the learning curve. You don't need to do it alone. And if you are a developer and are new to Magento and feeling overwhelmed right now, I've been exactly where you are. It does get better. Much better in fact. Embrace the journey that you're about to go on. With the right mindset and support, you will look back one day with pride and realize how far you've come. This epic struggle will transform you. You got this? Now go unleash your potential as a Magento developer. I can't wait to see all the amazing things that you build. And if you are a newbie developer and are feeling stressed or overwhelmed, check out this next video which will give you some tips on how to eliminate those feelings and learn strategies to combat this in a more structured way. Thanks for listening to my story.










