Core: Full Name & Definition
What, Why, How, When, Example
3 Dimensions
Vertical: Parent, Children
Horizontal: Alternatives
- Similarities / Diffs, Pros / Cons
Time: History, Status, Future
- Upstream, Problem, Downstream
Analogy
Simplified Diagram, Code, Story
Experience
Past, Current, New Project
Philosophy
Principles, Practices, Situations, Vision
==========================================
Tech Expertise
Javascript: Data Types; Hoisting; Scope; Closure; Sync, Async;
Prototype; Inheritance; Strict Mode; == vs. ===;
Arrow function; Typescript/Flow; Modularization.
Computer Science: Basic Operations: Sort, Map, Filter, Reduce;
Algorithms: Complexities: Constant, Log, Linear, Exponential, Big O, Space, Time;
Data Structures; Array/List, Stack, Queue, Linked-list, Tree, Hash-table (Map), Set;
Browser APIs: Console, History, Storage, Fetch, Navigator;
Performance; Time*; Object Models (BOM, DOM, CSSOM).
CSS: Units; Colors; Fonts; Box Model; Position; Media Queries;
Pre/Post Processors: LESS, SASS/SCSS, Stylus, PostCSS, CSS in JS;
Layout - Float/Table/Flex/Grid; Transform; Animation: Transition, @Keyframes vs JS* (Repaint/Reflow impact);
Responsive vs Adaptive - Mobile vs Desktop first - Progressive Enhancement vs Graceful Degradation;
Methodologies: BEM, OOCSS, SMACSS, ITCSS, Atomic CSS; Frameworks: Tailwind, Bootstrap, Bulma, PureCSS.
Tools: NPM, Yarn, Package(-lock).json, Version; Build tools: ESBuild, Vite, Webpack, Rollup, Parcel, Gulp, Grunt; DevTools: Debug (Mobile), Profiling, Performance, Lighthouse; Module system: Require; Import; JS modules; Performance & Security automated tools; Headless: Puppeteer, Selenium; Proxy: Charles / Fiddler.
Frameworks: React, RN, Vue, Weex, Angular, Ionic, jQuery; Modular Programming;
State management: Flux, Redux, Vuex, Rxjs, MobX.
Programming Paradigms: OOP: Encapsulation, Abstraction, Inheritance, Polymorphism, Dependency Injection; FP/FOP: Pure, Immutability, First-class entities, Composition, High order, Recursion, Currying/Memorization; POP, FRP, RP;
Protocols: OSI Model: 7 layers; HTTP(1,S,2,3), WS(S), Polling; RESTful; GraphQL, RPC, JSON-RPC.
Methods: GET, POST, PUT, DELETE, HEAD, OPTION; Codes: 20X, 30X, 40X, 50X
Security: OWASP Top 10: (SQL) Injection, Authentication, Data Exposure, XXE, Access Control, Misconfiguration, XSS, Deserialization, Vulnerable Components, Insufficient Logging & Monitoring. CSP; CORS; XSRF; Auth: JWT, OAuth, Basic Access Authentication; Browser security & Http Headers (Package Helmet): Http-only Cookies; Strict-transport-security; x-frame-options; x-xss-protection; HPKP; Attacks: DoS, Password Attack, Man-in-the-Middle; Eavesdropping; Insider Threats; Drive-By download; Theft of credentials; Escalation of permissions; Phishing; Malicious redirects. Firewalls.
Performance: Profiling & Debugging; Obfuscation & Minification; Optimization; Network; Memory Leaks: causes, detect, solution, GC; Long computations; Framework optimization techniques (Vue, React, Angular). Critical Rendering Path & Lazy load; Repaint/Reflow; RAIL: Response, Animation, Idle, Load; Service Worker / Web Worker. SVG vs Canvas. CSS vs JS animation.
SPA, MPA, SSR. Accessibility A11y, Semantic Tags, Privacy.
Quality, ENGX: Test Pyramid; CI/CD/CD; Code Review; Code Standards; Release strategies; Git branching workflows; Code Quality Measurements; Tech Debt & Refactoring;
Patterns and Best Practices: Principles: DRY; KISS; YAGNI; High Cohesion, low coupling; SOLID 5 Principles; GoF design patterns; Practices: MVC; Flux/Redux; Micro-frontends
Software Development Process: Methodologies: SDLC Phases: Planning, Analysis, Design, Implementation, Testing, Evaluation/Maintenance; Models: Waterfall, Agile: Scrum (Events?), Kanban, ScrumBut, Practices: Extreme Programming; Estimation: Techniques; New, Risk, Unknown; WBS.
Non-functional requirements (NFRs); Definition of Done/Ready (DoD/DoR); Conflicts, Escalation solving
T-Shape: Backend, Clouds(AWS, GCP, Azure...) Automated Testing; DevOps, Databases; Message queues.