53139eab8a648f92819cb80fc471d7ad2662f79c
Big ol' checklist of things to know. Mostly for my wife whom wants to get into programming, but could be for anyone entering. This is mostly focused on a web developer role.
Here is a skill legend, if these are not on line items they are on headers of sections
- 🚫 You shouldn't have to know this, but its worth knowing about
- ⭐ Something you should know of, and its basic applications
- ✨ You should know how this works for most use cases, and be able to execute without bingling
- 💫 You should be a master of this topic
Lingo 💫
- API
- Refactor
- Bug
- CMS
- DevOps
- "Batteries Included"
Frameworks and Technologies
Tools
- git ✨
- The command line ⭐
- grep, sed, awk, tmux, vim, htop ⭐
Front end
- HTML 💫
- CSS 💫
- CSS Selectors 💫
- LESS or SCSS ✨
- The DOM ⭐
- JQuery ✨
- A 3rd party component library (bootstrap.js, material-ui, etc.) 💫
- 1 current client side framework (React, Angular, Vue) 💫
- JavaScript ✨
- A language that compiles into JavaScript ⭐
- ajax :sparkles
- fetch :sparkles
- Browser debugging tools (chrome, firefox, ieedge) 💫
- Polyfills 💫
- Browser compatibility of APIs and features ✨
- Front end performance stratergies ✨
- Bundling
- Minification
- Compression
- Image compression
- Lazy loading
- Code splitting
Backend
- 1 current server side framework (C# MVC, ExpressJS, Spring boot) 💫
- SQL (Structured Query Language) ✨
- 1 Relational database ⭐
- 1 Non-relational database ⭐
Markup formats
- json 💫
- xml ✨
- markdown ⭐
APIs
- REST :dizzy
- SOAP ✨
- GraphQL ⭐
- OData 🚫
Languages
- 1 strong typed language (C#, Java, Scala, etc) ✨
Semantics 💫
- Operators
- Methods
- Functions
- Variables
- Annonymous and Lambda functions
- Property getters and setters
- Generics
- Closures
- Regular Expressions aka regex ✨
Language tools
- package managers ✨
Theory
- Understanding datastuctures, and how to shape data efficently 💫
- Array
- Stack
- Queue
- Hashmap/Dictionary
- Binary tree
- Language Parsers ✨
- Abstract Syntax Tree ✨
- Compilers ✨
- Managed vs non-managed languages ✨
- Object Oriented Programming and design 💫
- Software design patterns (Adapter, factory, facade, etc) 💫
- BigO for time complexity ⭐
Infrastructure
Network
- OSI model ⭐
- TCP 💫
- HTTP 💫
- IP ⭐
- UDP ⭐
- Latency ⭐
Components
- Load Balancer ✨
- Virtual Machines ⭐
- Storage types (magnetic, solid state, SAN, NAS) ⭐
- Content Delivery Network (CDN) ✨
- Containers ⭐
- Container orchestrators ⭐
- Kubernetes ⭐
JavaScript
- npm 💫
- globally installed tools
npm install -g💫 - yarn ⭐
- esmodules 💫
- commonJS modules 💫
node_modulesdirectory 💫- unpkg ⭐
- JavaScript gotchas 💫
this=== vs ==- semicolon insertion
0 == "0" // true0 === "0" // false
- ES5 vs ES6 (aka ES2015) 💫
- features of ES2016 ✨
- features of ES2017 ⭐
- destructuring 💫
- ES6 classes 💫
- string interpolation 💫
- Object spread ✨
- Babel 💫
letvsvar
Description