“You will never be able to understand any of what I’ve created. I am Albert F***ing Einstein and you are all monkeys scrabbling in the dirt.”
And so our resident genius, our Dr. Jekyll, explosively completed his transformation into Mr. Hyde.
He declared this in front of the product design team, developers, management, and pre-launch customers. One of our project sponsors had the temerity to ask when the problem crippling our product would be fixed.
Genius is a fickle beast. Sometimes you have the good fortune to work with a mad genius. Other times you are doomed to work with…
One of the most prominent mistakes made by development teams is doing too much work.
Last time you were in crunch mode on a project, did you think “this is going great”? Crunch time is the penance we pay for the poor decisions we made earlier in the project. In particular, the decision to do too much work.
I have spent many years architecting and developing enterprise software. I cut my teeth with an internship at HP and survived a harrowing stint at an imploding start-up before moving on to a more stable career track. …
Humans stink. It’s nothing to be ashamed of: it is the inevitable consequence of our animal nature.
But humans aspire to be more than animals.
Humanity’s singular endeavor throughout history has been the journey to eliminate stink. We’ve always hated it. Even in antiquity, we sent people on ridiculous journeys around the world in rickety sailboats, and across deserts on tiny horses, to find some remedy for it.
We have iterated for thousands of years to reach a stink-free world. From the invention of soap and toothpaste to the Yankee Doodle Candle Co. …
My first startup experience began with a job interview in a coffee shop. It ended in a high-speed motorcycle chase at a place called Rattlesnake Bar.
It shouldn’t have gotten that far. I should have bailed out at the coffee shop. Since I didn’t, I learned a lot that I’m now able to share.
Come with me if you want your startup to live.
We were operating out of a garage. It didn’t seem abnormal.
I had recently attended an elite Silicon Valley university where starting a garage business was the norm.
Google had been founded in another garage a…
Thirty-six seconds after launch, lightning struck the Apollo 12 and its six million pounds of high explosive fuel.
The instruments blacked out.
Twenty-two seconds later lightning struck again. What few instruments remained started flashing red failure lights.
The “you’re about to die” alarm started blaring.
Over the radio the crew heard the voice of John Aaron: “Flight, try SCE to Aux.” Astronaut Alan Bean flipped the tiny switch immediately.
And that’s why I’m showing you this historic photograph instead of a picture of three headstones at Arlington National Cemetery.
November 14, 1969 was the day that John Aaron became known…
We stared at the flickering embers of our previous life. We wouldn’t survive another journey through the flames. We had one choice: grow or perish. We chose to grow.
Laurence Peter formulated the principle that “managers rise to the level of their incompetence” in 1969. In particular, non-technical leaders have earned a poor reputation with software developers.
Office Space depicts the non-technical manager in Bill Lumbergh, pictured above. Dilbert provides the classic “Pointy-Haired Boss.”
This article is for anyone who wants to effectively orchestrate a development process without becoming the butt of your team’s water-cooler jokes. I’ll share what I’ve learned over the years managing development and release processes as a manager and software architect at UCLA and Stanford University.
The biggest lesson I’ve learned is that the key…
The concept of legacy conveys permanence, value, and the greatness we bequeath to our children and our successors in the community.
People make ludicrously generous donations to charitable causes to establish their legacy. They create eponymous endowments or buildings and strive to protect the name their children will inherit.
It’s therefore striking that software developers have gotten their “legacy” so catastrophically wrong.
Google “legacy,” and you’ll see the first definition matches what I’ve laid out for you here. It’s a definition that’s persisted since the 14th or 15th century.
The second definition provides a shocking contrast:
legacy. adjective (computing) “denoting…
You have a shiny new CQRS system, it’s “dev complete,” and you’re about to start integration testing. And the 800-pound gorilla that was sleeping in the corner during your domain discussions wakes up.
Without a single glance at your comprehensive domain diagrams, engaging user stories, UI mock-ups, or well-documented acceptance criteria, it bursts through the dotted-line “context boundary” that was supposed to hold it back.
The gorilla rampages around the building shattering entities, reducing value to rubble, uprooting aggregates, and generally destroying all consensus on the project. Gorilla, thy name is Legacy Integration.
Legacy systems and process integration can sink…
We were supposed to fly to London, then after a few days go on to Brussels by way of the Chunnel. We stood at the gate with our carry-on bags and were about to head down the ramp. When a huge family of 10 came running into the gate area, bags and jackets flying everywhere as they thudded to a stop in front of the gate desk.
“Sorry, guys — no room for standby passengers.”
My friend Matt and I were trying to save as much money as possible on our first trip to Europe. This meant flying standby without…
Engineering Manager @Netflix