BloodOaths, of course!
I’ve always loved learning, and I’ve always hated school. I’m a big fan of learning on my own terms and I’m my own worst enemy when compelled to study. I read all day, except any assigned material. Grinding away at problems that don’t capture my interest right away has been a lifelong struggle and I get very little satisfaction out of just tinkering with random little projects.
When I started looking into programming as a career option, I really dreaded studying, it seemed incredibly overwhelming and outright impossible. Lots of people encouraged me to try it anyway and gave me lots of encouragement, pointing out my interest in and natural ability to do math and implement logic, promising me that I’d love it and be amazing at it.
I did not and was not.
Quite the opposite: I hated it. I dreaded every minute spent on it and failed every attempt. I couldn’t understand the material at all and I was not in any way motivated to keep trying. Every time I thought I had made real progress, I got knocked back down a few pegs by some life event or another. What I have not yet mentioned is that not only did I try to learn to code, I tried to learn to code in addition to working 60 hours a week and raising a family. At age 34. Without a college degree. Without any prior coding experience. Without knowing how to properly type. In the beginning , I didn’t even have access to a working computer.
It was a real grind and I didn’t feel like I was getting anywhere, I began to worry about employment prospects and I convinced myself that I was really just wasting my time. But I kept going anyway. The thought of having the flexibility to work remotely, to be able to get health insurance after going without for 15 years, saving for retirement, and showing our kids that I was able to do more intellectually challenging work than “just childcare” or “just photo styling” by learning objectively difficult technical skills is what kept me going. I started supplementing the lessons I didn’t understand with materials from other bootcamps, read lots of documentation, studied with friends on weekends, but it still didn’t really click. I’m used to learning quickly and working through big problems at high speed, and not being able to master the machines right away was very frustrating… and humbling.
I decided to give it one real shot, to quit my job and do this full-time, truly dedicating myself to code all day, uninterrupted on campus, with teachers and students in the same room, doing homework after the kids go to sleep, and be job hunting by July. The bootcamp interviews went well and I got into the Flatiron School program in NYC — maybe I had learned a little bit after all. My last day of work was 03/02/2020. My partner works in healthcare and we had known about COVID-19 since December but were still hopeful the US could prepare well enough to stay ahead of it and weather the spread of the virus with minimal impact to us. When we realized that all schools would be going remote, meaning I would have to homeschool our two kids while I’m in the program and he’s working an incredibly demanding and stressful job from home, I felt quite discouraged and considered “deferring”, which would really mean quitting. He refused to let me. We’d make it work no matter what. I agreed to see how the first week would go. It went ok. Maybe I could make the second week work as well.
Bam. Code challenge.
I could get through the labs well enough but a blank page is always a different animal. I kind of got the concepts, but not well enough to implement them on my own. So I worked through the practice challenges of building class models in Ruby.
Zoos. Spongebob. The Office. It didn’t click. I didn’t want to get stuck on one problem for hours, which I had done before and which had led to huge frustrations, so I did what I could, left my methods incomplete, and then moved on to the next lab to start over fresh.
I stayed up all night before the code challenge and was convinced there was no way I’d be pass. I was able to get through part of a lab and then get tangled in my own methods.
…blood oath relations?
Blood oath relations.
After getting stuck on every other practice sooner or later, this one clicked. At 4am on Tuesday morning, I finally understood has_many_through, really understood it. All of a sudden it just all made sense. Of course the Follower class needs a BloodOath class to join a Cult class, how else would you get into a cult? Of course you need to pass in the follower attributes, how else would the cult leaders surveil and control their followers?
I got through the whole lab in 75 minutes and was elated. I don’t think I’ve ever had such a success studying. And I didn’t hate it. I was so used to either understanding things very easily or losing interest, I’d never really pushed through repeated failure. It was a hard won victory and finally made me feel like there was a real path here. It looks like a very small victory from the outside, but it was really the thing I needed to not quit on myself. The fact that I could be completely lost and work my way to competence by chipping away at a problem bit by bit, not letting frustration get to me, and trying different ways to understand a problem was a real revelation to me… 34 years into my life. Incremental progress seems to be key.
After that, I actually started enjoying the program and got excited to work on code. All I needed was one small victory to get past all the big failures and obstacles of the past 12 months. Nothing in my situation has really changed, it’s still extremely challenging to find the time to complete my school work, to make sure our kids don’t fall behind in their lessons, to decontaminate the house after every contact with the outside world, to spend hours a day trying to source food and household items, to take care of our elderly parents (who listen even less than the kids). It still feels like juggling with 25 balls and all of them are on fire, but my outlook has shifted.
Shakespeare wrote ‘King Lear’ while quarantined; a great accomplishment, no doubt… but going into quarantine as a nanny and coming out the other end as a software engineer may be a close second.