It’s already been one full week since my first day of Fullstack Flex! My cohort is comprised of 12 people, all from unique backgrounds working in different industries (tech, health, consulting, etc.) Some are looking to make a career change, but many are also just looking to expand their knowledge and learn to code to have the power to create. Everything bootcamps advertise about their students is true—students are hungry and eager to learn and all excited to be there. It’s a super refreshing environment and makes you more energized as well.

During the week we reviewed Javascript problems from Foundations, the pre-work course, and through David and Nimit’s in depth explanations I grasped so many concepts I struggled to self-teach myself. Concepts such as closure, prototypes, and inheritance became familiar, then even more confusing, then started to kind of make sense again. It was great to also begin considering runtime and avoiding expensive calls when writing code, instead of just aiming toward what works or what’s most concise.

I’m starting to feel the struggle of balancing work, class, health, sleep, and social life and know the dilemma will only get graver as the weeks go on—I’m not keeping up with at least 2 or 3 of the 5 at any given time. It’s difficult to adopt the “drop everything and go” mentality that full-time bootcampers have, mainly because the purpose of the part-time program is to give leeway and allow you to also work full time. I know I’m being selfish in wanting to be in control of everything, but understand that will lead me to lose control of most things. Better to focus on a couple at a time! At present, I would obviously like to prioritize focusing on the class while still being fully present at work during work hours, and know I should not compromise on health and sleep too much. It’s those off-day off-hours I need to optimize! Will update progress as I go along.

Speaking of off days, a huge benefit of the part-time program is the downtime you have between the days of classes. This has already proved helpful in further studying concepts you didn’t fully understand in class. For example, I was pretty confused over the difference between classical & prototypal inheritance in Javascript. I’d like to write a full post about this someday, but for the time being I’ll explain what I’ve gathered here.

A powerful trait of Javascript is polymorphism, where “methods” (just functions in JS) can be overriden (ex. SuperUser’s prototype can have a method of the same name as User’s prototype, which thus overrides the User prototype method). This applies to both the classical and prototypal inheritance approach to writing Javascript. Normally in other languages with classes, this is not the case.

Hopefully the above was helpful to those stumped over inheritance! I haven’t fully grasped it but I think I’m getting there. Both the article Why Prototypal Inheritance Matters and the Mozilla documentation for JS were helpful as well.