- NodeJS
- Testing
- Compute (Lambda)
- Network communication (API Gateway + GraphQL)
- Severless patterns
- Authentication & Authorization
- Cloudformation
- Messaging Layer (SNS + SQS)
- Storage Layer
- Relational Databases
- NoSQL Databases (document storage)
- Migration from NoSQL to MySQL/Postgres
- File storage (S3)
- Deployments
- CodeStar
- CodePipeline
- CodeDeploy
- Architecture (how do you start building a system - which topics come first)
- Data flow diagram
- AWS Architecture
- UML Diagrams (not required)
- Structured analysis and design technique (SADT)
- AWS Certificates (finish 5 of 5)
- AWS Certified Solutions Architect Associate
- AWS Certified Developer Associate
- AWS Certified SysOps Administrator Associate
- AWS Certified Solutions Architect Professional
- AWS Certified DevOps Engineer
- Migration from Monolith to Serverless
- Computer Science 101
- Data Structures
- Algorithms
- Network (Buffers/Streaming/TCP/UDP)
- Engineering
- Serverless Software Patterns
- Frontend (React.js)
-
Deployments & Going Live
- Cloudformation (production deployment / partial deployment)
- an AWS CodePipeline, AWS CodeBuild, AWS APIGateway & AWS Lambda CI
- CodeDeploy, CodeBuild, CodePipeline
- CI/CD (github push, automation etc.)
- Here is an example how to CI/CD on AWS Check this presentation
-
Storage Layer - Databases
-
Software Architecture
-
Migration from Monolith to Serverless
-
Computer Science Basics
- Teach Yourself Computer Science
- Open Source Society University
- Systems analysis and design
- Base CS - Exploring the basics of computer science, every Monday, for a year.
- Algorithms and Data Structures
- Algorithms and data structures implemented in JavaScript
- Discrete Mathematics
- Arsdigita 02 (Discrete Mathematics) Lecture 1/20
- Lec 1 | MIT 6.042J Mathematics for Computer Science
- Algorithms and Data Structures in JavaScript
- Introduction to Computer Science and Programming in Python (MIT Open Course)
- Introduction to Algorithms (MIT Open Course)
- Introduction to Computer Science and Programming (MIT Open Course)
- Introduction to Computer Science and Programming (MIT Open Course)
- Computer System Engineering (MIT Open Course)
- Text Book to the course above
- Design and Analysis of Algorithms (MIT Open Course)
- Computer Networks and the Internet
- Algorithms & Data Structure
-
Coding & Patterns
- Read code of open source projects such as React, Vue.js, Express - code quality of such a projects should be very good (many reviewers and clean code). Also Spectrum was recommended
- Design Patterns: Elements of Reusable Object-Oriented Software
- SOLID need to find some good resources
- Hexagon
- Writing portable serverless applications
-
Book Collection & Recommendations
- Why do I need to read this book? If I want to understand how to think in terms of underlying technology vs. abstractions (Cloudformation vs. AWS SAM) Code Complete: A Practical Handbook of Software Construction
- Why do I need to read this book? I need to learn to think like a real programmer Clean Code: A Handbook of Agile Software Craftsmanship
- Why do I need to read this book? Get some basic understanding about OS The Unix Programming Environment
- Why do I need to read this book? see above The Art of Unix Programming