hn.today

What makes software development engineering

parksb.github.io48 points62 comments
Screenshot of What makes software development engineering

The piece explains why software development deserves the label of engineering by tracing the historical debates and by defining what an engineering approach means in software. It contrasts common job titles - coder, programmer, developer - with the professional connotations of “engineer,” then anchors the claim in longstanding attempts to give software a systematic foundation, from the 1968 NATO conference and ALGOL debates to modern bodies of knowledge. Engineering is framed as applying systematic, disciplined, quantifiable methods to design and decision-making; for software that means iterative choice among feasible solutions, explicit estimation, measurement, and feedback to refine those estimates and decisions.

A concrete e-commerce example shows the method in practice: diagnose slow page load with FCP p75 metrics, trace latency to an API and database reads, enumerate alternatives (caching, indexing, replicas, static rendering), estimate impacts using traffic and TTL simulations, implement Redis caching, measure actual outcomes, investigate shortfalls (high personalization causing cache misses), redesign the cache, and achieve the target performance. The argument concludes that software can be built without this rigor, which is why software feels different from other engineering disciplines, but when reliability, safety, and predictable outcomes matter, the engineering approach - measurement, estimation, iteration, and tradeoff analysis - is essential.

Read on parksb.github.io62 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Other

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.