Flatiron School [2022]
Flatiron School was an intensive three-and-a-half-month course on full-stack web development that I undertook following my high school graduation. Despite its seemingly brief duration, the program's accelerated and immersive structure maximized its effectiveness, featuring 8-hour sessions from Monday to Friday.
My prior programming knowledge from high school and game modding provided a unique foundation for this course. This familiarity allowed me to swiftly complete the assigned material, enabling me to go well beyond the curriculum, extracting valuable insights, and forging meaningful connections.
About the Course
The course was divided into five 3-week-long phases, with 2 weeks dedicated to learning the material and 1 week allocated to creating a project based on the acquired knowledge.
Phase 0 (Pre-work)
In the two weeks leading up to the course, participants were instructed to learn the basics of JS/HTML. At the end of this phase, the directive was to apply the acquired knowledge by creating a website. For my website, I developed an early iteration of the point cloud effect visible in the background of this page.
Phase 1
Phase 1 focused on learning JS/HTML/CSS, along with interacting with REST APIs. Given my prior completion of the pre-work, I found this phase to be mostly a review. Consequently, I spent a significant amount of time going beyond the curriculum. This included creating the first iteration of my personal site, purchasing a domain, and deploying it with GitHub Pages. Additionally, I delved into custom CSS for Discord and other sites, enhancing my understanding of styling techniques.
Phase 2
Phase 2 introduced the concept of React. While I spent less time teaching myself during this phase, as the ideas of state, components, and hooks were new and not entirely intuitive, it marked a significant learning curve.
Phase 3
The focus of Phase 3 was on learning Ruby. Given my experience with three programming languages prior to this (Java, Python, and JavaScript), I picked up Ruby very quickly, spending only three days learning its syntax.
Phase 4
Phase 4 centered on learning Ruby on Rails, a framework on top of Ruby that was very similar to how we used Ruby for backend development in Phase 3. This allowed me to finish early and begin working on my Phase 5 project ahead of schedule.
Phase 5
Phase 5 did not involve learning new material, instead it served as a culmination of the entire course where we were tasked with applying what we had learned in a solo project.
Having gained a head start from the work done in Phase 4, I successfully made my very ambitious goal of an online multiplayer card game inhumane cards