Q2 2024
Aggressive Optimization and Flexible Types
The modern workplace simply sucks. Looking around this sick world, it may just be a reflection that our civilization sucks and we should never have stopped hunting and gathering. I was feeling the echoes from Paul Graham's "You weren't meant to have a boss" essay, and a paradox was tearing at me: I'm an entrepreneur focused on freedom, but I don't want to further my freedom at the expense of others. Your freedom is your problem, not mine.
So I stopped trying to design an organization with fixed roles, structure, and rules. Instead, I embraced the tyranny of a flat organization dedicated to outcomes rather than feelings. The Savage Hiring Program was born. One requirement: use and extend Adama. Performance measured in two ways -- you found demand in the market, or you pleased me with a contribution. I would not make contribution easy. My feedback would be like Christmas because feedback is a gift.
The philosophy behind it was personal. I reflect on Bak Mei from Kill Bill -- the stern old master who knows his craft and mirrors the cold brutality of mother nature. Combine that with the Japanese concept of a Takumi dedicating their entire life to singular craft, and you approximate how I feel about code. I did well at Amazon because principal engineers put me in my place and I was humbled, and the humility let me grind and learn. I laughed internally at people who cried at their desks because I was getting stronger every day.
If you find demand and build something real, I want you to be free to run your own business with our full support. A fair cut on revenue (1-5%) until a buy-out value is achieved. The incentive is to grow you rather than exploit you. I want you standing on your own two feet breathing free air. Most importantly, I want you to be able to tell anyone "no" without consequence. That's freedom.
Using Adama should be easy, and the skill to build is entrepreneurial in nature. Effectively extending Adama Platform requires deep understanding of programming languages, databases, distributed systems, graphics, browser technology, streaming network protocols, and mathematics. With guidance, the potential for growth is unlimited and you can actually use everything you learned in a computer science degree. When does that ever happen?
On the technical side, the type system got real attention. When I started building Adama, I focused on maximal forward progress, which produced a beautiful mistake in the type system. The specific problem: anonymous inline objects need inferred types, but those types need to be deduplicated across the codebase. {name:"John"} creates an anonymous class, but two identical anonymous objects shouldn't create two different classes.
The boss fight appeared with arrays. [{name:"John Jones"}, {name:"James John"}] needs to type as a single array type. This forced a two-phase algorithm. Phase one: estimate types in read-only mode (creating intermediate types that get thrown away). Phase two: join all estimates into a maximum type. For compatible objects, pick the existing class. For incompatible objects like [{x:1}, {y:2}], create a union class where both fields become maybe<int>. Then in the upgrade phase, anonymous objects introduce default values for missing fields.
The ternary operator needed the same treatment. picker ? {x:1} : {y:2} has to unify into a single type. The SupportsTwoPhaseTyping interface handles this at the expression level. There are still broken cases -- mixing a function return with an anonymous object in an array doesn't work yet -- but the foundation is solid enough to be useful while I clean up the edges.
By July, I was reviewing hundreds of resumes and channeling that frustration into a second round of savage hiring. The cover letter became the filter. No cover letter, not local, no stellar resume? Instant rejection, no guilt. Cover letter and local? Short list for round two. Round two wasn't a traditional skills test -- I can do a l33t code interview and have done thousands, but that's just an IQ test. An IQ test doesn't measure savageness.
A savage doesn't accept bullshit excuses. Housing shortage? Live in a van. No investors locally? Move. Feeling stupid? Read a book, do some math, write some code. I want people willing to dream big and suffer appropriately for those dreams. Before this sounds like hustle culture nonsense: I also believe success isn't driven alone. The value in what you know is dwarfed by who you know. Find ambitious people. Reverse engineer the smartest person in the room.
The quarter was a distillation. The type system work was about getting the foundations right so developers can write natural code without ceremony. The hiring philosophy was about finding people who refuse to be domesticated. Both are expressions of the same principle: mediocrity is a disease, and the cure is doing hard things with precision and refusing to settle.