Skip to content
SparkTime, home

Tagged #software engineering

GuideTechnology

13 min read

Interfaces, Polymorphism and Composition

Starting from a payment system full of if-else branches, this article shows why interfaces and polymorphism exist, how abstract classes differ from interfaces, what default methods are for, and why composition usually beats inheritance. It also previews the idea behind dependency injection.

GuideTechnology

7 min read

How to Debug Any Bug: A Calm, Repeatable Process

Random changes and hopeful refreshes waste hours. This is a step-by-step debugging process that works in any language: reproduce, narrow down, form a hypothesis, test it, then fix the cause.