Lessons Learned from a Launch School Retake
I’m currently enrolled in Launch School’s Programming and Back-End Development course where I’m learning the intricacies of JavaScript and applying principles learned through regular and consistent practice.
Launch School is an online program that teaches the necessary skills to become a successful Software Engineer. The program is centered around Mastery-based Learning where two main principles are emphasized:
- Remove all time-based measurements from the learning journey.
- Move to a new topic only after mastery of the current topic.
These principles ring loudly in my ears as I prepare to retake the Intermediate JavaScript Written Assessment.
Two weeks ago I received my first ‘Not Yet’ meaning I scored lower than a B on my Written Assessment. When I first received my grade, I was in disbelief, slightly embarrassed, and disappointed in my performance. I had put in the time, I knew the concepts, and I felt confident in my answers.
It wasn’t until I analyzed my Teaching Assistant’s thorough review when I realized where I had made mistakes. I had either provided too much detail, wasn’t technically precise in my responses, had syntax errors in my refactored functions, made simple mistakes, or had stated incorrect definitions.
Not immediately passing has forced me to take a step back, reprioritize, refocus, and get back to learning. I’ve identified the areas where I need to improve and am working to address those gaps.
Through this process, my trust in the Launch School curriculum has been reinforced. Landing a job in the tech industry is a competitive endeavor and one that requires hard-work, dedication, confidence in ability to solve complex problems, and excellence in communicating clearly and precisely. Launch School aims to ensure graduates are proficient in fundamental areas, prepared to launch long careers in software development, and as well versed as those graduating from institutions with a Computer Science/Engineering degree.
Receiving a ‘Not Yet’ was initially a hit to my confidence and my timeline. I thought I was ready to move forward but my exam results proved otherwise.
After lots of reflection, I’m at peace with my performance. I am focusing on the positives of the situation and continuing to remind myself that success is never linear. Sometimes you need to fail in order to re-evaluate, make changes, and improve.
I’ve learned a lot on this journey. Hopefully my lessons learned can help someone else but at least for me, they serve as a reminder and a benchmark.
Lessons Learned:
- Be explicit and technically precise. Accurate, clear communication about code is vital for software engineers. Understand and utilize the terminology that Launch School curriculum provides when explaining concepts.
- Explain reasoning with reference to specific lines in the program. Step through each line of code while providing detailed descriptions for what the code is doing. It is expected that you understand and can describe exactly what the callback evaluates at each iteration, how the data is passed to the callback, what the function returns to the method, and what the method then does with those return values.
- Spend time preparing as you would be testing. Practice communicating your understanding of the concepts in writing. Practice writing detailed descriptions of code snippets as if you’re explaining to someone that doesn’t know how to program or as if the reader cannot see the code at all.
- Identify fundamental concepts in your own words then cross-reference your summary with Launch School’s descriptions of the topic. This is especially helpful when reviewing the provided Study Guide.
- Understand the problem’s requirements, be sure to answer each question asked, and don’t provide extra information. If asked solely to write a function or refactor a function to get the desired output, then also explaining how the method works would not be required.
- Manage time limitations. Before taking the exam, create a table with rows for each question. When first opening the exam, look at each question and get an initial understanding of what it’s asking. Mark down how many points each question is. A problem that’s worth 6 points will take longer and require more detail than a problem that’s worth 3 points. When solving, write a quick note about whether the response is complete or needs additional review. This organization will be helpful when using whatever time remains to review and finalize.
- Track time. The Pomodoro technique has immensely helped me manage my time and ensure my sessions are focused and uninterrupted.
- Avoid syntax errors! Test refactored functions in a
.js
file then copy/paste directly into the question’s response. - Format correctly using backticks! Add syntax highlighting to code blocks by adding the language after the three opening backticks. For JavaScript, it’s
js
orjavascript
. String literals should be wrapped with quotations. Array literals should be wrapped with brackets. Both should be enclosed in backticks. - Avoid describing code in the first-person perspective.
- Double check assumptions by testing the code and verifying outputs to the terminal.
- Do it over and over again! Repetition is important and being able to recall details from memory will save time in the end.
- Revisit notes from previous courses. Concepts repeat themselves and it’s best to understand the fundamentals each step of the way.
- Have faith in yourself and your abilities. Stay calm, cool, collected, and focused.
- Lastly, get a good night’s sleep the night before your exam. Wake up, feel refreshed, hydrate, take a walk outside, maybe skip your morning caffeine, relax, and test well.
Nothing good happens when rushing through the process. Nothing in life worth doing comes easily.
Onward and upward!
Cheers, Katelyn