Collection of notes and links for RTG 2022 Backend mentorship.
- Version control systems (mainly Git)
- Programming languages (Java, JavaScript/TypeScript, Python, Ruby, Go etc.)
- type systems
- data structures (array/list, map/dictionary/hash, queue etc.)
- OOP (Object-oriented programming) / FP (functional programming)
- algorithms (complexity)
- Boolean logic
- APIs (HTTP, OpenAPI, Swagger, REST, RESTful, gRPC, GraphQL)
- IDE - integrated development environment (VisualStudio Code, IntelliJ IDEA, Sublime, Atom, Theia etc.)
- Command-line and scripting tools (POSIX, Bash, Windows PowerShell, Windows CMD/BAT)
- Authentication/Authorization (BasicAuth, OpenID, OAuth2, JWT)
- Data formats (JSON, YAML, XML, CSV)
- (Lightweight) documentation formats (Markdown, ASCIIDoc, reStructuredText, etc.)
- Databases/datastores
- SQL: Oracle, MSSQL, PostreSQL, MariaDB, etc.
- NoSQL: MongoDB, Neo4j, InfluxDB, Cassandra, etc.
- ORM tools and libraries
- Messaging/event/streaming systems (Kafka, NATS, RabbitMQ etc.)
- Testing and TDD (test-driven development)
- Unit testing
- Mocks, stubs, fakes
- Acceptance testing
- Performance testing
- Continuous Integration/Continuous Delivery (CI/CD, Jenkins, GitHub Actions, GitLab CI, Azure Pipelines, CircleCI)
- Containers (Docker, Podman etc.)
- Managed services and cloud primitives (IaaS, PaaS, SaaS, Serverless)
- Introduction to Git/GitHub - Git for Poets
- Very good Git tutorial
- Description of Git workflows used in professional contexts
- Introduction to Linux shell - it is valid knowledge that can be applied to local and remote machines running any flavor of Linux or MacOS. On pure Windows shell (CMD or PowerShell) there are similar commands, but also it is possible to get Linux-like terminal with the help of Windows Subsystem for Linux or Git Bash from Git for Windows.
- Bash cheatsheet
- Visual Studio Code shortcuts for Windows
- Visual Studio Code shortcuts for macOS
- Visual Studio Code shortcuts for Linux
- IntelliJ IDEA shortcuts for all OSes
- The Project Euler - is a collection of tasks that let you dive deeper into various data structures and algorithms. There are tasks of different complexity. To see the tasks you have to register and the site itself does not provide solutions, but the good thing is that there are more than 1 million users registered for the Project Euler and many of them share their solutions on GitHub.