I tried to give the same title that I was obsessively Googling only about a month ago. I read all the experiences (here. are. some. wonderful. ones to read) from all different viewpoints and I found them intensely helpful — if nothing else, to know that these assessments were stressful and intimidating to other people, too!
Admittedly, my advice will be neither novel nor magic-pill-like. Instead, here’s my experience — another one to read and glean from and be encouraged that you’re not alone. But I did pass well, with zero previous programming experience, so I can attest the following things work well.
“How long did it take you?”
Chris made a forum post with some great answers to this, and it’s helpful to keep in mind the belabored but important point: it depends. My completion of Ruby prep is a little hazy because I did it in a non-consecutive manner and didn’t track my time. But aside from that, I can tell you this:
RB 101: 71 hours
Ruby Small Problems: 24 hours
RB 109: 79 hours
Because I study full-time (20–25 hours/week), this averaged out to RB101 taking me about 4 weeks and RB109 taking me 5 weeks: 2 weeks for the written assessment and 3 weeks for the interview.
Please note: I took more time in just preparing for the assessments than in being introduced to the material. My programming has improved so much since the end of RB101 — far more than I anticipated!
The Written Assessment
Although the interview assessment gets more airtime, this is still the first real assessment.
First things first: follow the study guide. As a former educator of seven years, I can attest that there are terrible study guides and there are those that are literally made for your success: this is one of the latter. If you do everything (and are able to do everything) it says, you will ace the interview.
A couple of ways to practice the concepts that I found helpful:
- Pair up with another student and send each other 3–4 small snippets of code with the questions: What does this output? What does this return? Why?
Re-create the interview conditions by timing yourself and seeking to type out your answer to each question in less than 10 minutes (that’s typically the max amount of time you’ll have per question) AND using markdown. Then, send it back to the other student and grade each other based on LS standards.
Johannes and I did this a few times and my explaining of code rapidly improved in precision and clarity. Make sure you two make an agreement to be perfectly honest — flattery helps no one here :)
- Pair up with students that are earlier in the curriculum than you — in RB101. I start coding with other students who are interested once they hit Lesson 4 in RB101. They’ve told me it’s helpful to get my perspective on problems, and I find it extremely helpful to have to explain concepts from earlier in the curriculum that I assume I remember but…suddenly don’t (variable scope is so much trickier than it seems!).
It might seem like you should only code with people at the same spot or beyond, but these sessions with students earlier in the curriculum have been some of the most helpful for me. Thanks, Shaun & Joseph!
The Interview Assessment
After finishing the written assessment, I literally could not fathom ever feeling ready for the interview. Ever. But, after two-ish weeks of focused study, I really did. It comes with time and practice, I promise!
First things first (again): follow the study guide. If a magic pill existed, it would be this study guide. Watch all of the videos, solve all of the example problems, and do everything it says.
The total activities of my preparation for the interview assessment, ordered by how much of my time it took up (least to most), are as follows:
- Watch the Videos. And don’t watch them like you used to watch assigned videos in college: give them your full attention. Additionally, whenever Chris introduced a problem, I would pause the video and try to solve the problem myself. After doing so, I’d watch the student solve it and I took notes on anything Chris said about how to approach a problem, what LS teachers are looking for, etc.
- Redo Ruby Small Problems. By the time you’re ready for the interview, the easy problems really should be easy. It was so encouraging to go back over problems that were difficult and find that I had improved in my approach. It’s a great confidence boost. Additionally, it helps you solidify all the methods and PEDAC.
- Attend Study Groups. I attended two before I had completed the written assessment and another one less than 24 hours before completing the interview assessment. Practicing in front of a peer is one thing, but practicing in front of a TA is a whole new level of nerves. I was fortunate enough to solve a problem in front of my interviewer a few hours before he interviewed me, so that helped the interview not be as intimidating — I had kinda already done it! This is also a great way to find people to practice with — it’s how I met my first study partner. Don’t wait until you feel “ready” to attend a study group. If you have finished RB101, or are even in Lesson 6, attend one! And then keep attending as often as space and your schedule allows. Also, attend the study groups of different TAs: they each have their own ways of conducting them, so it’s great to benefit from all.
- Solve Problems in Front of Your Peers. Recreate the interview conditions: give your peer a problem they’ve never seen before. Time them. Have them talk through it in a professional and clear way. Once they finish, give them feedback on their communication and their code. Then they do it for you. Kevin and I did this for hours on end. We mostly gave each other Codewars problems, which I recommend, too. Also, seek to study with more than one person, because you can learn so much from different people’s styles! I coded the most with Kevin (thanks for dealing with my incessant mic issues, pal), and also grew a lot from coding with Leah and Felicia. Don’t be afraid to reach out.
- Solve Codewars Problems. Gosh, I love Codewars.
They say that you should be able to solve difficult 6 kyu and easier 5 kyu to be ready for the interview. My experience confirms this. At the time of the interview, I was (am) ranked at 5 kyu with over 500 points, i.e. I spent a lot of time on Codewars. This was essential for me because although the Ruby Small Problems were great, I found that I could recite the solution without understanding it; my memory can be annoying like that (just like I could never learn to read notes because my muscle memory would just play the song on the piano! Sounds great, but it’s a roadblock to true learning). I needed novel problems to make sure I truly understood how to use methods, break down problems, and find solid solutions. More practice doesn’t hurt!
Some Final Tips
- Find study partners by searching the Launch School Slack for “RB109” and finding people with that attached to their name. Also, pay attention to what people post in #general or the study group channels (join those, btw) and reach out to people if you see that they’re around the same place as you in the curriculum. Can be simple. I usually just say ‘Hi, I’m Callie, I’m in RB109, too. Wanna study together sometime? My hours of availability are XYZ…’
- Add the clan name ‘Launch School’ to your Codewars account to automatically become Allies with all other LS students on there. I usually just scroll through their Katas and complete those instead of bushwhacking my way to find the problems worth my time.
- In that same line of thought, feel free to look through the Katas I’ve completed. If you want to do one that I found very fun and challenging and is definitely beyond the difficulty of the interview, do this one.
- Ask questions on Slack. The TAs are incredibly responsive, helpful, and kind. Other people are probably thinking the same questions, so ask them. All of the questions!
- If you’re a perfectionist and over-studier, you’ll have to call it eventually. You’ll never feel invincibly ready, but choose to schedule it when you feel reasonably ready.
- The day of the interview, warm up with some 7 kyu or 8 kyu problems. No need to get stuck on a crazy hard problem right before the interview, but make sure to still warm up.
- B R E A T H E. Launch School and the TAs are on your side.
I hope this was helpful. I shall now enjoy some stress-free food (anyone else lose their appetite when they’re nervous..?)
To any LS students, feel free to reach out to me on Slack (@callie). Always happy to chat and expand my circle of study partners. Go forth and conquer those assessments. Onward anyways. Courage!