For my Sinatra project I built a scheduler app which keeps track of timed appointments and to-dos. I’m in the final stages of my project and simply need to tie up a few loose ends including this blog post. Ironically, I had a bit of a problem with scheduling while building this.
I’m a little OCD. I write everything down, have a planner, a separate notebook for meal planning, and I utilize the calendar/ tracking functions on all my devices/email accounts. Surely, that’s the “inspiration” for my app. Unfortunately within a week of working on it I felt like that was a less-than-inspired idea for my project and my present skillset couldn’t make it exactly what I wanted.
I had invested a fair amount of time on it so I didn’t want to scrap it and start over. In retrospect, I kind of wish I would have. I realized that I don’t yet have the skills to make it exactly what I wanted it to be— there is never going to be a replacement for my handy-dandy, old-fashioned planning system. I began to really stretch my abilities, much to my frustration. I had no idea where to start implementing some functions and some that I had success with simply seemed redundant and unnecessary. I dreaded working on it, and with the exception of one week, I still managed to stay focused, trying to add new things, and spending entirely too much time on it.
That one week exception was a total distraction and diversion. I got the opportunity to go to Florida to help my family out with some things. I had hoped to have my Sinatra App done before I left and though I had time while I was away, I simply did not want to work on it. My Aunt flew me down in exchange for new windowsills and it was an easy job— it essentially became the first vacation I’ve had since I finished grad school in ’14.. To be completely honest, I opened my laptop exactly once, and completely disregarded my planner, phone, and my diet. And you know what— it was an eye opener to the potential down time or flexibility I might have when I finish this course but it also showed me how much there is to learn and material that I “get” but I haven’t fully retained.
Before my trip, I had taken approximately 3 “days off” from school since starting in January. I’m part time, so most days I average only about 3-4 hours in school. A week completely off was way too much. I felt like I was looking at my project for the first time despite the fact that I had put lots of time into it already. Most things came back to me quickly enough, but I think there’s really something to trying to get in a little bit of time EACH AND EVERY day while your learning code- even if it’s a small exercise. We’re learning so much and even in my stretched 3-4 hours/day it’s ALOT of material for a short period of time.
When I did return, I returned to an unfixed problem I was having before I left and I still didn’t have a solution for it. I was further from a fix because I could no longer remember what I had and had not tried to debug or fix my code. I made notes but needless to say, I could have made clearer notes. I often print my code- yes, in paper form- from GitHub so I can remove myself from the computer, look at something tangible, and make notes directly on it. If you’ve never done this, I highly recommend doing it the next time you’re stuck. This is also something that would have been great to look at during my flights. I wound up having to schedule a 1-on-1 with an instructor to find a typo- FYI username has only one ’n’.
Throughout this project I had a fair dose of humble, humility-filled pie. Ignorance is not bliss, friends. However humbling, I take comfort in knowing that the learning in programming will never stop. I thrive learning new things and love the challenge.
Final takeaways:
- take good notes and try to do so in a variety of ways
- you’ll never know all the things. Google is there for you
- don’t be afraid to scrap a project that you hate. It sucks, but it sucks more to struggle through a project you hate
- it’s okay to be driven, but time spent with family and loved ones is so important. When you’re busy it’s easy to overlook but they support you and many of them don’t even mind hearing you ramble about a less than stellar project you’re working on.
- while learning try to do a little every day- whether that be reflection, flashcards, reviewing/making notes- even a small exercise will help keep you fresh for when you’re ready to dive back in.