Programming

Docker Objects
Docker Objects
Explore Docker objects including Dockerfiles, images, containers, networks and storage. Learn essential Dockerfile commands, image naming conventions and Docker's approach to data persistence and networking.
Building and Running Containers
Building and Running Containers
Learn the complete process of building container images using Dockerfiles and creating running containers. Master essential Docker commands for image creation, container management, and registry operations.
Introduction to Docker
Introduction to Docker
Learn Docker fundamentals including its definition, architecture, benefits and limitations. Explore Docker's underlying technology, development process and integration with DevOps practices.
Introduction to Containers
Introduction to Containers
Learn about container technology fundamentals, including container characteristics, benefits, challenges, and popular vendors. Understand how containers solve traditional computing issues and enable cloud-native development.
Linux Distribution
Linux Distribution
An overview of Linux distributions, their components, and a comparison of popular distros like Debian, Ubuntu, Red Hat, Fedora, SUSE, and Arch Linux.
Authentication in Web Development
Authentication in Web Development
A comprehensive overview of authentication methods in web development including traditional session-based authentication, JWT, OAuth 2.0 passwordless authentication, and more. The article explains how different authentication mechanisms work, their use cases, and factors to consider when selecting authentication methods for various application types.
Background of Linux and Unix
Background of Linux and Unix
A comprehensive overview of operating systems, exploring the origins and key features of Unix and Linux, their historical development, and modern applications across various platforms.
Scrum Roles
Scrum Roles
This document explains the three core roles in Scrum; Product Owner, Scrum Master, and Scrum Team. Each role has specific responsibilities that ensure the effective implementation of Scrum methodology, promoting self-organization, collaboration, and continuous delivery of value.
Introduction to Scrum
Introduction to Scrum
Scrum is a management framework for incremental product development that follows the Agile philosophy. It provides structure through defined roles meetings, rules, and artifacts while emphasizing small cross-functional teams working in fixed-length iterations called sprints to deliver potentially shippable product increments.
Working Agile
Working Agile
This document explores five key practices of Agile methodology working in small batches, creating minimum viable products (MVPs), behavior-driven development (BDD), test-driven development (TDD), and pair programming. These practices enable teams to deliver value quickly, obtain fast feedback, and maintain high code quality.
Agile Methodologies
Agile Methodologies
This document explores various software development methodologies, contrasting the traditional Waterfall approach with Agile methodologies such as Extreme Programming (XP) and Kanban. It examines the limitations of the sequential Waterfall model and highlights how iterative, feedback-driven approaches address these challenges.
Agile Principles
Agile Principles
Agile is an iterative approach to project management that emphasizes adaptive planning, evolutionary development, early delivery, and continuous improvement. This document explains the Agile philosophy, its defining characteristics, and the principles outlined in the Agile Manifesto.
Taylorism and Silos
Taylorism and Silos
Explores how Taylorism's industrial-era siloed approach fails modern software development needs. Highlights why DevOps culture with collaboration and craftwork mindset delivers better outcomes than traditional command-and-control structures.
Design for Failure
Design for Failure
This document explains why failures happen in cloud-native applications, how to design systems that recover quickly, and how to use strategies like retry circuit breaker, bulkhead, and chaos engineering to build systems that can handle failures gracefully.
Cloud Native Microservices
Cloud Native Microservices
Explores cloud native microservices architecture and its impact on modern application design. Covers stateless services, independent scalability resilience, and compares microservices with traditional monolithic architectures to highlight benefits in flexibility, scalability, and collaboration.
Behaviour Driven Development
Behaviour Driven Development
Explains Behavior-Driven Development (BDD) as an approach focusing on system behavior from the user's perspective. Covers the BDD workflow, Gherkin syntax for defining acceptance criteria, and how this methodology improves communication between technical and non-technical stakeholders while enabling automated testing.
Test Driven Development
Test Driven Development
Explains Test-Driven Development (TDD) as a software development approach where tests drive code design. Covers the Red-Green-Refactor workflow benefits including higher code quality and faster development, and the crucial role TDD plays in enabling effective CI/CD pipelines in DevOps environments.
Git Repository Guideline
Git Repository Guideline
Outlines best practices for organizing Git repositories and implementing the Feature Branch Workflow. Covers guidelines for creating modular repositories using short-lived feature branches, and leveraging pull requests for collaborative code reviews to enhance code quality.
Social Coding Principles
Social Coding Principles
Explores social coding principles that bring open-source collaboration into enterprise environments. Covers the benefits of public repositories, code reuse, and pair programming practices that improve code quality and facilitate knowledge sharing between team members.
Module Multiple Choice Questions
Module Multiple Choice Questions
A comprehensive set of multiple-choice questions covering key concepts from Module 1 of the IBM DevOps Software Engineering course. Tests understanding of DevOps definitions, characteristics, business benefits, and historical development approaches.