Course content: Modern Backend Engineering Bootcamp

Get ready for an amazing future!

We are happy to announce the beginning of bootcamps to help create an empowered, resourceful, well trained and well connected international community of tech professionals, startups and businesses. Its called Azaad Tech Collective and it is part of the Godspeed mission.

Format

The format will be run through a series of masterclasses, reading material (for deep dive), discussions, assignments, projects, discord support group, and mentoring. Masterclasses will be of two kinds: technical and non-technical. Below is the content to be covered during the course.

Part 1: Technical learning (80 - 90%)

  • Evolution of backend engineering: the problems and solutions

  • What kinds of roles/work are involved (and hence jobs)

    • For example, product management, engineering management, development, testing, technical documentation, infra setup, CI/CD, observability, security testing, release management, product management, developer relationship, developer advocacy etc.
  • Modern backends: Going beyond POCs

    • A bird’s eye view of the components, processes, standards and architecture
    • Passing mention: What is a distributed system?
    • Request response model and event driven architecture?
    • Why are companies moving to this architecture
    • The four pillars of modern backends:
      • Business logic(Microservices/serverless), containerization, dev-sec-ops, observability
    • Complexities and challenges of this architecture
    • Best development practices and why?
      • Schema driven development
        • Why? (what it will serve) documentation, code generation, test suite generation and mock server
      • Git-ops
        • Branching (feature, dev, master)
        • Code review
        • Merging and governance (after code review and test cases are passed)
        • CI
          • Merging, image generation, test automation, static code analysis, security scan
          • Tools: Jenkins/Argo workflow, static code analysis(sonar cube, snyk), vulnerability (github, snyk)
        • CD:
          • ArgoCD, Devtron.ai
      • Shift left approach (expected of a developer): test cases, API documentation, containerization (docker + helm), ci/cd workflows
  • Microservices: (concepts and best practices)

    • What is a microservice? Why use it?
    • How do microservices work together in tandem?
      • gateway is involved
      • Orchestration or choreography
      • Distributed transactions, dual write
      • Non-persistent and persistent
        • Temporal
    • What is multi tenancy?
    • What is data federation? What is backend for frontend (BFF)?
    • What is authentication and authorization, where is it needed, and different strategies for the same
      • Authentication
        • Different mechanisms
      • Authorization
        • Endpoint level and datastore (column, row) level, with multi tenancy
    • The three main abstractions
      • Events: What are different mechanisms to trigger workflows?
        • Mechanisms: Sync (REST, gRpc, Graphql) and async (Message bus, websocket)
        • Sources: What are different kinds of possible event sources?
        • Intro to REST standard with practice
        • Intro gRpc and Graphql with practice
        • Intro to message bus
          • Practice with Kafka
        • Input and output validation (across mechanisms)
          • What is the Open API specification?
          • What is the JSON schema spec?
        • Why does unified event spec make sense?
          • Validation
          • Attaching workflows (independent of the trigger mechanism)
      • Business logic (workflows)
        • What is business logic or workflow?
          • Disambiguation of the world workflow.
        • What is typically involved in business logic
          • Interacting, fetching and storing data from datasources
          • Transforming data
          • Returning data or emitting async event(s)
      • Datasources
        • What is a data source?
        • API as datasource:
        • Datastore as datasource:
          • Types:
            • NoSQL: Document, key value, search engines
            • SQL:
          • When to use Sql, when NoSql, and how to design the model?
          • What is a data warehouse or data lake?
          • Introduction to popular datastores
      • Caching
        • Caching is everywhere: OS, broswer, webserver, gateway, database
        • Caching within microservices
          • Endpoint/workflow & datasource queries
  • Dev-sec-ops

    • Infrastructure
      • On premise and on cloud
      • Different kind of cloud providers
      • Containerization (Docker), Kubernetes cluster, API gateway, service mesh
        • Concepts: Functions like rate limiting, load balancing, circuit breaking
      • What is infrastructure as code?
    • CI/CD automation (Continuous integration and continuous deployment)
      • What is CI
        • Security analysis, testing, image creation, scanning
        • Argo workflow and Jenkins
      • What is CD
        • Deployment: Blue green or canary
        • ArgoCD/ArgoRollout.
      • Security
        • Best practices
        • Encryption of data at rest and transit
        • Protecting the secrets
        • Authentication and authorization
        • Scanning of docker images
        • Static code analysis
        • Removing vulnerabilities
        • What are the industry standards and certifications in security?
      • Involved work: Infra setup, docker images, test automation, security scanning, deployment strategies, horizontal scaling
    • Observability
      • Why is it important? Dashboard, reporting, alerting
      • The six pillars: T.E.M.P.L.E
        • The microservice needs to produce these events for observability
      • How do you debug issues in distributed systems? What is correlation between logs, traces, metrics?
      • What is Open Telemetry standard?
      • Popular tools (Commercial or free)
      • Setup using Grafana stack and Godspeed
    • useful Technologies: Docker, Kubernetes/helm charts, Crossplane, ArgoCD, and cloud provider specific technologies
  • Appendix

    • Best practices in coding.
      • variable and function names
      • Separation of logic in clear functional units (functions)
      • Maximum size of a function
      • Documentation (code as documentation, schema as documentation)

Part 2: The soft side: For good life and career (10-20% time)

  • My ultimate Purpose and Solution

    • My innate/deepest/most important desire(s) (For self, relationships, society)
    • My needs (to fulfil my innate desires)
      • Understanding/knowledge (Without this, none of the wants or needs can get truly fulfilled)
      • Relationships (In the end this is what counts!)
      • Health (to fulfil my purpose well)
      • Physical facility (for feeling and living prosperously)
      • Skills (to achieve desirable outcomes)
  • Understanding the self and relationships (To understand my needs and solution!)

  • The 9 primary values that matter to every human being and relationship (For ex. trust, respect, love)

  • Growth in my career

    • How to contribute well in teams?
    • What kind of jobs and roles can suit me? (In tech)
    • What kind of roles would I like?
      • For ex. management, leadership, individual contributor
    • Startup or job?
  • Identifying my challenges and blocks?

    • Solutions to overcoming challenges and getting what I want
  • Tips

    • Awareness
    • True freedom (exercising the choice to stay happy, and do the right, independent of the worldly circumstances)
    • Curiosity
    • Solution and trust driven attitude (versus complaint and mistrust driven)
    • Effective communication
    • Breathing
    • Exercise
    • Detachment
    • Manifestation

About Azaad Tech Collective (ATC)

Azaad means free or liberated. ATC is the name of Godspeed community. Our purpose is learning, meaningful relationships, shared success, abundance, and growth as a tightly knit and visionary community. Our mission is collaboration to bring value to our members, the society and Earth. Godspeed will forever share its profits transparently with the FOSS projects we use, and also chosen not for profit foundations. Those who contribute to the growth of Godspeed, shall earn active or passive income for lifetime. Exact mechanisms to be figured out transparently as we go.