A Repeatable Guide to Full Stack Engineering
1. The Front-End (Angular, React, and others) - understanding and inspecting pages - realtime behaviour (e.g. chat) - building a dev pipeline (webpack) - visualizations (d3) - reactivity and progressive enhacement (v. graceful degredation) - RDF, web semantics 2. Devops, Systems & Protocols (AWS) - Configuring a web server - Systems protocols 3. Data structures & transmission/exchange, and consumption - Data Interchange & API Layer (XML/Soap, JSON REST, Graphql) 4. Adding Reading & Writing (a Backend) - Languages and Web Micro-Frameworks (pick 2 languages, learn a framework from each, then for your preferred language pick a 2nd framework for further insight) -- python (flask, django), ruby (rails, sinatra), golang (revel, gin), java/scala/clojure (play, spring, spark, ninja) - Databases (Postgres) - ORMs & Schemas 5. Programming theory fundamentals, concepts and algorithms - Protocols - Complexity analysis - Promises & Deferring - Recursion and closures - Channels and routines 6. Mobile - ios + swift - android - mobile friendly web 6. Scaling to Multiple Consumers (Site Reliability) - load balancing - CDNs - cacheing - sharding - minimizing / compress code - Blue-green deployment 7. Security & Performance (Writing performant, optimized code) - debugging - profiling - monkey patching - pen testing 8. Scaling to Multiple Contributors - git (scm) - writing standards - testing & continuous integration - logging - build automation and deployment - build distributions (.deb) 8. Data Science & AI/ML - Search - Sentiment analysis - Ranking and Recsys - NLP and CV - Convex Optimization 9. Data collection and cleaning - write scrapers - data pipelines and moving data 10. Decentralize & Distribute - map reduce