Project Detail
One-Sentence Summary
Refactored a denormalized embedded access control data model into a more space-efficient normalized structure so larger customer installations could fit on existing hardware.
The Context
This work was part of the same legacy access control product line, where customer growth kept pushing the limits of what the installed controllers could store and manage.
The Challenge
Marketing continued to find customers with more doors and more users and we were running out of room to hold the data at the door control systems.
Why It Was Hard
The problem was fundamentally about scale, but the hardware footprint was fixed. Any structural change to the data model had to save space without destabilizing a mature embedded system already deployed in the field.
The Constraints
Physically, we had what we had and that as it. Any solution would have to work on already installed equipment.
The Approach
The design I inherited was simple to program against, but had some data duplication caused by denormalization. So, I refactored to a 3rd-order normal data structure (not quite a relational database).
My Role
I owned this effort end-to-end from initial design through final testing.
Key Decisions
- Refactor the inherited denormalized structure into a third-order normal form to reduce duplication and reclaim scarce storage.
- Treat the effort as a major regression-testing problem as well as a design problem, given how broadly the data model change could ripple through the product.
The Outcome
While the design was simple, the change was huge. Fortunately I inherited an incredible test lab that allowed for 24/7 regression testing for days.
Evidence / Signals of Success
- The refactor addressed customer growth in doors and users without requiring hardware replacement.
- The team was able to validate the large change through 24/7 regression testing in the inherited lab.
Resume Bullet Seeds
- Refactored an embedded access control data model from a denormalized structure to a normalized design, reducing duplication so larger customer installations could fit on existing hardware.
- Owned a high-risk embedded refactor end-to-end, combining structural redesign with around-the-clock regression testing to protect a mature installed product.
Interview Story Angles
- Taking ownership of a foundational refactor in a mature product.
- Balancing simplicity for developers against storage efficiency for the system.
- Solving a scale problem when hardware expansion is not an option.
- Managing risk when a small architectural change affects many behaviors.
Lessons Learned
- Simple designs tend to be simpler to implement, test, and deliver.