The Complete Junior to Senior Web Developer Roadmap
-
Introduction
-
SSHBruno’s Request0sIntroduction to SSH0sSSH Command0sOptional Digital Ocean Set UpQuick Note SSH Key In Previous VideoResources SSH CommandSaving The Day Through SSH0sOptional Digital Ocean ServerHow SSH Works0sSymmetric Encryption0sAsymmetric Encryption0sResources Asymmetric EncryptionHashing0sPasswords Or SSH0sSSH Into A Server0sQuick Note SSH Into A ServerResources SSH Into A ServerExercise Set Up SSH on Github0sExtra Solution Set Up SSH on GithubSolution Set Up SSH on Github0sOptional Contributing To Open Source ProjectsSection Summary0sLearning GuidelineWeb Developer MonthlyLet’s Have Some Fun (+ Free Resources)
-
Performance Part 1Bruno’s Request0sIntroduction to Performance Part 10s3 Keys To Performance0sNetwork Performance0sImage File Formats0sResources Image File FormatsImage Optimizations0sImage Optimizations 20sExercise #1 – Media QueriesDelivery Optimizations0sResources Delivery OptimizationsExercise #2 – Network Optimizations0sSolution #2 – Network Optimizations0sCritical Render Path Introduction0sCritical Render Path 10sCritical Render Path 20sCritical Render Path 30sResources Async + DeferCritical Render Path 40sExercise #3 – Critical Render PathExercise #4 – Keiko Corp Website0sResources Keiko Corp WebsiteSolution Keiko Corp Website0sOptional Resource PrefetchingResources Performance ToolsHTTP20sResources HTTP2HTTP3Section Summary0sUnlimited Updates
-
OPTIONAL React + Redux + Module BundlingAngular vs React vs Vue vs Svelte0sIMPORTANT Thinking Like A Senior Developer0sOptional SectionBruno’s Request0sSection Overview0sDeep Dive Into This TopicUpdated Code For This SectionIntroduction to React & Robofriends BuildIntroduction To Redux And Webpack0sState Management0sWhy Redux0sUpdated Code for this SectionInstalling Redux0sRedux Toolkit0sRedux Toolkit ExampleRedux Actions And Reducers0sRedux Store And Provider0sRedux connect()0sRedux Middleware0sRedux Async Actions0sRedux Project Structures0sProject Files – ReduxPopular Tools For React + Redux0sModule Bundlers0sModern Build Systems in 2024Converting to Vite@Latest0sIntroduction To Webpack0sUpdate Babel 7 + ESlint + Webpack 5Webpack0sUpdating Libraries Babel 7 + ESlint0sQuick Fix Babel 7 PluginsResources Webpack ConfiguratorParcel0sParcel v2!Section Summary0s
-
Performance Part 2Bruno’s Request0sSection Overview0sUpdated Code For This SectionOptimizing Code0sCode Splitting Introduction0sExercise #1 – Code SplittingCode Splitting Part 10sES2020 Dynamic import()Code Splitting Part 20sCode Splitting Part 30sCode Splitting Part 40sExercise #2 – Code SplittingSolution React.lazy() Code Splitting0sReact Performance Optimizations0sResources React PerformanceReact Performance Optimizations 20sResources React Performance 2Optimizing Code Review0sResources Tree Shaking 101Progressive Web Apps0sOpt-In Service Worker in CRAResources Progressive Web AppsProgressive Web Apps Examples0sPWA – HTTPS0sResources PWA – HTTPSPWA – App Manifest0sResources PWA – App ManifestPWA – Service Workers0sUpdate for CRA v4 and React 17+PWA – Final Thoughts0sExercise #3 – Your Own PWAQuick Note Upcoming VideoDeploying Our React App0sService Worker Update0sSolution Part 1 – PWA0sSolution Part 2 – PWA0sSolution Files – PWAQuick Note Upcoming VideoOPTIONAL Converting Our App To PWA0sDeploying your PWA to the App StoreSection Summary0sCourse Check-In
-
TestingBruno’s Request0sSection Overview0sUpdated Code For This SectionTypes of Tests0sTesting Libraries0sNote The Next VideosUnit Tests0sIntegration Tests0sAutomation Testing0sFinal Note On Testing0sSetting Up Jest0sOur First Tests0sWriting Tests0sQuick Note Upcoming API Endpoint + ES6 ModulesAsynchronous Tests0sAsynchronous Tests 20sResources Jest Cheat SheetMocks and Spies0sExercise #1 – Testing With JestEnzyme vs React Testing LibraryIntroduction To Enzyme0sResources EnzymeQuick Note Empty SnapshotsSnapshot Testing0sSnapshot Testing + Code Coverage0sExercise #2 – Testing Stateful ComponentsTesting Stateful Components0sQuick Recap0sExercise #3 – Testing Connected ComponentsTesting Connected Components0sTesting Connected Components 20sExercise #4 – Testing All ComponentsTesting Reducers0sTesting Actions0sExercise #5 – Final TestsNote What Test is BestSection Summary0sImplement a New Life System
-
TypeScriptBruno’s Request0sSection Overview0sDynamic vs Static Typing0sWeakly vs Strongly Typed0sStatic Typing in Javascript0sTypescript Compiler0sResources Installing Node.jsResources Installing TypeScript CompilerTypeScript0sResources TypeScript In Your EditorTypeScript 20sTypeScript 30sTypeScriptTypeScript 40sTypeScript 50sTypeScript 60sResources Type Vs InterfaceTypeScript 70sResources Type AssertionTypeScript 80sTypeScript 90sTypeScript 100sDefinitelyTyped0sUpdate Create React App with TypeScript0s2 Ways To TypeScriptJust Watch [Old Way] – TypeScript In Robofriends0sJust Watch [Old Way] – TypeScript In Robofriends 20sTypeScript In Monsters RolodexFinal Exercise Adding TypeScriptA Little Joke0sSection Summary0s
-
SPA vs Server Side RenderingBruno’s Request0sSection Overview0sCSR vs SSR0sServer Side Rendering React0sNote SSR In ReactCSR vs SSR Part 20sSSR React Libraries0sStatic vs SSR vs CSR Gatsby.js vs Next.js vs React.js0sQuick Note Upcoming VideosSetting Up Next.js0sNext.js Pages0sClient Side Routing0sExercise #1 – Client Side vs Server Side RoutingShared Components0sDeep Dive Into NextJSDynamic Apps with Next.js0sExercise #2 – Updated Next.js FeaturesDeploying Next.js Apps0sUpdating To Latest Version Of Next.js0sExercise Updating To Latest Version Of Next.jsExercise #3 – SSR RobofriendsUnderstand JavaScript SEOSection Summary0s
-
SecurityBruno’s Request0sSection Overview0sStar Of Security0sExercise Imposter Syndrome0sInjections0sExercise #1 – InjectionsExercise #2 – Security FilesResources Installing PostgreSQLNote NPM Built In Audit3rd Party Libraries0sLogging0sHTTPS Everywhere0sXSS + CSRF0sExercise #3 – XSS + CSRFResources XSS + CSRFCode Secrets0sSecure Headers0sResources Secure HeadersAccess Control0sData Management0sResources Storing PasswordsDon’t Trust Anyone0sAuthentication0sExercise #4 – Optional HackingResources Personal SecuritySection Summary0s
-
Code AnalysisBruno’s Request0sSection Overview0sQuick Note Windows UsersQuick Note Updated APISetting Up Your Environment0sExercise #1 – SmartBrain AppOptional CWD – Installing PostgreSQL0sHow To Analyze Code0sExercise #2 – Analyze CodeExercise #3 – Multiple Face DetectionResources New Feature CommitSolution #3 – Multiple Face Detection0sSection Summary0sCustomizing Your App
-
DockerBruno’s Request0sSection Overview0sUpdated Code For This SectionDocker Containers0sInstalling Docker0sResources Installing DockerDockerfile0sResources DockerfileDocker Commands0sDockerfile 20sExercise #1 – Your First Docker ContainerQuick Note Docker ComposeDocker Compose0sResources Docker Compose CommandsDocker Compose 20sResources Docker VolumesDocker Compose 30sDocker Compose 40sResources PostgreSQL With DockerDocker Compose 50sDocker Compose 60sResources init.db FileDocker Compose 70sExercise #2 – Dockerize SmartBrain AppProject Files – DockerUpdate Docker NetworksSection Summary0s
-
Redis
-
Sessions + JWTSection Overview0sCookies vs Tokens0sResources Cookies vs TokensWhat We Are Building0sJWT0sExercise #1 – JWTProject Goals0sExercise #2 – Code AlongProfile Icon0sResources Profile IconProfile Dropdown0sResources setState() CallbackProfile Styling0sProfile Modal 10sProfile Modal 20sProfile Modal 30sProfile Modal 40sResources HTML EntitiesUpdating Profile 10sResources Updating ProfileUpdating Profile 20sUpdating Profile 30sUser Authentication0sSending The JWT Token0sQuick Note NPM RedisAdding Redis0sExercise #3 – Adding Redis to Docker ComposeSolution #3 – Adding Redis To Docker Compose0sStoring JWT Tokens0sRetrieving Auth Token0sClient Session Management0sResources Bearer TokenSession Sign In0sAuthorization Middleware0sFixing A Bug0sReviewing Our Code0sUpdating Our App0sOptional Why bcrypt-nodejs0sSection Summary0sExercise #4 – Improving SmartBrain
-
OPTIONAL AWSBruno’s Request0sSection Overview0sUpdated Code For This SectionAmazon Web Services0sDeep Dive Into AWSMonolithic vs Micro Services0sAmazon Lambda0sAmazon Lambda Dashboard0sQuick Note AWS LambdaServerless0sServerless 20sIAM0sResources IAMDeploying A Function0sDeploying A Function 20sDeploying A Function 30sQuick Bug Fix0sSection Summary0sExercise Your Own Lambda Function
-
Performance Part 3
-
CICDBruno’s Request0sSection Overview0sUpdated Code For This SectionContinuous Integration, Delivery, Deployment0sDeep Dive into CICDBuilding Great Software0sResources CI ToolsCircleCI0sContinuous Integration 10sContinuous Integration 20sExercise Your Own CI FlowBuilding Great Software 20sSection Summary0s
-
Extra Bits
-
The Final Video
-
Extras For Windows Users
-
Bonus AMA Video!
This is the course you’ve been looking for if you want to break out from being a Junior Developer, level up your skills, and earn a higher salary.
This is the follow-up course to Andrei’s extremely popular and top rated coding bootcamp.
You’ll get the exact steps and learn all of the most in-demand technical skills that you need to know to go from Junior to becoming a Senior Developer this year.
And the results speak for themselves.
Graduates of this course and Zero To Mastery are now working at Google, Tesla, Amazon, Apple, IBM, Uber, Facebook, Shopify + other top tech companies.
They are also working as top freelancers getting paid while working remotely around the world.
This can be you.
By enrolling today, you’ll also get to join our exclusive live online community classroom to learn alongside thousands of students, alumni, mentors, TAs and Instructors.
Most importantly, you will learn how to become a Senior Developer from an industry expert that has actual real-world experience working for top companies in both Silicon Valley and Toronto.
Why should you take this advanced programming course?
Andrei here… give me 5 minutes of your time to explain why I created this course.
No course like this exists out there because this is a really difficult topic to teach and to combine all of the technologies we cover into one course is a long and hard process.
That’s partially why most courses are just targeted to beginners.
But I don’t think people should settle for being a Junior Developer.
This is the hardest work I’ve ever done in my life. It took me months to plan, months to film, months to edit, and years of experience to create.
By the end of this course you will have a fully functioning image recognition app to show off in your portfolio.
And you’ll be able to add all of the skillsets listed below to your resume, impress your boss, and ace your next interview.
You will be taken from absolute zero to knowing how to:
- Use React and Redux to build complex and large applications
- Improve performance of any web application (Code Splitting, Load Balancing, Caching, Code Optimizations, and much more)
- Use SSH on a remote linux server and generate ssh keys
- Use Webpack and Parcel to set up a project and bundle your files
- Implement proper security and securing your apps like an expert
- Use AWS Lambda and Serverless architecture to manage applications that can handle millions of users
- Use Typescript on a project to have less bugs in your code
- Write all kinds of tests and learn about all the testing tools you can use to write better software
- Use Docker and docker compose to create containers for your services
- Use Sessions and JWT to manage user authentication and authorization
- Use Redis database for session management and caching
- Decide when to use Server Side Rendering vs Client Side Rendering for your projects
- Create a Progressive Web App that works offline like a native mobile app
- Implement Continuous Integration, Continuous Delivery, Continuous Deployment for your company and make your boss happy
Trust me, some of these may not mean anything to you now but they are the topics and skillsets that ALL Senior Developers know and can use.
Not only will you learn how to do these things, but most importantly, you will deeply understand why they exist and what problems they solve.
Why does that matter?
Because by truly understanding the “why”, you can speak intelligently about them in interviews even without a lot of experience using them.
And when asked by your boss, you will be trusted to take the lead on the project and implement them.
Here are 5 things that set this course apart from the rest:
1. Learn only the most in-demand skills for this year.
We won’t be using outdated technologies that a lot of courses online use.
Although still useful, outdated technologies are low-paying and demand for them is decreasing. In this course, you will learn the specific technologies that are the most in-demand in the industry right now.
This includes the tools and technologies used by the biggest tech companies like Google, Facebook, Amazon etc.
If you are serious about taking your career as a Web Developer to the next level this year, then this course is for you.
Here are the in-demand skills that you will become comfortable using and be able to put on your resume:
- SSH
- React
- Webpack + Parcel + Vite
- Node.js + Express
- Front End Performance Optimizations
- Back End Performance Optimization
- Progressive Web Apps
- Typescript
- Software Testing
- Server Side Rendering and Client Side Rendering
- Front End Security Optimizations
- Back End Security Optimizations
- Docker
- Redis
- Sessions + JWT
- Amazon Web Services (“AWS”)
- Serverless Architecture
- Continuous Integration
- Continuous Delivery
- Continuous Deployment
2. You will no longer be a Junior Developer.
The course is designed to level up your skills ABOVE a Junior Developer role. Some of my students who now work at some of the largest tech firms in the world as Senior Developers used this course as their roadmap.
After finishing this course, you will be able to apply for Intermediate and Senior Developer roles. You will no longer be a Junior Developer.
We won’t be taking any shortcuts in this course.
3. You’ll learn from someone (me 🙋♂️) that has actual real-world experience working in Silicon Valley and Toronto.
I have built large-scale applications. I’ve managed teams of developers. I am not an online marketer or a salesman. I’m a software developer who has worked directly with these technologies.
Since I started teaching my Complete Web Developer Coding Bootcamp, I realized that there are so many courses to help beginners.
My students kept asking me where they could keep learning more advanced topics. There wasn’t much available. So I created this course to fill that gap for them.
Unfortunately, most courses out there (that are actually affordable) are:
- Taught by teachers with no real-world work experience or…
- Are super long and boring, teaching you outdated topics or things that don’t matter to get hired or…
- Don’t give you a clear step-by-step roadmap that pushes you and challenges you, they just make you follow along, watching someone else code… this is useless to you!
There is so much information out there, so many opinions, and so many ways of doing things. Unless you have spent the last few years working with these technologies in a company, you will never fully understand.
This course is the answer to that exact problem.
4. Your time is valuable.
This course is the accumulation of all of my years working in the industry, learning, and teaching programming to thousands of people around the world.
I have gone through literally hundreds of coding books, online tutorials, and bootcamps. I’ve experienced the frustration of wasting time on incomplete and outdated tutorials.
I’ve interviewed candidates. I’ve been interviewed. I know what companies are looking for and what separates senior from junior candidates.
I’ve done all of this, so that you don’t have to. Your time is valuable.
I’ve condensed only the most important and up-to-date information and the best way to learn it all into a step-by-step roadmap to becoming a superstar Web Developer.
P.S. ~20% of Zero To Mastery students are people currently taking full-tme coding bootcamps (and have spent $8,000+ 👎) or are full-time computer science students. But they are still taking this course and our other Zero To Mastery courses.
I’ll let you draw your own conclusion!
5. We have a thriving online community so you really feel like you are part of a classroom and not just watching videos by yourself.
You will have a chance to communicate with fellow students, work on group projects together, and contribute to open source projects. And anytime you have a question, you can ask and get help right away (including from myself).
If you succeed in this course, that is my success as well. Therefore, I will be there every step of the way helping you understand concepts and answering any questions you have.
Active. Thriving. Supportive. Helpful. Friendly. Motivating. Essential.
These are just a few of the words students use to describe the ZTM Developer Community Discord which also happens to be one of the biggest and most active developer communities on Discord.
6. Have fun while learning.
Sounds crazy right?!
Like many online courses, you will be taken through a series of videos and exercises.
But how this course is so different is that we follow a storyline where you are hired by Keiko Corp. A fast-growing tech company that has two products which definitely need some work.
Almost like a video game, in each section of the course, you will solve different problems for Keiko Corp. which mimic real life scenarios you will encounter as a Senior Developer.
Why learn all these topics? Why bother upgrading your skills?
Because in this day and age, just being a Junior Developer won’t make you happy.
You want to feel important, smart, and admired at work.
You want to be able to make big decisions.
I’m going to help you get there. I guarantee that by the end of this course, you will be able to grow in your role, have more confidence, earn more respect, and command a higher salary.
What's included
- 37 hours on-demand video
- 5 articles
- 40 downloadable resources
- Access on mobile and TV
- Certificate of completion