Dimitri Glazkov

Layer gapsfive days beforeI’ve been writing a bit more code lately, and so you’ll notice…Deep Stack Engineer

· 3 min read

Forces of the pace layering confusion2021I had a super-insightful conversation this week with a colleague about approaches…The Layering Principle2023Preference toward layering is probably one of the more fundamental principles of…Layer gaps2023I’ve been writing a bit more code lately, and so you’ll notice…Riffing on the idea of layer gaps, we can surmise that pretty much every layer we ever get to write code for has gaps. If that’s the case, then anticipating layer gaps in our future can lead to different ways to build teams.

Asymptotes and Value Niches2023I have been thinking lately about a framing that would help clarify…The Perspective Ladder2022I hope this illustration has been helpful. I have been using a…Cheesecake and Baklava2022I have been reading Alex Komoroske’s Compendium cards on platforms, and there’s…A key insight from the previous essay is that when we work with a layer with gaps, we need to understand both this layer and the layer underneath it. For if we ever fall into the gap, we could use that knowledge of the lower layer to orient and continue toward our intended destination.

Which means that when we hire people to work in a certain stack, we are much better off hiring at least one person who has experience with the stack’s lower layer. These are the people who will lead the team out of the layer gaps. To give our full stack engineers the ability to overcome these gaps, we need at least one deep stack engineer.

A simple rule of thumb: for every part of the stack, hire at least one person who has experience working at the layer below.

Live as our customer2023This principle is something that feels very intuitive at first blush, but…For example, if we’re planning to develop our product on top of a Web framework, we must look for someone who deeply understands this framework to join the team. Ideally, this person is a current or former active participant in the framework project.

The cost of opinion2022It appears that I’ve been writing this essay since 2012, never quite…Approaching this from a slightly different angle and applying the cost of opinion lens, this person will act as the opinion cost estimator for the team. Because they understand the actual intention of the framework, they can help our team minimize the difference of intentions between what we’re engineering in our layer and the intention of the underlying framework. As my good friend Matt wisely said many moons ago, it would help our team “use the platform” rather than waste energy while trying to work around it. Or worse yet, reinvent it.

Four layers2023An illustration for how this plays out is the abundance of the…Note that the experience at the lower layer does not necessarily translate to the experience at the higher layer. I could be a seasoned Web platform engineer, with thousands of lines of rendering engine C++ code under my belt – yet have very little understanding of how Web applications are built.

AI Baklava2024So we come up with ways to break software into smaller chunks…What we’re looking for in a deep stack engineer is the actual depth: the capacity to span multiple layers, and go up and down these layers with confident ease.

Pace layers of predictability2023One thing that stood out to me was this notion of a…Receiving negative feedbackthree days afterNegative feedback is rarely fun, but can show up in varying degrees…The larger the count of layers they span, the more rare these folks are. It takes a lot of curiosity and experience to get to the level of expert comfort across multiple layers of developer surfaces. Usually, folks tend to nest within one layer and build their careers there. So next time we come across a candidate whose experience spans across two or more, we are apt to pay attention: this might be someone who significantly improves the odds of success in our engineering adventures.