Roadmap
Build first, learn as needed
WEEK 1
Linux Essentials for Developers
What you’ll learn
- Understand the basics of Linux and its command-line interface.
- Navigate the file system and manage directories.
- Perform essential file operations and permissions management.
- Use basic shell commands for system administration.
- Manage processes and monitor system performance.
Tools / Technologies
- Linux
- Oracle VirtualBox
- Vagrant
Concepts / Engineering practice
- Virtual machines
- Hypervisor
Syllabus
- Introduction to Linux and its file system structure
- Navigating the command-line interface (CLI)
- File and directory management commands
- User permissions and access control
- Process management and monitoring system performance
- Networking essentials and package management
- Working with environment variables and configuration files
WEEK 2
Streamline Collaboration with Version Control
What you’ll learn
- Gain a clear understanding of the software development process.
- Learn how to collaborate effectively in a team without conflicts.
- Develop new features without breaking the main codebase.
- Manage different versions of software efficiently
Tools / Technologies
- Git
- GitHub
Concepts / Engineering practice
- Git Workflow
- Semantic Versioning
Syllabus
- Introduction to Software Development
- Understand the core Concepts of Version Control and Distributed Version Control Systems (DVCS) (Git)
- Creating a Git repository to manage the codebase and enable collaboration.
- Creating branches to initiate a new line of development.
WEEK 3
Convert Ideas into Design
What you’ll learn
- Plan and structure the user interface (UI) effectively.
- Develop a Design System for a seamless and visually engaging user experience (UX).
- Understand and implement the three key design stages: Wireframing, Mockups, and Prototyping.
Tools / Technologies
- Figma
Concepts / Engineering practice
- Design System
- WCAG
Syllabus
- Create Low-Fidelity Wireframes
- Develop a Design System
- Develop High-Fidelity Wireframes (Mockups)
- Build Interactive Prototypes
WEEK 4, 5 & 6
Transform Designs into Functional Code
What you’ll learn
- Understand coding standards and industry best practices.
- Develop web documents for authentication and chat microservices using structural elements.
- Apply styles to web documents for a polished user experience.
- Create interactive web documents with dynamic behaviors.
- Utilize Web APIs to enhance functionality and connectivity.
Tools / Technologies
- HTTP
- HTML
- CSS
- Bootstrap
- JavaScript
- JQuery
- Nginx
Concepts / Engineering practice
- Internet
- DNS
- Web
- Web Document
- Web Server
- RegEx
Syllabus
- Develop web documents using HTML.
- Apply styles to web documents using CSS properties.
- Utilize CSS frameworks to enhance web document styling.
- Add interactivity to web documents using JavaScript.
- Learn different coding styles in JavaScript.
- Use DOM APIs to prototype chat messages.
- Write and implement unit tests for code reliability.
WEEK 7
Structuring and Managing Data Efficiently
What you’ll learn
- Understand Database Management Systems (DBMS).
- Design a database schema for authentication and chat microservices.
- Apply the normalization process to structure a database schema effectively.
- Develop and implement database schemas.
Tools / Technologies
- MySQL
- MySQL Workbench
- SQL
Concepts / Engineering practice
- Normalization
Syllabus
- Design a database schema.
- Apply normalization for efficient data structuring.
- Develop and implement database schemas.
- Perform testing such as schema, CRUD, performance testing, etc.
WEEK 8, 9, 10, & 11
Building Scalable Backend Microservices
What you’ll learn
- Understand backend development, including key components and software architecture.
- Design software architecture diagrams using the C4 model.
- Develop authentication and chat microservices.
Tools / Technologies
- draw.io
- Python or Java
Concepts / Engineering practice
- UML / C4 Modal diagrams
- Connection pooling
- OOPs Concepts
- JWT Tokens
- The Twelve-Factor App
- RegEx
- REST
- SOLID Principles
Syllabus
- Build the foundational application structure.
- Establish database connections and integrate with the application.
- Configure and manage application settings effectively.
- Manage routing and handle incoming requests.
- Implement form validation for data accuracy and security.
- Develop the authentication microservice for secure user access.
- Build the chat microservice for real-time communication.