The goal of the DevLab platform is to enable software engineers to enter a flow state for clockwork projects. Devlab already removes the bottlenecks and tickets required to go from idea to working new API project. Our greatest challenge is to remove all the other incidental barriers that interrupt or might jar our developers from reaching flow.
“Flow is important both because it makes the present instant more enjoyable, and because it builds the self-confidence that allows us to develop skills and make significant contributions to humankind.” - Flow: The Psychology of Optimal Experience
When I demo DevLab it is jarring when I struggle to complete a task like enabling secrets for my project and stumble through uncommenting the undocumented values.yaml file. This puts into perspective everything we still have left to do to direct developers to stay in the state of flow. You can learn more about How To Get Into The Flow State by Steven Kotler. For context, I am including the narrative I wrote at the start of this journey below.
As a software developer at first, it seemed strange and foreign but now I cannot think of working without this platform. The developer platform removes boring, monotonous, and tedious configuration work. While it is a different experience it is seamless. It feels like an extension of myself and I am granted indescribable power to create, change, and customize my applications. Working with my pairing partner and my team we work in coordinated synchrony. My partner is predicting my needs ahead of me articulating what I am planning to ask for. We bounce ideas, thoughts, and designs back and forth. We never spend much time arguing the merits of each idea. We try those ideas out and confirm their merit. It feels chilling at times that the platform anticipates our needs before we realize them. It’s the end of the workday and it feels like a blur. What would have taken a week to complete now takes only days. It feels like play. I cannot remember the last time my team and I debugged a production fire. I know where to find all the right logs and dashboards for my applications but it’s uncommon. The primary blockers now are outside parties or older systems. We dread dabbling in legacy applications unless allowed to onboard them onto this new platform.
With this platform, we unlocked something magical. This workflow is not for everyone or everything and requires significant cultural and process changes. We faced an incredible opportunity requiring a platform that scales, enables fast experimentation, and stays out of the way of our developers supporting our business. This product is an outgrowth of the company and its values that built it. We sell the platform only to a select group of companies that can endure the necessary cultural transformation.
Flow is our mission so that as a platform team we can provide a hospitality experience. Kubernetes is an incidental detail. Technology people often overvalue activities that are hard and obscure for no good reason. Enabling our software engineers to do their best work is our north star. We stand against incidental complexity and teaching everyone Kubernetes, Helm, and the machinery of CI/CD. We stand for flow, abundance, and removing the obstacles that make the work of software development tedious.
Is flow a goal for you? Or are you obsessed with the complexity of tooling in the Kubernetes ecosystem? What’s your north star in building an internal developer platform?