Fundamentals of Software Security


Diagram showing software security fundamentals including threats, vulnerabilities, authentication, authorization, encryption, and secure development practices.

Software security fundamentals: threats, vulnerabilities, and defenses. Build systems that protect data and users from attacks.

Fundamentals of Software Performance Testing


Diagram showing performance testing fundamentals including load testing, stress testing, performance metrics, and bottleneck identification.

Performance testing fundamentals: load testing, stress testing, and metrics. Build systems that handle real traffic and find bottlenecks before users.

Fundamentals of Software Product Development


Abstract illustration of product development workflow: user research, feature planning, development, testing, and iteration cycles.

Master software product development fundamentals: user research, MVP validation, feature development, iteration, and metrics. Build products that solve real problems.

What Is The Law Of Instrument?


Discover how the Law of Instrument explains why developers reach for familiar tools—especially GenAI—even when they're wrong for the job. Learn to recognize this cognitive bias and choose the right tool.

Fundamentals of Reliability Engineering


Diagram showing SLOs, error budgets, and reliability targets working together

Understand reliability engineering fundamentals: how to define SLOs and error budgets, design reliable systems, balance reliability with innovation, and make data-driven decisions about system reliability.

Fundamentals of Monitoring and Observability


Diagram showing metrics, logs, and traces working together for system observability

Understand monitoring and observability fundamentals: how metrics, logs, and traces work together to help you understand system behavior, debug problems, and make better decisions.

Fundamentals of Metrics


Diagram showing North Star, supporting, and guardrail metrics connecting data to decisions

Understand software metrics fundamentals: why they matter, how to pick high-signal, actionable measures, and build lean systems that improve decisions.

Fundamentals of Software Design


Master the core principles that guide effective software design. Learn why design matters, how to recognize good design patterns, and strategies for making design decisions that create maintainable, scalable systems. Essential reading for developers and technical leaders.

Fundamentals of Fundamentals


Master the core concepts that underpin all technical knowledge. Learn why fundamentals matter, how to identify them, and strategies for building lasting expertise that transcends trends and tools. Essential reading for developers and technical leaders.

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


Master core software development fundamentals: decision-making, problem-solving, and building systems that work. Essential guide for better developers.

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.

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!

Learn Python


Learn Python basics now. Let's review the fundamentals, install Python, use virtual environments, and learn where to go next.

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.