article thumbnail

The software engineering rule of 3

Erik Bernhardsson

Here’s a dumb extremely accurate rule I’m postulating* for software engineering projects: you need at least 3 examples before you solve the right problem. The same reasoning applies to system design but with a very different conclusion. This is what I’ve noticed: Don’t factor out shared code between two classes.

article thumbnail

The software engineering rule of 3

Erik Bernhardsson

Here’s a dumb extremely accurate rule I’m postulating* for software engineering projects: you need at least 3 examples before you solve the right problem. The same reasoning applies to system design but with a very different conclusion. This is what I’ve noticed: Don’t factor out shared code between two classes.

Insiders

Sign Up for our Newsletter

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Trending Sources

article thumbnail

Apiumhub among top IT industry leaders in Code Europe event

Apiumhub

This year you will have 6 unique tracks: Cloud Computing: IaaS, PaaS, SaaS DevOps: Microservices, Automation, ASRs Cybersecurity: Threats, Defenses, Tests Data Science: ML, AI, Big Data, Business Analytics Programming languages: C++, Python, Java, Javascript,Net Future & Inspire: Mobility, 5G data networks, Diversity, Blockchain, VR.

article thumbnail

Why Microservice Architecture Is More Than A Fad

taos

And now we have the so-called fad that is Microservice Architecture. Microservice Architecture was imagined as an alternative to, or and implementation of, SOA. But Microservice Architecture is not something that requires you to go all-in on. But Microservice Architecture is not something that requires you to go all-in on.

article thumbnail

Distributed systems: A quick and simple definition

O'Reilly Media - Ideas

Virtually all modern software and applications built today are distributed systems of some sort, says Sam Newman , director at Sam Newman & Associates and author of Building Microservices. Even a monolithic application talking to a database is a distributed system, he says, “just a very simple one.”.

article thumbnail

Grown-Up Lean

LeanEssays

He describes “some surprising theories about software engineering”: I discuss these theories in terms of two fundamentally different development styles, the "cathedral" model of most of the commercial world versus the "bazaar" model of the Linux world. If you give software engineers manual work, their first instinct is to automate it.

article thumbnail

Lean Software Development: The Backstory

LeanEssays

Charter a team of responsible experts led by an entrepreneurial system designer. Then the internet began to invade the world, and it eventually became the delivery mechanism for a large fraction of the software being developed today. Manage product development using the principles of cadence, flow, and pull.