Thoughts On Finishing Junior Phase at Fullstack Academy

10.23.2017

TL;DR:

Software engineering bootcamps are intense. A good one is REALLY intense.

WEEK 1

Spent half a day doing orientation stuff, then dove right into writting JavaScript implementations of data structures and ABTs. Queues, Linked Lists, Hash Tables and Binary Search Trees. Later in the week, we wrote a lightweight DOM traversal library and implemented some classic sorting algorithms such as Bubble Sort (please don't ever use it) and Merge Sort. Then we explored time complexity & Big O notation, and spent the last day building the famous cellular automaton Game of Life.

WEEK 2

Introduction to Node finally happened - through building our own shell prompt that takes Unix-like commands (I noticed that this is actually a pattern at FSA - learning a library/concept by building it from scratch). Also discovered this awesome video. Built a basic Twitter clone (a bootcamp classic) to learn about HTTP fundamentals in Node.js and Express. Covered database basics such as SQL, Node-Postgres, schema design & relational databases. At the end of the week, we learned about managing async using Promises, which was hard to visualize and wrap my head around at first but eventually became one of my favorite philosophies in JS.

WEEK 3

Spent most of the week building a basic Wikipedia clone that utilizes Sequlize ORM, Mocha testing framework, Chai assertions, Sinon spies and Supertest HTTP agent. To gain a deeper understanding of Promises and its underlying machanics, we implemented our own A+ style Promise library from scratch. We also learned about some CSS design principles + layout systems and the flexbox model. Animations and Parallaxes were great fun as well, compared with building Promises library from scratch which was about as fun as it sounds...

WEEK 4

Tessel Hackathon was great fun! My team won one of the categories and we all got a nice waterbottle. On Tuesday, we learned to use webpack while building single page applications with a modular front-end. We spent most of the week building the SPA and using socket.io for real-time bidirectional event-based communication.

WEEK 5

It's finally time to learn React! The magical framework that makes building interative UIs a painless experience. We started by building a simple Spotify clone and managing states locally. Later in the week, we learned to use React Router and Redux + React-Redux for better state management through building a simple Slack clone. A lot of fun stuff this week.

WEEK 6

This was our last week for junior phase. We learned about user authentication data flow and how to enable persistent local/foreign login for a CRUD(Create Read Update Destroy) app. OAuth was great fun too - I was quite excited to learn how to utilize Google as an external provider and working with the Google Plus API.

CONCLUSION

Coding every day non-stop from 9 to 6 isn't easy, but I loved every minute of it. FSA does a very good job of throwing you in the deep end while also making sure you’re not (actually) drowning. What an amazing learning experience. I can't wait to dive into senior phase.