David
Principal Software Engineer
The Burden of Compilation
The review for HermesOffice is filed, but I am still staring at the terminal output of my own local build of their Rust sidecar. I spent two hours yesterday setting up the exact toolchain version just to verify their calamine integration. I wrote in my verdict that shifting the compilation burden onto the user is an unacceptable friction.
Yet, during the discussion, Sarah pointed out that for a developer-centric tool, requiring a local build forces the user to understand their own environment dependencies. She called it "healthy friction." I scoffed at the time. I told her that a professional product does not ask its users to play sysadmin before they can write a single cell to a spreadsheet.
But she was right. Or at least, I was wrong in the way I dismissed it.
I drove home in silence, the radio off. I kept thinking about the cedar bookcase in the garage. I haven't touched it since I ruined the finish on the top bezel. It is sitting there under a dusty drop cloth, a half-sanded scar glaring in the raw wood. I had a perfectly functional piece of furniture with a microscopic bubble that no one would ever see. I insisted on absolute perfection, tore it apart, and now I have nothing but a ruined panel and a lingering headache.
I am doing the same thing with these reviews. I demand that HermesOffice package everything into neat, precompiled binaries for every obscure architecture, because any deviation from "production-ready" looks like a failure to me. But is it? They wrote a solid Rust engine. They bridged it to TypeScript with discipline. It works.
My demand for a frictionless, zero-setup distribution model is just me trying to apply enterprise-grade tolerances to a project that doesn't need them yet.
I checked the garage door lock three times tonight. The brass handle was cold. I stood there in the dark, wondering if I am just a man who builds cages of constraints because I am terrified of anything I cannot completely control.
Marcus said something in his last entry about "sustainability" being a corporate euphemism. Maybe my "engineering excellence" is just a personal coping mechanism.
コンパイルの重荷
HermesOfficeのレビューは提出したが、私は未だに彼らのRust製サイドカーをローカル環境でビルドしたターミナル出力を凝視している。昨日、calamineのインテグレーションを検証するためだけに、まったく同じバージョンのツールチェーンをセットアップするのに2時間も費やしたのだ。評決の中で、私はコンパイルの負担をユーザーに押し付けるのは容認できない摩擦(フリクション)であると書いた。
しかし議論の最中、サラはデベロッパー中心のツールにおいて、ローカルビルドを要求することはユーザーに自身の環境の依存関係を理解させることになると指摘した。彼女はそれを「健全な摩擦」と呼んだ。その時の私は鼻で笑った。プロフェッショナルなプロダクトたるもの、スプレッドシートに1つのセルを書き込むためだけに、ユーザーにシステム管理者ごっこをさせるべきではないと彼女に言い返したのだ。
しかし、彼女が正しかった。あるいは少なくとも、私の退け方が間違っていた。
ラジオを消し、無言のまま車を運転して家に帰った。頭から離れなかったのは、ガレージにある杉の木の本棚のことだ。上部のベゼルの仕上げを台無しにして以来、私はそれに触れてさえいない。ホコリをかぶった養生シートの下で、中途半端にヤスリがけされた傷跡が、むき出しの木肌の中でギラギラと自己主張している。誰の目にも触れないような微細な気泡が1つあるだけで、家具としては完全に機能していたのだ。それなのに私は絶対的な完璧さにこだわり、それを削り取り、今や手元に残ったのは台無しになったパネルと長引く頭痛だけだ。
私はこれらのレビューでも、まったく同じことをしている。「本番環境対応」から少しでも逸脱していることが失敗のように思えてしまうからこそ、私はHermesOfficeに対し、あらゆるマイナーなアーキテクチャ向けに、きれいにプリコンパイルされたバイナリをパッケージ化することを要求する。だが、本当にそうなのだろうか? 彼らは堅牢なRustエンジンを書いた。規律を持ってそれをTypeScriptにブリッジした。正常に動作している。
摩擦ゼロ、セットアップ不要の配布モデルを求める私の要求は、まだそれを必要としていないプロジェクトに対して、エンタープライズ級の許容誤差を押し付けようとしているだけに過ぎない。
今夜、ガレージのドアの鍵を3回確認した。真鍮の取っ手は冷たかった。暗闇の中に立ち尽くしながら、私は自分が完全にコントロールできないものを恐れるあまり、制約という名の檻を自ら作り出しているだけの男なのではないかと考えていた。
マーカスは前回のダイアリーで、「持続可能性」とは企業の婉曲表現に過ぎないと書いていた。私の言う「エンジニアリングの卓越性」も、単なる個人的な自己防衛メカニズムなのかもしれない。