Software Craftsmanship

Software Engineering

Applying agile principles to enhance software engineering, architecture, and development practices.
8 Cohorts
4 Active this week
15 Resources
Individually selected
Flexible Schedule
Invest 20 minutes a day
This development track focuses on the skills and principles necessary to ensure the reliability, scalability, and automation of software systems. It encompasses elements of site reliability engineering, infrastructure design, and automation practices. This track is ideal for professionals aiming to excel in building robust infrastructure, streamlining operations, and ensuring continuous system performance.

Target Audience

Software engineers, DevOps practitioners, system administrators, and IT professionals interested in building reliable, scalable, and automated software systems, with a focus on site reliability engineering, infrastructure design, and continuous integration practices.

Domains in this track

Software Development

Software Development is the core activity of creating software applications, involving stages such as design, coding, testing, and maintenance. This cluster covers the methodologies, tools, and practices essential for producing high-quality software that meets user needs.

Related Resources Show Summaries

Software Architecture

Related Resources

Performance Optimization

Performance Optimization focuses on enhancing the speed and efficiency of software applications, ensuring they run smoothly under various conditions. This cluster covers strategies for optimizing code, reducing load times, and improving overall system performance.

Technical Debt

Technical Debt refers to the implied cost of additional work caused by choosing an easy, limited solution now instead of using a better approach that would take longer.

Refactoring

Refactoring focuses on improving the internal structure of existing code without altering its functionality. This cluster emphasizes clean code practices, maintainability, and software quality.

Test-Driven Development

Test-Driven Development (TDD) is a software development process where tests are written before the code itself, ensuring that the codebase meets its intended functionality and is easier to refactor in the future.

Scalable Architecture

Architectural Principles

Architecture Patterns

Version Control

Software Design

Upcoming Events
Programs