So basically what he kept doing to Square / Block
So basically what he kept doing to Square / Block
Weβre preparing to announce our first RubyConf 2026 keynote. This yearβs keynote speakers represent voices that push the language and community forward in meaningful ways. Stay tuned for the reveal. π«’
There's something I have struggled with for years, and still do at times, something that has done harm that I need to acknowledge and own up to.
A deep sense of anger, resentment, and grievance.
That intoxicating feeling, the certainty that you are right and just.
I know that place well.
It's been a while, but sometimes when you first read something you're not really ready for it
Hate destroys, love builds.
I have to remind myself of this daily, and I still frequently fail. I have failed so many times, and I can only apologize, and hope to learn and grow from my foolishness.
Don't live a life of anger and rage, it's a miserable existence.
In the end, the world we create will reflect the spirit we carry.
If we carry rage we will build a world full of it.
But if we carry love? The stubborn belief, and insistence that people matter and the future can be better?
Then even our battles can become acts of building, not destruction.
So I have to remind myself constantly:
Hold to my convictions, but reject contempt. Choose to love and understand.
It's not easy, I get that.
Anger is addictive.
Grievances are seductive.
Self-righteousness feels so powerful in the moment.
But in the end? None of that creates the type of world most of us want to live in.
Less rage, more laughter. Less certainty, more curiosity. Less obsession with being right, more focus on understanding, healing, and building together.
A foundation based in anger and rage will only poison all you care about, and erode everything you care about.
A foundation of love, love of people, of possibility, of what the world could become? Well that world starts to look a lot different.
It doesn't mean abandoning your conviction, but grounding it in something much stronger. Not a feeling of "I must win and defeat you" but "I want to build a better world."
I have to remind myself, constantly, is a much harder lesson:
To live from a place of love and empathy rather than rage.
To laugh, to notice beauty in the world, and to believe in people beyond their worst moments.
Rage feels powerful, exhilarating even, but rage does not build. It destroys.
You cannot build a healthy world from a foundation of rage and contempt, but you can certainly destroy one.
The real question isn't whether you're justified, that's easy to pretend, but whether or not what you're doing is creating the future you claim to desire.
In all of this there was a lesson I needed to learn:
Anger is a sign, but it is not a strategy.
Building your identity on grievance only ends up with that grievance becoming more important than the outcomes you claim to care about.
I know this because I've done it, I've lived it, and I've regretted it.
I've escalated when I should have listened.
I've burned trust when I should have protected it.
I've let my certainty justify abhorrent behavior.
For that, and many things, I am sorry.
When your anger becomes your default state, your root, the world becomes very simple:
Disagreements become malice.
Mistakes become betrayals
Nuance disappears, and the answers are so very obvious.
In that simplicity you can do so much damage, all while feeling like you're the hero of this story.
It's a dangerous place, that feeling of self-righteous anger.
It feels like clarity, courage, an unyielding moral strength to overcome adversity.
What it actually is is a corrosive force that will destroy you from the inside out.
There's something I have struggled with for years, and still do at times, something that has done harm that I need to acknowledge and own up to.
A deep sense of anger, resentment, and grievance.
That intoxicating feeling, the certainty that you are right and just.
I know that place well.
Square is not the company I left anymore. The level of callousness to fire half the workforce is a tragedy. I'm so sorry to anyone impacted by this change and hope you all land safely.
Yeah. That and curating them for repeat use. I swear I spend so much time trying to get a pallete going that I admittedly sometimes use Kuler or AI to get ideas and dial things in.
When I'm making a talk it's all the repetitive elements like shading that get to me across tens of illustrations. That and curating and deciding on swatches.
True enough, there's always _some_ room to do things but the idea of orienting on capabilities is that those lower the barrier to effectiveness from an order of months to weeks to potentially days or hours.
The cheaper we make it to do the right thing the more likely it is to happen organically.
The job now becomes acting as a catalytic force to fundamentally change how teams operate, and the level they can operate at.
We're not staring at blank sheets of paper wondering what to do anymore, we're refining on top of an imperfect vision of what could be.
That's a dramatic shift.
It still does in many ways, but now we have ways to condense that into tools which make reasonable approximations of that expertise, enough so to get them above the threshold of justifying further investment.
It does not need to be 100% accurate, it just needs to prompt investment.
That's still true, but a majority of that work was around capability. We need to raise the base level of engineers to where they are capable of this work, with or without seasoned experts present.
Previously that required a lot of political capital to up-level and train.
How do we increase the capabilities of teams? How do we programmatically up-level them and make this work cheaper and easier to deliver? How do we make sure that they understand the problem / framework / language?
I've said in the past that monolith decomposition efforts are a very social problem.
Normally my posture in that situation is to raise a campaign and get teams to buy in with a deliverable date far enough out that they can close existing threads, but that takes months and a lot of coordination to land.
With AI I've found myself very heavily weighting towards #3.
Using AI I have taken work that should have taken multiple months and delivered it within a week. The work was not difficult, but the coordination was, and the capacity was just not there. That meant that I needed to fundamentally change the equation to land things.
Often times #2 is extremely difficult, so we get into heroics which captures #1, but not every company rewards that. Some will, some will actually punish it.
The needle that ICs without HC/Planning can move tends to be more around #3:
How do we make this work cheap, easy, and fast?