On the Design Process
Today I gave a talk at Tech Confluence about my observations when designing a system for isolating and storing client-specific configuration for LifeLink’s platform.
About the project
My system’s primary audience is LifeLink’s Conversational Engineering team: the younger, intrepid, entirely female engineering team responsible for adapting the platform for client implementations. There is no deadline too tight or use case too crazy for this team, so my main focus was to design a system for them that:
- is abstract enough that updates to it are minimal, but not so abstract that it’s difficult to read or troubleshoot when it throws errors.
- is flexible enough that it can contain many types of configuration, but not so flexible that it can create bugs or break the build.
- reflects the way products are organized and discussed by conversational engineers.
- will reduce configuration duplication and complexity that is creating the most absurd bugs.
- and most importantly, can be updated by a conversational engineer when they want to add a new feature to it.
I don’t know how close I’ve come to accomplishing these goals. I would love to conduct some formal interviews to find out how the system wears as we launch more products. To punch things up, I created an anthropomorphic systems diagram for demoing this system internally.
The talk
This is the first tech talk I’ve done for an audience of strangers, and to be perfectly honest, I was nervous! I discussed the importance of iteration in design, techniques for asking open-ended questions, and ended with the popular advice given to writers: Kill your darlings.
My slides are here.