3.7 KiB
3.7 KiB
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