This post was written by Michael Djurdjevic, who completed our Online Web Developer Program and now helps other students going through the program as a Technical Coach.
With a fresh red sharpie, I marked an “X” on my calendar exactly three months into the future.
“No matter what, I’ll finish the curriculum by this day,” I thought.
I felt intensely motivated – I was thrilled to take my first steps towards this new, successful future I envisioned. I had even quit my job to give Flatiron School’s Online Web Developer Program my full focus and effort. I planned to spend around sixty hours per week coding, with minimal breaks.
The next morning, armed with my ambitions and a fresh mug of coffee, I opened up Flatiron’s Learn IDE and got a running start on the Intro to Ruby labs.
For a while, my plan worked just fine. I was cruising through the early Ruby labs with little trouble. It took about two weeks before the labs started feeling harder, and my progress slowed down. The Tic-Tac-Toe lab was my first major hurdle – it took me well over an entire day of coding to complete. As I continued forward from that lab through the Object-Oriented Ruby section, my confidence in my programming skills continued to dip. Oftentimes, I felt confused by the abstract concepts introduced by the lessons:
“What’s even the difference between a class and instance? What does attr_accessor even mean? Why are hashes so damned hard to work with? Are other students easily passing these labs? Am I just bad at coding?”
I knew I wasn’t fully understanding the concepts the labs meant to teach me, but I stubbornly refused to slow down and ask for help. By the time I reached the Music Library CLI lab, I was extremely frustrated. I hadn’t taken a day off in nearly a month. I was exhausted, and this lab, more than any before it, felt incredibly difficult to me. After four days of headaches and blindly hacking together methods to pass the tests, I got stuck on the last set of failures. I finally opened a ticket for help via Flatiron School’s Ask a Question button, hoping to be told the answers to the tests so I could just move on. I walked away from my computer, and went to go grab a glass of water. When I came back, I realized…
My computer had automatically restarted for an update.
Panicking, I rushed to power my PC back on. I could feel my skin flush and my heart race as I mashed on the little IDE icon on my desktop. Within seconds, I realized that all my code was gone. I had never saved any of it in the four days I had been working on the lab. I opened up my curriculum browser, and jumped into my ask-a-question ticket to explain what had happened. I felt totally defeated. For a few minutes, I stared at my computer screen and contemplated giving up on the curriculum entirely. I vented some of my frustration to a Flatiron Technical Coach (If you’re reading this Matt, I owe ya’!), and he gave me a response I really wasn’t expecting:
“More than anything, you should take a break from coding for a day or two. You did this lab once and you’re gonna be able to do it again. Don’t worry about losing the code; whenever you feel ready to come back, put in a new ticket here and we’ll work through the lesson together over screenshare!”
He was totally right – I badly needed to take a break. I thanked him, and logged off. For the first time in a month, I went three complete days without turning on my computer. I took my dog out for morning walks, played some video games with my little brother, and watched Ex-Machina on my couch with a big buffalo chicken pizza pie. When I returned to my IDE and opened a fresh copy of the lab, I felt like my brain had somehow learned more over the past three days than it had the past three weeks. With the help of the Technical Coaches, within a few hours I had re-written all the code that previously took me four days to complete. And the best part: they helped me understand every line of code I was writing. I had my coding mojo back.
Ultimately, I took longer than three months to finish the Flatiron School curriculum, and that’s okay! I allowed myself time to really learn what the lessons were teaching rather than trying to get through, and I’ve got no doubt I’m a better programmer for it.
For anyone reading this who feels frustrated, exhausted, or overwhelmed as they learn to code: take time off if you need it, and never hesitate to ask for help – whether from the person learning next to you, over Slack, or – if you’re taking a Flatiron School course – over the Ask a Question button. There’s a really stellar community of Technical Coaches and fellow students who probably have felt a lot of the same things you’re feeling. Sometimes, a little pep talk is all you need to keep pressing forward.
Make yourself useful.