Notes on Learning to Program During a Pandemic

Anne Jones
Launch School
Published in
5 min readMay 12, 2020

I sunk down onto my bed, frozen. It was March 15th, and I had just gotten off the phone with my boss, who had regretfully told me she could not afford to keep me. My situation isn’t unique — in the US there are tens of millions of people in a similar state of anxious uncertainty, navigating unemployment during the pandemic. I had wondered if I would be laid off — I worked at a small, family-owned retail business — but I didn’t know it would happen that early. I had just paid for my first month of Launch School a couple of days before, and while a part of me thought that I should cancel my subscription immediately and beg for a refund, a larger part of me realized that adhering to my plan had become more important than ever.

I graduated college last June with a degree in Molecular Biology. A chronically curious person, I had originally planned to pursue a career in scientific research, because I love the natural world and I love to figure out how things work. For various reasons, I realized that this career trajectory wasn’t for me about a month before graduating. While I was trying to figure out what I was going to do with my life, my partner — a software engineer — pointed out that if I love figuring things out so much, I’d probably love coding. It turns out he was right.

Because ‘learn to code’ is an extremely vague goal, I started the way many do, with online courses that teach you to code in [insert language here]. These all taught syntax and general rules perfectly well, but I soon realized that if I wanted to justify why I was making a certain decision in a piece of code I’d written, I couldn’t. I hadn’t been learning deeply, and I wanted to. That’s when I found Launch School, which is exactly what I was looking for.

Back in the present, logistics got figured out, anxiety dissipated, and I got to work on RB101. Now, as I near the end of this first course and write this blog post, I̶ ̶a̶m̶ ̶b̶u̶r̶s̶t̶i̶n̶g̶ ̶w̶i̶t̶h̶ ̶i̶n̶f̶i̶n̶i̶t̶e̶ ̶w̶i̶s̶d̶o̶m̶ I’ve put together a list of few study strategies I’ve found helpful, and some general advice that I’ve been reminding myself of a lot lately.

STUDY IDEAS

  • Try filling out a PEDAC template for each ruby small problem (within reason). When I first started working through the Ruby small problems, I forced myself to work through the PEDAC process for every problem, even if I had already thought of a potential solution. More often than not, using the PEDAC process to think through the problem methodically led me to a solution far more robust than what I came up with originally. Using this process for every problem consistently provoked me to think deeply about the inner workings of my code and the reasoning behind my decisions, and it allowed me to quickly isolate and correct any faulty logic before I’d even typed def.
I wrote this basic PEDAC template to copy and paste into all my code files so I never feel tempted to hack or slash.
  • Test everything in irb — e v e r y t h i n g. How do I access that hash element? Try it in irb. Does this method mutate the caller? Try it in irb. Does this strategy cause my program to veritably burst into flames when I run it? Try it in irb. Verifying your assumptions by testing small pieces of code before coding the entire solution is a quick way to avoid small errors, and it will save you hours of debugging (I’ve learned this both ways).
Testing your assumptions before coding ensures that you know how you’re interacting with even the most convoluted data.
  • Know you don’t know — The first step to knowing is knowing what you don’t know, and when you know that you really don’t know something important, jot it down. Even if it’s just a tiny detail you don’t completely understand, articulating it can help guide you toward an answer. Write down all the questions you have, even if they seem silly or potentially out of scope. Write down things that surprise you. Write down things that you’ve never encountered before. By doing so, you’re engaging with the material, you’re fortifying the synaptic connections you established when you were exposed to the material for the first time, and you may become aware of some weak points in your understanding.
  • Set a goal for each study day — Working through a program without a timeline or deadlines means that building structure is up to you. I’ve found that setting a detailed goal for what I hope to accomplish during any given day can help focus the time I spend working. Note, because Launch school is self-driven and isn’t on a timeline, the kinds of goals you set matter, too. A goal like “I’m going to finish lesson four today” can be a good motivator, but it’s also important to acknowledge any caveats — a topic in the lesson may be new or challenging and require more time, etc. Intentions set for the day aren’t immutable, and it’s a good idea to evaluate and update them as the day progresses. You don’t want to burn yourself out by setting unrealistically high expectations or fail to challenge yourself because you’ve surpassed your goals without modifying them. Regardless, the most important thing to remember is that it doesn’t matter whether you’re progressing through the content quickly — the important thing is that you’re gaining mastery of the concepts within it.

GENERAL ADVICE

  • It’s okay if you can’t focus right now. It’s also okay if you’re having no trouble focusing at all. Now more than ever, it’s important to remember that everyone handles stressful situations, anxiety, and loss differently. Forgive yourself if you have a bad day.
  • Routines are life. Every morning I open all the windows and fill a thermos with hot tea. Having a ritual like this is not something I cared about before I was stuck at home for months, but here we are. When it feels like days are blurring together into an amorphous blob, routines can help to delineate them.
  • Reach out. As an introvert, I know this isn’t easy for everyone, but especially when many of us are much more isolated than usual — community is critical, and it’s fortunate that we have such a great one at Launch School.
My cat, Sherlock, making sure I don’t work too hard.

With that, it’s time to finish up RB101 and start preparing for the assessment!

If you’re a Launch School student and you’d like to reach out (or if you’d like a study buddy), you can find me on slack (@Anne), and if you’d like to learn more about Launch School you can do that here.

--

--