Fundamentals of Backend Engineering


Understanding backend engineering: what it is, why it matters, and how backend systems work. Essential explanations for developers who want to understand the server-side of software development.

Fundamental Software Concepts


Master the universal software concepts every developer needs to learn, from data structures to error handling. Discover the fundamentals that separate coders who build toy projects from those who create production-ready systems.

A List of Pragmatic Programmer Principles


Essential principles from The Pragmatic Programmer that every developer should know, organized for quick reference and daily practice.

Fundamentals of Software Development


Illustration of the building blocks of software development, from decisions and code to tests and architecture.

Software development fundamentals as a 16-step learning path: decision-making, version control, databases, design principles, testing, debugging, and architecture.

What Are Conventional Commits?


Learn how conventional commits can transform your Git workflow from chaotic to organized, making your project history readable and your releases automated.

Learn Neovim: Practice in Your Browser, Then Set Up Plugins


The words Learn Neovim over an abstract, colorful explosion across a dark code editor window.

Learn Neovim by practicing in real Neovim in your browser, then set up plugins with vim.pack, lazy.nvim, or LazyVim. Includes a searchable command reference.

How Do I Define Software Capabilities? A Complete Guide


Learn how to define and document software capabilities effectively. Master the art of specifying system abilities that enable use cases and features. Includes templates and real-world examples.

How Do I Identify Software Use Cases? A Practical Guide


Learn how to identify and document software use cases effectively. A comprehensive guide for product managers, software architects, engineers, and designers working together to build better software.

How Do I Specify Software Features? A Complete Guide


Master the art of specifying software features that deliver real value. Learn proven techniques for documenting features with templates and real-world examples from project management.

What Is The Difference Between Software Capabilities, Use Cases, and Features?


Master the key concepts of software development. Learn the crucial differences between capabilities, use cases, and features with real-world examples from project management.

What Is Software Delivery?


Understanding software delivery, its key aspects, and why it matters in the modern tech landscape.

Learn Asymptotic Notations


Learn Asymptotic Notations to estimate, communicate, and optimize the efficiency and performance of algorithms.

How to Use Replit: A Complete Guide to Web-Based Development


Learn how to use Replit, a powerful web-based IDE for coding, hosting apps, and collaborative development. Includes tutorials for embedding code, debugging, and using AI features.

Learn GitHub


Learn GitHub to supercharge your development process. GitHub is the premier code management tool, and it keeps getting better.

Learn Software Design Patterns


Learn software design patterns for fun and profit! Are you facing a complex problem? Try using a design pattern to save your time and sanity!

Learning Elixir


Learning Elixir is fun! Let's learn Elixir to decide if it's worth your time investment.

How to Open Files with Default Applications in Visual Studio Code (Mac & Windows)


Learn how to configure Visual Studio Code to open files with their default applications using custom tasks. Works on both macOS and Windows.