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