Editor’s note: Making the Switch is an ongoing series written by recent Bellevue Dojo graduate Zach Jones. It highlights his career change from truck driver to developer with insights, anecdotes, and advice along the way. You can read Part 1 here, Part 2 here, and Part 3 here.
I’ve already said a little bit about the structure of each month in Part 3 of this series, but here’s a quick refresher. In the first week, you’ll mostly be working on learning the programming language at the center of the stack. Toward the end of the week you’ll begin covering how the framework works. Week 2 is all about the framework and how it interacts with your database, and week 3 is about practicing these concepts until you can make a full stack website in 5 hours. That’s the schedule in theory.
In practice, each stack sticks to a different schedule. Everyone takes the Python stack first and that stack follows the schedule I’ve laid out above to a T. In C# you’ll spend less time on basic programming, while it will feel like you’re learning more. This is because you’re learning about Object Oriented Programming, or OOP. You’ll cover a bit of this during Python, but C# is THE language for learning OOP, so be ready to learn more about my favorite programming paradigm.
Instead, let’s take a look at the biggest challenges I had learning each stack.
I was flying ahead of the schedule in Python until I hit a wall with how to use the framework, Django. In C#, familiarity bred complacency, and though I was excelling, there were some smaller parts that I nearly missed out on because, “I didn’t feel like it.” In MERN I had difficulties working with the platform that I was worried would stop me cold.
If you’ve ever tried your hand at writing, you’ve probably experienced writer’s block. I’ve seen a version of it for virtually every job out there, and it usually comes down to one or two things. Normally, it’s burnout. That exhausted feeling that never seems to go away while productivity plummets. Sometimes it’s what I call “the wall.” You’ll be going a million miles an hour when suddenly you’re making no progress. You’re starting to panic as you have no idea where to even begin looking for help.
That was me in Python. I smoked the general programming part, but got stuck once we got to the framework. For a couple days I couldn’t figure out where the beginning of the beginning was. It’s pretty disorienting, but what got me out of that cycle was to reach out to the teacher’s assistant and ask her for a step by step breakdown of what exactly I was looking at. I could have asked the questions when my problem started and avoided all of this, but I didn’t.
Why? It’s part of a bad habit that truckers are more likely to fall into than anyone else, though self-taught programmers and your typical loner are likely to fall victim to it as well. If you want to avoid this mistake, avoid feeling isolated. The biggest problem for me was that before my career change and educational journey, I had to figure things out by myself for so long. I didn’t realize I could ask for help. There’s no need to feel this way, because ultimately everyone is in the same boat as you. Ask your classmates, and if they don’t know the answer, ask a teacher next.
In C#, the first week went very well, but I grew complacent because of it. I slacked off and did only the mandatory assignments. Toward the end I understood the core of the curriculum, but I was relying on previous knowledge to carry me through for everything. The way the information is organized in the platform, there is enough new information in every stack to keep you occupied.
I had to take a step back and reevaluate how I was coming to the code, to the process of coding in general, and look at it with fresh eyes again. For complacency, I recommend trying to approach your programming like a beginner. You’ll learn faster, and you’ll be less likely to miss something important than if you think you know it all. Try to maintain that beginner mindset all the way through. It won’t hurt to stay humble and stay hungry.
The difficulties I faced in MERN were different. Each chapter starts off with the understanding that, should you run into difficulties you should first try to find the answer yourself, either through reasoning or through the almighty Google search. Next, ask one of your peers if you continue to be stumped by the same thing. Either they know it and can help you, or you figure it out together. Then, if you still can’t find the answer together with the small family of students you’ve amassed to look at this problem, you bring it to the teacher. They’ll have a breakout session on the subject (or just some one on one time if you should need it) and the entire class is made better for it.
I had been guilty of complacency and self isolation so far, and I applied the lessons learned religiously. If I hit a wall, I asked for help. I never felt complacent in MERN, because I was too busy hitting walls. Actually, it felt like there were far too many walls. It felt like there were gaps in the material, and they were bigger than a cursory Google search could cover. The change in teaching style was jarring, but not necessarily a bad thing.
How do you fix it when the material isn’t working for you? One of the things I really enjoyed about the platform was the fact that you could submit so much feedback, and the material was always being updated. So I left reviews for the course developers. I would always put down what I thought was missing, and I would share videos that had helped me figure out what I felt like the content was missing. We all got through the material just fine in the end. Our teacher was phenomenal and did a great job working through the myriad questions we all had, and the platform had started to improve almost overnight as well.
After going back and examining the curriculum again, there’s a lot more material covering my sticking points. Is it fair that many improvements were made after I went through the program? Probably not, but I think that’s missing the point. We figured out where to find solutions to our problems by collaborating with each other and sharing resources. For me, that was the real moment of quickening for me, the real moment I could look and say, “Yes, I am a developer.” When faced with a fresh issue, you should “Developer up!”
Looking back at it, these problems weren’t technical problems so much as problems with my “soft skills.” Personally, I struggled with self-isolation, and complacency. When learning, no platform is going to teach you everything. The ability to identify and overcome those knowledge gaps is what makes a self sufficient developer, and an attractive hire for tech companies. We’re just about finished with my story. Next time we’ll be talking about graduation, going home, and job hunting during the COVID-19 pandemic. Stay tuned for more and as always, if you have any questions please feel free to ask them in the comments.