Skip to main content


Kubernetes, GitOps and owning your data

This year I have been working on the ConfigSync project at Google.  The concept of syncing a git repository for a Kubernetes cluster has been around forever, for instance git-sync v2.0 was published in 2016 .  What is the draw of using git as the source of truth while it often is a mirror of what’s in the cluster?  There are some obvious reasons like sharing some common code and preserving versions.  Today, I’d like to focus on the data ownership aspect of Git and Kubernetes combination, which is one of the most powerful features of Kubernetes and should be considered by platform designers in the future. First key thing about Kubernetes is the Kubernetes Resource Model (KRM) which is described here .  While under the hood JSON or YAML gets sent over the wire to the cluster, the API style is very different than a most REST APIs which expect you to have a sequence of calls.  The focus of KRM is the final desired state which gets sent or retrieved from the cluster. There are multiple com
Recent posts

General or Specific? Broad Vision or a Customer?

When drafting a product roadmap, the tension between the vision and the specific customers often comes into play.  Founders and product leaders love to talk about the grand vision and seeing the future from the beginning.  From my experience the grand vision was a product of analysis of many individual customers. I have seen many failed product teams who were afraid to focus on any specific customer.  They didn’t want to overoptimize the product for too small of a customer base and become a consulting company.  It is true that there is a danger where one large customer is hijacking your roadmap and you start getting so deep into features or special built integrations that you fail to build a mass market product.  More often the “visionary” product has no grounding.  The teams that can’t waste their time digging deep with their early adopters miss the opportunity and never build anything useful for anyone. When we launched DocuSign API , we had 3 (three) customers who had access to a pr

Tech Startups and Railroad Tracks

Whenever you talk to a person who works or found a startup they are talking about innovation. Having spent the last 15 years in Enterprise SaaS I started wondering how innovative are we in technology today? When I think about monumental technological breakthroughs, I think about the invention of the web browser and the mobile phone. Most of the current enterprise SaaS startups do not do anything monumentally different, can we even call it innovation? Can we map this situation to historical technological breakthroughs like railroads, telephones, and airplanes? For instance, the railroad evolution is a good proxy for the current situation: the big breakthroughs were the Bessemer steel process and the steam engine by Richard Trevithick. There are other huge steps in the railroad technology but for the most part the work after that was laying out the railroad tracks. Was laying out railroad tracks innovative? Not in comparison to a breakthrough like the steam engine. Did it require

Career Roadmap

I went through most of my career without a roadmap.  I got lucky because a lot of the things worked out: some of it was accidental, some of it was great mentorship.  Some of it were setbacks that I could have probably avoided.  Over 24 years of doing software development I have accumulated a few lessons I can share with engineers that are embarking on this journey.  The number one lesson: find a mentor who can help you craft a roadmap. If you are not being strategic about your career, you might waste years bouncing around or stuck in an unhappy place.  Being strategic about your career helps you know when you are making steps that will add up to something. Blog posts or books can’t guide you through this journey.  I would recommend getting a career coach or a mentor who can help you evaluate and steer. I did want to share a document that can help you get started with that conversation.  You can’t get someone to help you unless you can figure out where you want to go.  The document belo

Platform Teams' Economics

After being involved in the Kubernetes project for about a year I have had some interesting reflections about the configuration and infrastructure space.  I have talked to a few Platform engineers and have gained some interesting insights into how these organizations operate at scale.  My observation is that in most organizations have a tough time measuring or financing their Platform Teams. A lot of the Platform teams are not sure how to evaluate whether or not their effectiveness.  This situation paired with the fact that the investment in Platform is generally removed from the business KPIs leads to underfunding in Platform resources. Most of the Platform projects are evaluated based on activity instead of impact.  In the conversations and allocation of resources the head of Platform Engineering generally can come up with only a backlog of outstanding projects without a clear indicator of why speeding up delivery of those projects will improve the company bottom line.  The usual nar

What to do about being tracked online?

Advertisers have been talking about the improvement in ad targeting and how it benefits everyone, yet consumers ask not to be tracked.  In real life we appreciate it when someone pays attention and tailors their messaging to us, why not online?  Can something be done to fix it? We get profiled in real life all the time.  Some of that is welcome, some of it is not and some of it is illegal.  A lot of the profiling is due to our conscious choice.  Those who drive a Ferrari know that people perceive them differently than those who drive a Prius.   What is broken in online tracking is that the user has no clue and no control over how they are being tracked.  A few years ago a friend of mine sent me a link to check out a dress from one of the new fashion designers. The designer had a very edgy name.  Later in the week I was doing a demo to a customer in the same browser and had a big banner on the side of a young woman in a revealing dress with a raunchy tagline.  I felt out of

Long Form Communication in Software Development

After spending a better part of the decade with Slack, HipChat and Microsoft Teams I joined a team that chooses to work a different way and the depth of work is evident.  The engineers on the team contribute a lot to the Kubernetes codebase and it seems like hours and days of uninterrupted time are critical to the way they work.  This made me think about the necessity of “always on” culture.  Is getting someone unblocked worth everyone keeping an eye on Slack throughout the day? For those who have read the timeless classic Deep Work by Cal Newport this is a well explored subject.  I have read this book a few years ago and it immediately resonated with my experience.  I think about some of the key ways that I worked early in my life and I realize that my mentors were preaching and practicing deep work. Growing up I went to a boarding school where at night homework was done behind a desk, in the classroom with the entire class sitting there quietly.  There was a teacher present who could