Engrain by ByteRush

Path F 131 concepts · 26 weeks at 12–15 h a week · 20 ready now

Zero to job

From no code to your first frontend job. Concepts are in study order: everything a concept needs comes before it.

Make this my path

1 Foundations 60 concepts

  1. FND.01.01How this site teaches: retrieval, spacing, worked examplesCoreBeginnerBeing written
  2. FND.01.02Setting up a study plan and computerCoreBeginnerBeing written
  3. FND.02.01Clients, servers and the internetCoreBeginnerBeing written
  4. FND.02.02URLs and domain names (DNS)CoreBeginnerBeing written
  5. FND.02.03HTTP: requests and responsesCoreBeginnerBeing written
  6. FND.02.04From URL to pixels (beginner version)CoreBeginnerBeing written
  7. FND.02.05Hosting and deploying a pageBeginnerBeing written
  8. FND.03.01What a shell is and first commandsCoreBeginnerBeing written
  9. FND.03.02Files, pipes and finding thingsBeginnerBeing written
  10. FND.03.03Environment, PATH and installing toolsCoreBeginnerBeing written
  11. FND.04.01What version control is; first commitsCoreBeginnerBeing written
  12. FND.04.02Branches and mergingCoreBeginnerBeing written
  13. FND.04.03GitHub: remotes, pull requests, reviewsCoreBeginnerBeing written
  14. FND.04.04Undoing things safelyJuniorBeing written
  15. FND.05.01Node.js: JavaScript outside the browserCoreBeginnerBeing written
  16. FND.05.02npm, package.json and dependenciesCoreBeginnerBeing written
  17. FND.05.03Dev servers, bundlers and build tools (first look)BeginnerBeing written
  18. FND.07.01Elements, attributes and document structureCoreBeginnerBeing written
  19. FND.06.01Elements and Styles panelsCoreBeginnerBeing written
  20. FND.09.01Values, types and variablesCoreBeginnerBeing written
  21. FND.09.02Operators and conditionsCoreBeginnerBeing written
  22. FND.09.03LoopsCoreBeginnerBeing written
  23. FND.06.02Console and Sources: debugging JavaScriptCoreBeginnerBeing written
  24. FND.06.03Network and Application panelsCoreBeginnerBeing written
  25. FND.06.04Lighthouse and Performance panel (first look)JuniorBeing written
  26. FND.07.02Text, links, images and listsCoreBeginnerBeing written
  27. FND.07.03Semantic HTML and landmarksCoreBeginnerBeing written
  28. FND.07.04Forms and inputsCoreBeginnerBeing written
  29. FND.07.05Tables and mediaBeginnerBeing written
  30. FND.08.01Selectors, properties and the cascade (beginner)CoreBeginnerBeing written
  31. FND.08.02The box model, units and coloursCoreBeginnerBeing written
  32. FND.08.03Display, positioning and flowCoreBeginnerBeing written
  33. FND.08.04FlexboxCoreBeginnerBeing written
  34. FND.08.05GridCoreBeginnerBeing written
  35. FND.08.06Responsive design basicsCoreBeginnerBeing written
  36. FND.09.04FunctionsCoreBeginnerBeing written
  37. FND.09.05ArraysCoreBeginnerBeing written
  38. FND.09.06Objects and JSONCoreBeginnerBeing written
  39. FND.09.07Strings and common methodsBeginnerBeing written
  40. FND.09.08Errors and debugging mindsetCoreBeginnerBeing written
  41. FND.10.01The DOM: selecting and changing elementsCoreBeginnerBeing written
  42. FND.10.02Events and listenersCoreBeginnerBeing written
  43. FND.10.03Callbacks and timersCoreBeginner8 min
  44. FND.10.04Promises and async/await (first look)CoreBeginnerBeing written
  45. FND.10.05fetch and JSON APIsCoreBeginnerBeing written
  46. FND.10.06Storing data in the browser (first look)CoreBeginnerBeing written
  47. FND.11.01Breaking problems downCoreBeginnerBeing written
  48. FND.11.02Debugging as a methodCoreBeginnerBeing written
  49. FND.12.01Why React; components and JSXCoreJuniorBeing written
  50. FND.12.02Props and state with useStateCoreJuniorBeing written
  51. FND.12.03Events and forms in ReactCoreJuniorBeing written
  52. FND.12.04useEffect and fetching dataCoreJuniorBeing written
  53. FND.12.05Routing with React RouterCoreJuniorBeing written
  54. FND.13.01Why types; basic annotationsCoreJuniorBeing written
  55. FND.13.02Object types, unions and narrowing (first look)CoreJuniorBeing written
  56. FND.13.03TypeScript with ReactCoreJuniorBeing written
  57. FND.14.01What junior frontend jobs ask forCoreJuniorBeing written
  58. FND.14.02Portfolio and GitHub profileCoreJuniorBeing written
  59. FND.14.03First resume and applyingCoreJuniorBeing written
  60. FND.14.04Junior interviews: what to expectCoreJuniorBeing written

2 JavaScript in depth 20 concepts

  1. JS.01.01Call stack and run-to-completionCoreJunior9 min
  2. JS.01.02Tasks (macrotasks) and the task queueCoreJunior9 min
  3. JS.01.03Microtasks: promises, queueMicrotask, MutationObserverCoreJunior10 min
  4. JS.02.01Lexical scope and the scope chainCoreJunior9 min
  5. JS.02.02Hoisting and the temporal dead zoneCoreJunior9 min
  6. JS.02.03Closures: functions that rememberCoreJunior10 min
  7. JS.02.05Strict mode and the global objectCoreJunior8 min
  8. JS.03.01The four rules of `this`CoreJunior10 min
  9. JS.03.02Arrow functions and lexical `this`CoreJunior9 min
  10. JS.04.01Objects, prototypes and the prototype chainCoreJunior9 min
  11. JS.04.02Constructor functions and `new`CoreJunior10 min
  12. JS.04.03ClassesCoreJunior11 min
  13. JS.05.01Primitive types and `typeof`CoreJunior8 min
  14. JS.06.03Shallow vs deep copyCoreJunior9 min
  15. JS.07.01Higher-order functions and compositionCoreJunior9 min
  16. JS.07.04Recursion and the stackCoreJunior10 min
  17. JS.08.01Destructuring, spread, rest and defaultsCoreJunior9 min
  18. JS.08.02Optional chaining, nullish coalescing, logical assignmentCoreJunior8 min
  19. JS.10.01ES modulesCoreJunior10 min
  20. JS.16.07Array/collection utilitiesCoreJuniorBeing written

3 TypeScript 10 concepts

  1. TS.01.01What the compiler does: types are erasedCoreJuniorBeing written
  2. TS.01.02tsconfig and the strict familyCoreJuniorBeing written
  3. TS.01.03any, unknown, never and voidCoreJuniorBeing written
  4. TS.02.01Unions, literals and narrowingCoreJuniorBeing written
  5. TS.03.01Typing functionsCoreJuniorBeing written
  6. TS.03.02Generics: the basicsCoreJuniorBeing written
  7. TS.04.01Interfaces vs type aliasesCoreJuniorBeing written
  8. TS.04.02Optional, readonly, index signatures and RecordCoreJuniorBeing written
  9. TS.06.01Built-in utility typesCoreJuniorBeing written
  10. TS.08.01Typing components and propsCoreJuniorBeing written

4 The web platform 5 concepts

  1. WEB.03.01Capture, target and bubble phasesCoreJuniorBeing written
  2. WEB.03.02Event delegation at scaleCoreJuniorBeing written
  3. WEB.05.02localStorage, sessionStorage and IndexedDBCoreJuniorBeing written
  4. WEB.10.03User preferencesCoreJuniorBeing written
  5. WEB.11.01Transitions, keyframes and performant propertiesCoreJuniorBeing written

5 Quality 6 concepts

  1. QLT.01.04Optimising CLSCoreJuniorBeing written
  2. QLT.02.01ImagesCoreJuniorBeing written
  3. QLT.03.01Why accessibility; WCAG structure and lawCoreJuniorBeing written
  4. QLT.03.03Keyboard access and focus managementCoreJuniorBeing written
  5. QLT.03.04Colour, contrast, text and motionCoreJuniorBeing written
  6. QLT.06.02Unit and component tests with Vitest and Testing LibraryCoreJuniorBeing written

6 Data structures & algorithms 14 concepts

  1. DSA.01.01What DSA interviews test and how to practiseCoreBeginnerBeing written
  2. DSA.01.02JavaScript for DSACoreBeginnerBeing written
  3. DSA.01.03Recursion for problem solvingCoreJuniorBeing written
  4. DSA.02.01Big-O, Big-Θ, Big-Ω in plain wordsCoreJuniorBeing written
  5. DSA.02.02Space complexity, recursion and amortised costCoreJuniorBeing written
  6. DSA.03.01Arrays and stringsCoreJuniorBeing written
  7. DSA.03.02Hash maps and setsCoreJuniorBeing written
  8. DSA.03.03Stacks, queues and dequesCoreJuniorBeing written
  9. DSA.03.04Linked listsCoreJuniorBeing written
  10. DSA.03.05Trees and binary search treesCoreJuniorBeing written
  11. DSA.04.01Elementary sorts and stabilityCoreJuniorBeing written
  12. DSA.04.03Sorting in JavaScriptCoreJuniorBeing written
  13. DSA.06.01Pattern 1: Two pointersCoreJuniorBeing written
  14. DSA.06.04Pattern 4: Hashing and countingCoreJuniorBeing written

7 Machine coding & LLD 4 concepts

  1. MC.02.01Toggles, counters, accordions and tabsCoreJuniorBeing written
  2. MC.02.02Progress bars, timers and stopwatchesCoreJuniorBeing written
  3. MC.02.03Lists, tables and filtersCoreJuniorBeing written
  4. MC.02.04Forms and inputsCoreJuniorBeing written

8 Interviews & career 12 concepts

  1. CAR.01.01The frontend job market (India and global)CoreJuniorBeing written
  2. CAR.01.02Levels from junior to staffCoreJuniorBeing written
  3. CAR.01.03Compensation basicsCoreJuniorBeing written
  4. CAR.02.01Resume that passes screensCoreJuniorBeing written
  5. CAR.02.02LinkedIn and public presenceCoreJuniorBeing written
  6. CAR.03.01Referrals and outreachCoreJuniorBeing written
  7. CAR.03.02Working with recruiters and managing a pipelineCoreJuniorBeing written
  8. CAR.03.03Moving from a service company to a product companyCoreJuniorBeing written
  9. CAR.05.01STAR and its variantsCoreJuniorBeing written
  10. CAR.05.02Building a story bankCoreJuniorBeing written
  11. CAR.12.01Clear spoken English for technical interviewsCoreJuniorBeing written
  12. CAR.12.02Technical vocabulary and explaining conceptsCoreJuniorBeing written