Software engineering - Category Home
Software engineering - Topics
Model checking finds concurrency bugs that testing never catches
Forward chaining vs backward chaining in production systems
Model drift: how do you know when a deployed model has quietly gone stale?
How to move from a concrete complaint to a usable requirement
Every data model is an abstraction: normalising means choosing what to throw away
Why version control made branching cheap and merging painful
Drools performance pitfalls with a large working memory
Separating policy from code with an external rule service
Symbolic execution and SMT solving in program analysis
Why is the gender ratio in software engineering still so skewed?
The myth of the boy genius programmer
Why do so many machine learning projects die between the notebook and production?
What does an MLOps pipeline actually do after the model is trained?
Defect density comparisons measure reporting culture more than code quality
Drools vs a hand-written if-else chain: when a rule engine pays off
Hybrid rule and model pipelines: who owns the final decision
Brooks's law: adding people to a late project makes it later
Versioning and testing business rules without breaking production
Decision tables as a readable alternative to rule DSLs
Reference implementations that decide how everyone actually reads the specification
Data science vs data engineering: where does the job actually differ?
Conway's law explains why the org chart shows up in the service diagram
A design pattern applied everywhere becomes indirection nobody can follow
Bounded contexts break when the same word means two things on two teams
Cyclomatic complexity thresholds are arbitrary and teams learn to game them
Story points measure team consensus rather than the work
Architecture decision records outlive the engineer who wrote them
Non-functional requirements get one line in the spec and decide the whole design
Safety-critical standards demand evidence for every line of code
Code coverage as a target produces tests that run lines and assert nothing
Architecture erosion: the diagram and the deployed system drift apart
Formal verification stays reserved for systems where failure is unthinkable