My Intensive Program to Level Up and Become an better Front-End Engineer
Since I made an intensive plan for myself to level up and ace technical coding interviews, I decided to share it with you. Sometimes you just need to see the plan unfold to get started, so I’ll be happy if it can be of use to anyone.
I needed a program that would really get me ready for code interviews, that I could follow while working a full-time job, and not very expensive.
It was important to me that the program be intensive: I find that it’s easier to build and keep momentum in short bursts of massive action than to dabble for too long. I am more of a sprinter, but of course if you are of the marathonian type, you can easily spread this program over a longer period of time to fit your learning style.
I also purposefully chose several overlapping resources for each course: learning from a variety of medias (text, video) and being exposed to different ways of presenting a concept helps grab the content a lot better, not to mention the demonstrated benefits of repetition.
THE PROGRAM (120 days)
I am planning to work a minimum of 3 hours a day, with one mandatory coding exercise every day at the beginning of each session, that I will push on Github.
Here is the list of the resources I will use along the program:
Free Learning Apps
You will have to create an account on the majority of them to access the content
Subscription-Based Learning Apps
Front-End Masters (33€ / month, you can cancel anytime)
PluralSight (25€ / month, you can cancel anytime)
Wait for their frequent big sales where each course is 10$
Free Exercise / Coding Interview Apps
DETAILED PLANNING (120 days)
Exercises (1 per day for 120 days):
Objects & Prototypal Inheritance
JSON, XML & APIs
- Udemy: The Web Developer BootCamp: Section 25 “Working with APIs”, Lecture 237 “JSON and XML”
- The Coding Train: Introducing Regular Expressions Series
Advanced DOM Manipulation
- Udemy: The Web Developer BootCamp, Section 14 “Advanced DOM Manipulation”
- DOM Enlightenment: Chapters 1 to 10
- Philip Roberts: “What the heck is the Event Loop Anyway?”
- DOM Enlightenment: Chapter 11
- FreeCodeCamp: Section “jQuery”
- CodeSchool: Try jQuery
- Udacity: Introduction to Ajax
- FreeCodeCamp: JSON APIs and Ajax
Front-End Data Storage
- Dive into HTML5: Chapter 7 “The past, present and future of local storage for web applications”
- PluralSight: Rapid ES6 Training
Object-Oriented Programming in JS
Software engineering & CS basics
- Viking Code School Prep Work: Chapter “Basic Prep Work”, Section 2 “Software Engineering Basics”
- FrontEndMasters: Workshop “Four Semesters of Computer Science in Six Hours”
- Brilliant.org: Computer Science Complete Course
- FreeCodeCamp: “Computer Basics”
- Simple Programmer: Approaching problems, breaking it down
- FreeCodeCamp: “Big O Notation”
- CodeCademy: Big O
Algorithm and Data Structures
- Free Code Camp: Algorithm Scripting (Beginner, Intermediate and Advanced)
JS Design Patterns
III. Front-end Development Tools & Architecture (23 days)
JS templating (Handlebars.js)
Tooling & Automation
JS Module loaders / bundlers (Webpack)
- Udemy: WebPack 2: the Complete Developer Guide
Principles of a Single Page Application
- Making a Single Page App Without a Framework
Architecting Front-End Web Applications
Testing for Front-End Developers
High Performing Code in JS
IV. React & Redux (16 days)
- TylerMcGinnis: React Fundamentals
- Udemy: Modern React with Redux
- PluralSight: Building Applications with React and Redux in ES6
V. Go further (14 days)
Progressive Web Apps
- A Beginner’s Guide to Progressive Web Apps
- Udacity: Intro to Progressive Web Apps
- PluralSight: Getting Started with Progressive Web Apps
Site Performance Optimization
- PluralSight: A Better CSS: LESS and SASS
- PluralSight: SEO Fundamentals
Get the job
- PluralSight: Preparing for a Job Interview
- Viking Code School Prep Work: Chapter “Getting Hired Phase 1”
- PluralSight: Designing a Killer Job Search Strategy
- PluralSight: Get Involved!
While learning, be sure to write and reproduce most of the code you will encounter, and to practice as much as possible.
Push as much code as you can on Github: having long streaks of public commits for extended periods of time says a lot about your grit and passion for code. It will reflect very well when you get to the phase of the real interviews.
Don’t be a perfectionist: be clever about what is most suited to your needs. Spending 10 days on the quirks of Regular Expressions will not be very useful if you don’t intend to use them in the coming weeks. Understand what they are and move on: when the necessity to use them comes you will have the opportunity to go deeper and learn all the details about them.
If you want to join me in this program and share your best resources for learning, use the hashtag #120DaysBetterDev on Twitter: let’s encourage each other and code together!