Similarities in software engineering + LEGO

March 24, 2025

LEGO Pacman arcade game

My husband and I put together a 2651 piece LEGO (PAC-MAN Arcade) within three days part-time. The number of pieces looked daunting; it’s so high that the box was rated 18+.

We are both software engineers, and while assembling it I noticed the similarities between LEGO and software engineering.

1. Break down the problem

LEGO sets arrive with numbered packets and an instruction manual for how to put together each packet. Similarly in software engineering one devises an order of tasks to complete, and what to do per task. Different colored blocks and shapes correspond to different software components.

2. Lay the foundations

The internal pieces take the longest time to put together. Most pieces are internal and are just as important, despite being unseen and less appreciated than the pushable buttons.

In software engineering the unseen layers eg. backend, data layer also affect the UI, contributing to load times and data integrity.

3. Practice

The above LEGO set had lots of symmetrical parts, hence the instructions are similar. By building quickly we quickly accumulated practice building the similar parts over and over again.

4. Specialize

sorted LEGO pieces Sorted LEGO pieces

Upon opening a new packet I group similar pieces into piles while my husband tackles the building. This step slows us down briefly but we quickly make up the time. It’s much faster than finding pieces in an unsorted pile.

It's similar to how software engineers specialize in domains, which can help parallelize work.

5. Repetition

We had to build the same pieces multiple times since these LEGO sets are symmetric. This decreases novelty and increases mastery.

In software engineers reuse code, libraries, and frameworks to solve similar problems.

6. Teamwork

After we put together 7 out of 20 sections we took a break before blazing through the rest of the sections. Each of us took a break while the other person pushed through. Also when the parts don’t fit we troubleshoot together.

We enjoy playing with LEGO; it reminds us of putting together software.

I also noticed how software fundamentally differs from LEGO. You can read it here.