Fatih Pense's Blog

Three Thoughts For a Technical B2B Product

Thursday, September 14th, 2023

I stumbled upon (remember StumbleUpon?) three blog posts just as I was thinking about a B2B product.

Documentation

Diataxis is a concept of categorizing your documentation so the intent is clear both for the writer and reader.

I had read about it before but this website explains it nicely: https://diataxis.fr/

Experimenting with new tech and not breaking features

This post mentions the importance of never breaking users workflow. To prevent that you can hide your code for a while, but it is better to evolve it slowly, piece-by-piece, while validating the code in the real world.

Another sublime point is that, you can try new technologies, if you have the competence to manage them, find solutions if a tech/language becomes bottleneck. If you are confident that you can do acrobatics for possible problems, go for it.

Would using Zig and Go and Rust be too much programmer hipsterism? Would Hacker News and developer Twitter judge us too harshly?

This may seem like a lot of complexity to accommodate a port—an entire new toolchain along with protobuf is nothing to sneeze at—but it allowed us to fulfill our top-line goal: keep shipping code to users. A complete rewrite would have stalled the release of new features for months and risked accumulating unused code. No matter how much testing, no matter how rigorous your type system, code that is not used is code that is ripe for bugs. The Go sandwich ensured that as we ported code, each new piece was actively used and validated.

Vercel - Using Zig in our incremental Turborepo migration from Go to Rust

Selling developer tools

The moral of the story here is that when you introduce a developer tool that requires integration work (work outside of the development team’s commonly expected flow, work that replicates already existing work, and work that requires learning a new syntax or API), you can never force, or hurry anyone to adopt it. This can only happen on the user’s schedule. People will buy a developer tool, but you can’t sell it. We all know that engineers like to get their hands dirty and explore things on their own. This conclusion is the corollary of that well-known fact. That’s why you can’t hard sell to engineers. You can only soft-sell.

Earthly - We built the fastest CI and it failed