tech-learn-way-junior-full-stack-40k-dollars-annum
> I mentored a 22-year-old who received a remote job offer of a package of $40K annum for a Junior Full-Stack Web Developer position. It took him 3 months. > > 20+ key points he followed to achieve this ↓
## 1. 不要花过多时间找资源
I suggested he should follow specific resources for learning instead of too many.
Resources include books, articles, and video tutorials.
⬙ Few such resources are ❍ javascript. info ❍ freeCodeCamp ❍ Geeks 4 Geeks ❍ Programiz
## 2. 不再比较学位
⬘ During our first interaction, he stated "I am from a Tier-3 College".
⬙ My suggestions ❍ Stop demeaning yourself ❍ Don't waste time on what didn't happen ❍ Invest your time in learning whatever missed during graduation
## 3. 选择正确的职业道路
⬘ His major was not Computer Science. But during academics, he learned a few computer subjects.
⬙ I evaluated his skills and, suggested going for Web Development. Because of ❍ Good artistic/visual skill ❍ Average analytical skill
## 4. 在练习中学习
⬘ Learning by reading or, watching puts a concept in your brain for a few moments. ⬗ But by practicing, the concept remains forever. ⬙ During studying, try to form questions yourself.
## 5. 避免教程地狱以及FOMO(害怕失去)
⬘ Do not watch excess video resources. Read from blogs and, documentation as well. ⬙ Don't change your path with a FOMO (Fear of Missing out). Give your best whichever path you have chosen.
## 6. 尽早使用 Git
## 7. 简单的 HTML & CSS
➊ HTML Topics (Basics)
➀ HTML Page Structure ➁ Elements, Tags & Attributes ➂ Empty/Void Element ➃ Heading Elements h1 to h6 ➄ Paragraph Elements p, br etc. ➅ Container Elements div, span etc. ➆ Form Based Elements form, input, textarea, select, button, datalist etc. ➇ Text Semantics b, i, u, sub, sup, small, strong, em, q, abbr etc. ➈ Text Blocks blockquote, address ➉ Hyperlink ➀➀ Image alt, max-width, aspect-ratio ➀➁ Lists ordered, unordered ➀➂ Table ➀➃ Semantic Elements header, footer, nav etc ➀➄ id and, class attributes ➀➅ Including Stylesheets ➀➆ Including JavaScript Files ➀➇ Setting FavIcon ➀➈ Setting Title
➋ CSS Topics (Basics)
➀ Box Model ➁ selectors and, combinators ➂ border, margin, padding and, outline ➃ border-radius ➄ background ➅ colors simple, gradient, alpha transparency ➆ fonts ➇ display block, inline, inline-block etc. ➈ position relative, absolute etc. ➉ dimension top, left, height, width, max-width, aspect-ratio etc. ➀➀ float ➀➁ overflow ➀➂ z-index
➌ CSS Topics (Medium)
➀ Specificity ➁ pseudo classes, elements ➂ opacity ➃ filter ➄ clip-path ➅ mask ➆ transform ➇ media ➈ Flex Box Layout ➉ Grid Layout ➀➀ animation
➍ HTML Topics (Medium)
➀ figure ➁ audio ➂ video ➃ map ➄ object ➅ embed
➎ Advanced Topics
➀ SEO ➁ Accessibility ➂ Responsiveness ➃ Performance
✷ Notes
⬘ You can learn HTML & CSS in parallel. ⬗ For each HTML element, play with all its CSS properties. ⬙ The best approach would be to build a sample project along with learning. ⬖ Do not stop after this. At some point, learn JavaScript.
🏁 What's next?
⬘ You just built static web pages. You have to add behaviour to make it dynamic. Learn JavaScript (ideally when you are at Medium stage).
⬙ Learn about ❍ DOM ❍ Event Handlers ❍ AJAX ❍ Fetch API
## 8. JS 基础
💭 Before you go through this Thread
⬘ It's not going to be like typical roadmap. ⬖ No timelines are attached. Take your own time. Do not rush. Nothing gonna change if you finish 1 week or, 1 month late. ⬙ This is no spoon feeding. You have to practice hard to learn.
➊ Variables and, Datatypes
➀ Datatypes
- Primitives
- Literals ➟ Numeric ➟ Boolean ➟ String
➁ Variable ➟ Naming ➟ Declaration ➟ Assignment
✧ Special Topic ➟ Type Coercion/Conversion
➋ Operators
➀ Arithmetic Operators ➁ Comparison Operators ➂ Logical Operators ➃ Assignment Operators ➄ Typechecking Operators ➅ Bit-wise Operators (Optional) ➆ Ternary Operator
➌ Syntax
➀ Condition ➟ if else ➟ switch case
➁ Loop ➟ while ➟ do while ➟ for
➍ Function
➀ Function Declaration ➁ Function Expression ➂ Anonymous Function ➃ Arrow Function
✧ Special Topic: ➟ Variable Scope ➟ Hoisting ➟ Callback Function ➟ Closure
➎ Array
➀ Array Literal ➁ Array Creation ➂ Array.length ➃ Array methods ➄ Array Iteration
✧ Special Topic: ➟ Array Destructuring ➟ Array Spreading ➟ Array Sorting
➏ String
➀ String Literal ➁ String.length ➂ String methods
✧ Special Topic: ➟ String Template Literal
➐ Object
➀ Object Literal ➁ Accessing Object Properties ➂ Iterating through Objects (for…in)
✧ Special Topic: ➟ Object Destructuring ➟ Object Spreading
➑ Special Objects
➀ Number ➁ Boolean ➂ Set ➃ Map ➄ Math ➅ Date ➆ <mark>console</mark>
➒ JS Modules (ECMAScript Modules)
➀ import ➁ import {} ➂ export ➃ export default
➓ What next?
Based on what career you are choosing, you may have to study some (or, all) of below
➀ Async ➟ Promise API ➟ await async ➁ Object Oriented ➟ Class ➟ Prototype ➂ DOM ➃ Fetch API ➄ Client-side Storage ➟ Cookies ➟ Web Storage ➟ IndexedDB ➟ Cache API
🏁 Goal Post
Remember, it's not a competition that you have to finish 🥇🥈🥉
⬖ Learn with your own pace ⬘ Do practice for each lesson ⬗ Keep note of whatever you feel important ⬙ Save all your data in a safe storage (Git storage is preferred)
## 9. 构建一些小项目
⬘ Try to build small and, simple projects initially to make your fundamentals strong.
⬙ Get some small project ideas from here: https://twitter.com/swapnakpanda/status/1526906873831915520
## 10. 学习 TypeScript
## 11. 代码模块化
⬘ Learn to develop modular type code.
⬗ Instead of developing a monolithic huge code, try to segregate them into multiple pieces.
⬙ Smaller units are easy to maintain and, help in reducing network bandwidth.
## 12. 选择库、框架学习
## 13. 解决问题的技能
⬘ Full-Stack developers require to possess problem solving skills.
⬗ I told the knowledge of DSA is very important and, can be learned by only practicing.
⬙ I suggested starting with simple data structures and, algorithms.
https://twitter.com/swapnakpanda/status/1538869285522505728
## 14. Back-End with Node.js & Express
## 15. Database with MySQL(MariaDB) & MongoDB
## 16. 构建全栈项目
⬘ Using all the skills you achieved, build a few sample projects.
⬗ Host them using some free services like Vercel or, Netlify.
⬙ These projects would evaluate your skills. So, keep on improving them.
## 17. 个人主页
A portfolio website is like a passport. Recruiters could find a lot of details from this about you.
❍ Tell about yourself ❍ Brief about your projects, achievements ❍ Share your GitHub link ❍ Make it responsive ❍ Make it fast
## 18. 打造简历
A resume is one more important thing like the Portfolio website.
❍ Have a nice presentation ❍ Keep it short 'n' simple ❍ Use keywords like "Full Stack", "JavaScript", "React", "MERN" for more visibility ❍ Do not use too many fonts
## 19. 构建联系/链接
⬘ You may possess 1000 skills, but all in vain if you don't have many connections. Connections provide opportunities. ⬗ Using online mode, you can build connections rapidly. ⬙ Join one or more social media. Connect with people. Build relations.
## 20. 准备好接受失败
They said, "Failures are pillars of Success".
⬘ You may fail badly during the first few interviews. ⬗ Without getting demotivated, learn what recruiters are expecting. ⬙ Improve your skills, resume, portfolio, and projects.