As I prepared to unpause Launch School after over a year and half of being on pause for multiple reasons, I was going over some course notes about String methods, and came upon a piece of advice:
“Walk towards the fuzziness.”
The notes went on to explain that if something is confusing, the scientific mindset is to say let me sort this out, not ‘Let me go do Rails’, or do something easier, or simply walk away from it. Instead, be someone who wants to get it, dig in, play around with the code and get one’s hands dirty. Don’t shy away from what confuses, rather, be willing to walk towards the fuzziness. Explore and press on further in order to seek out clarity.
The above is particular to the approach of Launch School that I’ve experienced when it comes learning software engineering. It’s a mindset and way I’ve come to appreciate more and more, especially after having had paused Launch School for quite a long time for a variety of circumstantial reasons.
For a brief background, being brand new to the study and field of software engineering, I paused Launch School in late 2018 after having studied full-time for about 6 months, and had just gotten through about a fourth of the old LS170 course in the Ruby Track. I simply had ran out of money and needed to work. In the Fall of 2018 I happened to land a role in my typical operations work I had been in for years, and then in early 2019 fortunately landed an associate software engineering role. That ended sooner than expected — for a number of other people at that place as well — and then I fortunately was blessed with another role in Rails and Ruby in the Fall of 2019. COVID hit, funding was very dry, and in the Spring of this year everyone from my dev team was let go except the team lead. While generally speaking it’s been a very difficult time for many people, I also found this as a blessing in that it helped me unpause and focus more on Launch School.
Having been “away”, so to speak, for over a year and a half, here are some thoughts, reflections and advice regarding going on pause for an extended/indefinite period, and also unpausing thereafter.
If You Really Don’t Have To, Don’t Pause
This may seem obvious, but it can actually be a tough call and hard to know if it’s right or not. This is also of course particular to every individuals own unique circumstances. Are family demands too much, or is it the new commute and/or job, is it the quantifiable aspect of lack of funds. On that last aspect, in a totally awesome development, Launch School now as a relatively new deferred payment plan with no interest.
For me, it was getting to be unsustainable financially as well as time-wise. I had a very full schedule in terms of commute and regularly rotating hours with an odd schedule, in addition to family and other obligations.
Each individual is the best judge of their situation. Don’t pause if it isn’t absolutely required, and push through instead. Even if the momentum slows, one is still moving forward.
Aside from the above, one important note that others have pointed out is the aspect of burnout. Even if all the above factors don’t come into play, sometimes during the coursework it may be healthy to take a pause and gather oneself together for another run, such as at the midway point in the coursework. Otherwise, unneeded pauses / long pauses are simply to be avoided.
Keep Practicing While On Pause
Try to study, practice or learn something new at least every so often, if not regularly, be it studying old course notes or learning something new. Since I had to work, I figured why not try to land a dev role if my time away from LS is going to be sapped away by a job. Hence I did attempt and try new things outside notes from the LS courses I had taken at that point, and eventually did land an associate software engineering role. There are drawbacks to landing a role like I did without having completed the backend courses. You simply will not have all the tools to pick up other things well since the fundamentals are incomplete — see the next section for more elaboration.
In any case, make it a habit to practice the smaller problems from various courses, perhaps build an an application if you are at that stage. Be involved in coding if you have to be away from your coursework, attend meetups — virtually now since we are in a pandemic. Your recovery and ability to get back on track once you unpause will be aided as a result of your practice while on extended pause. Of course, lots practice and more intensive study will necessarily precede the actual unpause from an extended break.
Note On Landing a Job While On Extended Pause
It is a testimony to the LS coursework that I was blessed to land a software engineering role after having only taken 3 complete backend courses. However, as Chris Lee has noted, you not only want a job, you want a good job. There is a distinct difference, and the latter is where you want to be if you can help it. There are lots of jobs, but in the case of not finishing at least the backend, that doesn’t mean you will land a good job with the support and stability you will be needing since you haven’t completed your study of software engineering fundamentals in the LS coursework.
Additionally, you will need to be prepared for Just In Time Learning, as Chris Lee has written about. Not having covered all the fundamentals, you simply will not have the tools to effectively learn in such a manner on the job.
In a sense, you are fighting to grow on two fronts: fundamentals on the one hand, and technologies at that are built on fundamentals, of which some — if not a lot — you are missing. You do not want to be in that position on the job, if you can avoid it, so a word of caution and advice on that. It is not and was not easy, to say the least.
Make Good Summary Notes, Spreadsheets, Flashcards, etc For Each Course
I found it helpful to have taken summary review notes for each course. For me, those were generally in the form of assessment preparation notes, where I tried to summarize large portions of the actual course and take away the major pillars and concepts in preparation for assessments, of course based upon the assessment preparation guides from LS.
Summaries notes such as those will be invaluable in terms of time spent reviewing important fundamentals prior to unpausing, and contain details that you likely won’t all be focusing on while on pause. For another mode of re-enforcement, I also made spreadsheets of concepts and coursework I was reviewing while preparing to unpause, giving me another convenient place to look things up as well as review. Others find flash cards helpful, and I have more recently been using Notion (see this LS presentation by Laura Davies), which has been fantastic. Many other study/note tools are available.
If Paused Before/At LS170 in the Ruby Track, Give Special Care In Reviewing RB130
Pay special attention to RB130 before unpausing, as was recommended to me by a fellow LS classmate. Of course practice both procedural(RB101) as well as OOP(RB12) programming while on pause. The basics of both of those come a bit more quickly and naturally since coursework is so extensive there. In RB130, there are tools and technologies used that likely aren’t to be used as much while on pause, but help build actual projects and more robust programs. Thus, more focus may be needed there prior to unpausing in order to solidify the foundation before building out larger applications in later backend and frontend courses. RB130 is where we built our own
.reduce methods, focused on the nature of closures/blocks/procs, binding, arity, testing, and the basic Ruby tools used to help in build actual applications, particularly in later courses. Give RB130 review considerable attention — if not the most attention — when preparing to unpause after a long hiatus.
The Launch School coursework grills a student so thoroughly and reinforces retention such that if one keep’s practicing while on pause, and perhaps not even at times a lot, a student can find in a good degree of confidence in their abilities, despite sensing some rust.
Every detail won’t be remembered and that isn’t expected, but a student can always come back and regain what may have been forgotten or not touched in a while by reviewing notes, or asking in the Slack channels or forums. If you’ve exposed yourself to other areas or resources while on pause, you may even find you have a new way of looking at code or a subject matter relative to the first time you covered it with Launch School, and/or that you can refine your approach since this is your second time around. It’s a really fun experience since there is in a sense, a new you coming back more fully to the way you’ve enjoyed learning, via the Launch School mastery-based approach, which can be difficult to duplicate on one’s own.
For me, finishing each of the first courses felt like climbing a mountain top — months ago I didn’t know a lick about software engineering and then there you are learning something you had no idea about before, taking courses that are simply not easy. But it’s how I — and I expect many others taking the LS courses — want to learn. There is simply enjoyment in the process, even if it is difficult.
Climbing those mountain tops builds confidence, but also knowledge of yourself and your abilities. You can continue to carry that confidence and knowledge with you while on pause, and when unpausing.
Michael Jordan once noted,
“Work ethic eliminates fear.”
Knowing the work ethic taking Launch School courses requires, let that knowledge and practice eliminate any fear when it comes to your abilities, and have confidence.
But do unpause when you are are finally able to, get back to grounding yourself in fundamentals, and embrace the fuzziness once again.