The Complete Junior to Senior Web Developer Roadmap (2019)

The Complete Junior to Senior Web Developer Roadmap (2019)
The Complete Junior to Senior Web Developer Roadmap (2019)
English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 33h 55m | 19.6 GB

Go from Junior Developer to Senior Developer. Learn all the technical skills Senior Web Developers know in 2019!

This is the tutorial you’ve been looking for to no longer be a junior developer, level up your skills, and earn a higher salary. This extensive course doesn’t just cover a small portion of the industry. This covers everything you need to know to go from junior developer, to learning the in-demand technical skills that some of the top developers in the industry know so you can become a senior developer this year.

You will also get access to our private online chat community with thousands of developers sharing tips and tricks, and helping each other through the course, while also getting advice from graduates who have moved on to senior developer positions.

I guarantee you that you won’t find a course that is as comprehensive, up to date, and better quality, than this tutorial. You will be guided in your journey to become an admired and respected Senior Developer one day.

This is the hardest work I have ever done in my life, and it took me months to plan, months to film, months to edit, and years of experience to create. 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 hard process.

By the end of this course you will have a fully functioning image recognition app to show off on your portfolio. More importantly, you will be able to implement and add the below skillsets to your resume, impress your boss, and ace your next interview (Trust me, some of these may not mean anything to you now, but they are topics that ALL Senior Developers know). 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 4 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.

The above skillsets are exactly what Senior Developers know and can use in terms of their technical skills. Not only will you understand how to do these things, but most importantly, you will deeply understand why they exist and what problems they solve so that when asked in an interview, you can speak intelligently about them, or when asked by your boss, you can take the lead on the project and implement them.

Here is what sets this course apart from the rest:

  • There is no wasted time here. 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. These include tools and technologies used by the biggest tech companies like Google, Facebook, Amazon, etc… It’s geared specifically for people that want to excel in their career as a web developer in 2019.
  • After finishing this course, you will be able to apply for intermediate to senior developer roles. You will no longer be a junior developer. We won’t be taking any shortcuts in this course. You will be taken through everything I have learned over the many years coding while managing projects and people for some of the largest tech firms.
  • This course is taught by an instructor who has worked in Silicon Valley, and one of the top tech consulting companies in Canada. I have built large scale applications, managed projects and people, but most importantly, I have worked directly with these technologies. I am not an online marketer or a salesman. I am a senior software developer who loves programming and believes that there needs to be a course out there that actually teaches valuable modern skills.
  • Your time is valuable. You want a course that outlines the best way to learn the topic, in simple and well explained way, so that you fully understand the content instead of just watching somebody on your screen code. I have taken the best pieces, the best methods, from experience as well as from other experts, and condensed everything so that you can learn in the most efficient way possible. 50 hours of videos doesn’t mean much if the instructor isn’t engaging or focuses on outdated topics.
  • We have a thriving online chat 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. Anytime you have a question you can ask in the chat and someone will surely be able to help you right away including myself.
  • The course is designed to level up your skills ABOVE a Junior Developer role. My previous course The Complete Web Developer in 2019: Zero to Mastery is the highest rated developer course on Udemy, and one of the fastest growing. I’ve helped students who now work at some of the largest tech firms in the world as developers.

In this course, you will be taken through online videos and exercises. It will follow a storyline where you are hired by Keiko Corp. They are a fast growing tech company that has two products which definitely need some work. Each section of the course will solve different problems for this company which mimic real life scenarios you will encounter as a senior developer.

You will become comfortable using the below skills and you will be able to put these on your resume:

  • SSH
  • React + Redux
  • Webpack4 + Parcel
  • 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
  • Serverless Architecture
  • Continuous Integration
  • Continuous Delivery
  • Continuous Deployment

This course is the accumulation of all of my years working, learning, and teaching coding, and all of the frustrations and incomplete information I have encountered along the way. There is so much information out there, so many opinions, and so many ways of doing things, that unless you have spent the past years working with these technologies in a company, you will never fully understand. So this course is the answer to that exact problem. I have gone through thousands of coding books and online tutorials and bootcamps and have worked and consulted on some really big projects. I have worked with these tools on real applications. Throughout the years I have taken notes on what has worked, and what hasn’t and I’ve created this course to narrow down the best way to learn and the most relevant information for you to become a superstar web developer.

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.

I am 100% confident that you won’t find a course like this out there that will help you build the strong foundations for you to start a new career or to upgrade your skills and become a top level developer. We’re not going to be building simple todo applications and cat image sliders. We are going to learn actual practical skills that will put you above and beyond the skillset of the average developer.

Why do we teach the above? Why did we pick these tools? 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. With this course, you will be able to grow in your role and command a higher salary. I am teaching you these topics because these are the things you should know in 2019 so that you are miles ahead of the rest, because these are the skills used by the top tech firms around the world.

Make this the year that you took a risk, you learned highly in demand skills, you had new experiences, and you received new opportunities. I hope you join me in this journey. See you inside!

Table of Contents

Introduction
1 Introduction
2 Curriculum Overview
3 Join Our Online Classroom!
4 Meet The Community
5 First Day Of Work
6 Before You Get Started
7 Don’t Be A Junior Developer

SSH
8 Bruno’s Request
9 Introduction to SSH
10 SSH Command
11 Resources: SSH Command
12 Saving The Day Through SSH
13 Optional: Digital Ocean Set Up
14 Optional: Digital Ocean Server
15 How SSH Works
16 Symmetric Encryption
17 Asymmetric Encryption
18 Resources: Asymmetric Encryption
19 Hashing
20 Passwords Or SSH?
21 SSH Into A Server
22 Quick Note: SSH Into A Server
23 Resources: SSH Into A Server
24 Exercise: Set Up SSH on Github
25 Extra Solution: Set Up SSH on Github
26 Solution: Set Up SSH on Github
27 Section Summary

Performance Part 1
28 Bruno’s Request
29 Introduction to Performance Part 1
30 3 Keys To Performance
31 Network Performance
32 Image File Formats
33 Resources: Image File Formats
34 Image Optimizations
35 Image Optimizations 2
36 Exercise: #1 – Media Queries
37 Delivery Optimizations
38 Resources: Delivery Optimizatons
39 Exercise: #2 – Network Optimizations
40 Solution: #2 – Network Optimizations
41 Critical Render Path Introduction
42 Critical Render Path 1
43 Critical Render Path 2
44 Critical Render Path 3
45 Critical Render Path 4
46 Exercise: #3 – Critical Render Path
47 Exercise: #4 – Keiko Corp Website
48 Resources: Keiko Corp Website
49 Solution: Keiko Corp Website
50 Optional: Resource Prefetching
51 Resources: Performance Tools
52 HTTP/2
53 Resources: HTTP/2
54 Section Summary

React + Redux + Module Bundling
55 Bruno’s Request
56 Section Overview
57 Angular vs React vs Vue
58 Learning Guideline
59 Quick Note About React
60 CWD2019: Introduction To React.js
61 CWD2019: create-react-app
62 CWD2019: create-react-app 2
63 CWD2019: Your First React Component
64 CWD2019: Building A React App 1
65 CWD2019: Building A React App 2
66 CWD2019: Building A React App 3
67 CWD2019: Styling Your React App
68 CWD2019: Building A React App 4
69 CWD2019: Building A React App 5
70 CWD2019: Building A React App 6
71 Project Files
72 CWD2019: React Review
73 Error Boundary In React
74 Introduction To Redux And Webpack
75 State Management
76 Why Redux?
77 Installing Redux
78 Redux Actions And Reducers
79 Redux Store And Provider
80 Redux connect()
81 Redux Middleware
82 Redux Async Actions
83 Redux Project Structures
84 Project Files – Redux
85 Popular Tools For React + Redux
86 Module Bundlers
87 Introduction To Webpack
88 Update: Babel 7 + ESlint
89 Webpack 4
90 Updating Libraries: Babel 7 + ESlint
91 Quick Fix: Babel 7 Plugins
92 Resources: Webpack 4 Configurator
93 Parcel
94 Section Summary

Performance Part 2
95 Bruno’s Request
96 Section Overview
97 Optimizing Code
98 Resource: Contributing To Open Source Projects
99 Code Splitting Introduction
100 Exercise: #1 – Code Splitting
101 Code Splitting Part 1
102 Code Splitting Part 2
103 Code Splitting Part 3
104 Resources: Async + Defer
105 Code Splitting Part 4
106 Exercise: #2 – Code Splitting
107 React Performance Optimizations
108 Resources: React Performance
109 React Performance Optimizations 2
110 Resources: React Performance 2
111 Optimizing Code Review
112 Resources: Tree Shaking 101
113 Progressive Web Apps
114 Resources: Progressive Web Apps
115 Progressive Web Apps Examples
116 PWA – HTTPS
117 Resources: PWA – HTTPS
118 PWA – App Manifest
119 Resources: PWA – App Manifest
120 PWA – Service Workers
121 Resources: PWA – Service Workers
122 PWA – Final Thoughts
123 Exercise: #3 – PWA
124 Deploying Our React App
125 Solution Part 1 – PWA
126 Solution Part 2 – PWA
127 Solution Files – PWA
128 Section Summary

Testing
129 Bruno’s Request
130 Section Overview
131 Types of Tests
132 Testing Libraries
133 Note: The Next Videos
134 Unit Tests
135 Integration Tests
136 Automation Testing
137 Final Note On Testing
138 Setting Up Jest
139 Our First Tests
140 Writing Tests
141 Asynchronous Tests
142 Asynchronous Tests 2
143 Resources: Jest Cheat Sheet
144 Mocks and Spies
145 Exercise: #1 – Testing With Jest
146 Note: Testing React Apps
147 Introduction To Enzyme
148 Resources: Enzyme
149 Snapshot Testing
150 Snapshot Testing + Code Coverage
151 Exercise: #2 – Testing Stateful Components
152 Testing Stateful Components
153 Quick Recap
154 Exercise: #3 – Testing Connected Components
155 Testing Connected Components
156 Testing Connected Components 2
157 Exercise #4 – Testing All Components
158 Testing Reducers
159 Testing Actions
160 Exercise: #5 – Final Tests
161 Note: What Test is Best?
162 Section Summary

TypeScript
163 Bruno’s Request
164 Section Overview
165 Dynamic vs Static Typing
166 Weakly vs Strongly Typed
167 Static Typing In Javascript
168 TypeScript Compiler
169 Resources: Installing Node.js
170 Resources: Installing TypeScript Compiler
171 TypeScript
172 Resources: TypeScript In Your Editor
173 TypeScript 2
174 TypeScript 3
175 Resources: TypeScript Types
176 TypeScript 4
177 TypeScript 5
178 TypeScript 6
179 Resources: Type Vs Interface
180 TypeScript 7
181 Resources: Type Assertion
182 TypeScript 8
183 TypeScript 9
184 TypeScript 10
185 DefinitelyTyped
186 Exercise: #1 – TypeScript In Robofriends
187 Resources: TypeScript In Robofriends
188 Solution: #1 – TypeScript In Robofriends
189 Solution Files – TypeScript In Robofriends
190 A Little Joke
191 Section Summary

SPA vs Server Side Rendering
192 Bruno’s Request
193 Section Overview
194 CSR vs SSR
195 Server Side Rendering React
196 Note: SSR In React
197 CSR vs SSR Part 2
198 SSR React Libraries
199 Setting Up Next.js
200 Next.js Pages
201 Client Side Routing
202 Exercise: #1 – Client Side vs Server Side Routing
203 Shared Components
204 Dynamic Apps with Next.js
205 Deploying Next.js Apps
206 Exercise: #2 – SSR Robofriends
207 Section Summary

Security
208 Bruno’s Request
209 Section Overview
210 Star Of Security
211 Injections
212 Exercise: #1 – Injections
213 Exercise: #2 – Security Files
214 Resources: Installing PostgreSQL
215 3rd Party Libraries
216 Note: NPM v6
217 Logging
218 HTTPS Everywhere
219 XSS + CSRF
220 Exercise: #3 – XSS + CSRF
221 Resources: XSS + CSRF
222 Code Secrets
223 Secure Headers
224 Resources: Secure Headers
225 Access Control
226 Data Management
227 Resources: Storing Passwords
228 Don’t Trust Anyone
229 Authentication
230 Exercise: #4 – Optional Hacking
231 Resources: Personal Security
232 Section Summary

Code Analysis
233 Bruno’s Request
234 Section Overview
235 Setting Up Your Environment
236 Exercise: #1 – SmartBrain App
237 Optional: CWD2019 – Installing PostgreSQL
238 How To Analyze Code
239 Exercise: #2 – Analyze Code
240 Exercise: #3 – Multiple Face Detection
241 Resources: New Feature Commit
242 Solution: #3 – Multiple Face Detection
243 Section Summary

Docker
244 Bruno’s Request
245 Section Overview
246 Docker Containers
247 Installing Docker
248 Resources: Installing Docker
249 Dockerfile
250 Resources: Dockerfile
251 Docker Commands
252 Dockerfile 2
253 Exercise: #1 – Your First Docker Container
254 Quick Note: Docker Compose
255 Docker Compose
256 Resources: Docker Compose Commands
257 Docker-Compose 2
258 Resources: Docker Volumes
259 Docker Compose 3
260 Docker Compose 4
261 Resources: PostgreSQL With Docker
262 Docker Compose 5
263 Docker Compose 6
264 Resources: init.db File
265 Docker Compose 7
266 Exercise: #2 – Dockerize SmartBrain App
267 Project Files – Docker
268 Update: Docker Networks
269 Section Summary

Redis
270 Bruno’s Request
271 Section Overview
272 Quick Note About Next Video
273 CWD2019: Introduction To Databases
274 Installing Redis
275 Resources: Installing Redis
276 Redis Commands
277 Redis Data Types
278 Redis Hashes
279 Redis Lists
280 Redis Sets + Sorted Sets
281 Section Summary

Sessions + JWT
282 Section Overview
283 Cookies vs Tokens
284 Resources: Cookies vs Tokens
285 What We Are Building
286 JWT
287 Exercise: #1 – JWT
288 Project Goals
289 Exercise: #2 – Code Along
290 Profile Icon
291 Resources: Profile Icon
292 Profile Dropdown
293 Resources: setState() Callback
294 Profile Styling
295 Profile Modal 1
296 Profile Modal 2
297 Profile Modal 3
298 Resources: HTML Entities
299 Updating Profile 1
300 Resources: Updating Profile
301 Updating Profile 2
302 Updating Profile 3
303 User Authentication
304 Sending The JWT Token
305 Adding Redis
306 Exercise: #3 – Adding Redis to Docker Compose
307 Solution: #3 – Adding Redis To Docker Compose
308 Storing JWT Tokens
309 Retrieving Auth Token
310 Client Session Management
311 Resources: Bearer Token
312 Session Sign In
313 Authorization Middleware
314 Fixing A Bug
315 Reviewing Our Code
316 Section Summary
317 Exercise: #4 – Improving SmartBrain

AWS
318 Bruno’s Request
319 Section Overview
320 Amazon Web Services
321 Monolithic vs Micro Services
322 Amazon Lambda
323 Amazon Lambda Dashboard
324 Quick Note: AWS Lambda
325 Serverless
326 Serverless 2
327 IAM
328 Resources: IAM
329 Deploying A Function
330 Deploying A Function 2
331 Deploying A Function 3
332 Quick Bug Fix
333 Section Summary
334 Exercise: Your Own Lambda Function

Performance Part 3
335 Bruno’s Request
336 Section Overview
337 CDNs
338 GZIP
339 Database Scaling
340 Caching 1
341 Caching 2
342 Caching 3
343 Resources: Caching
344 Load Balancing
345 Nginx 1
346 Exercise: Load Testing Your Load Balancer
347 Nginx 2
348 Resources: Nginx
349 Section Summary

CI/CD
350 Bruno’s Request
351 Section Overview
352 Continuous Integration, Delivery, Deployment
353 Building Great Software
354 Resources: CI Tools
355 CircleCI
356 Continuous Integration 1
357 Continuous Integration 2
358 Exercise: Your Own CI Flow
359 Building Great Software 2
360 Section Summary

Extra Bits
361 Section Overview
362 Complexity vs Simplicity
363 NPM Is Not Your Friend
364 Learn To Learn
365 Start With Why
366 Endorsements On LinkedIN

The Final Video
367 Become an Alumni
368 The One You Have Been Waiting For
369 Thank You

Extras: For Windows Users
370 Introduction From Wolfgang
371 Installing NodeJs for Windows
372 Installing PostgreSQL for Windows
373 Set Up PostgresSQL for CMD, Using PgAdmin

Bonus
374 Coupon Codes