Programming is a really cool profession… largely thanks to Uncle Bob. Today writing code is not just an in-demand career but a pleasant one in many respects, and a good many of those respects are owed to our hero today.
Robert Cecil Martin, or, as he likes to introduce himself, Uncle Bob, formulated the SOLID principles, which the community today regards as foundational. The programmers' Five Commandments. He defined the rules of “clean code,” which are also a kind of axiom. And he is one of the creators of the Agile Manifesto, which in turn allowed software to be built in a more informal environment, with flexible teams and people working in an entirely different kind of organization.
And yet this same Uncle Bob gets only about 20 lines in the English-language Wikipedia. And having read the few lines above, quite a few programmers have already abandoned us as readers, busy typing a hater's comment. Even though it is hard to dispute Uncle Bob's enormous contribution to everyone who earns their living with code today. Liked or not (I've given myself away: I'm in the first camp), our Uncle Bob deserves attention as a colorful personality with a fascinating Digital Story.
Bobby and Zucky
Who are the heroes of the digital world? Fall in, count off. Bill Gates, Jobs, Bezos, Zuckerberg… those we know, but they are more the heroes who capitalized on it. And the ones who actually built it have stayed in the shadow of the newly minted philanthropists and sages behind multibillion-dollar companies.
Take Brendan Eich, the creator of JavaScript. The language changed our relationship with software forever by “putting” everything into the browser; millions make their living with it, billions use it every day. Yet what you'll mostly find online about Eich today is that he is skeptical of the measures taken against COVID.
Something similar is happening with Uncle Bob. Why is that—doesn't he deserve the spotlight? We'll get there, but first let's talk about his contribution to software engineering, and through it to the digital world, to the present we all live in.

Bobby and Me, Having Coffee
At the risk of sounding a bit rude (but he likes that approach), Uncle Bob is now Grandpa Bob. He is 69 today, with more than half a century of programming behind him, and he still works as a software engineer. That sounds funny against today's job ads in the industry, where five years of experience is practically considered half a career.
That doesn't bother him one bit. As he says in one of his few interviews, “I am a programmer. I love being a programmer. I want to write code until I die. To quote one of my idols, Isaac Asimov: I dream of being found with my nose stuck between the keys of my keyboard.”
Who exactly the Uncle works for as a programmer today, we don't know. Good old Wikipedia tells us he has two companies: Uncle Bob Consulting, which runs training courses, and Clean Coders, which makes training videos.
His few interviews and media appearances, and his blog, don't offer much detail. He doesn't like talking about himself at all—we know he was born on December 5, 1952, but who his parents are, how many children he has, what he likes to eat for dinner… we're unlikely ever to find out. He would not make a successful Instagram influencer.
A SOLID Start
So here is why Uncle Bob ranks among the greatest figures of the computer world.
We began with a comparison to Moses and the Commandments. Well, it certainly doesn't reach the dimensions of a religion, not least because that wouldn't fit the rest of Uncle Bob's image at all. But it is true that millions of programmers begin their journey with the SOLID principles. The five axioms of object-oriented programming are a mandatory part of training, just as they are a fixture of job interviews for junior developers. They really are like little verses you are expected to know at the start of your career, even if someone wakes you up in the middle of the night.
Of course, it's not as if they have never been challenged. In this business there are no undisputed truths. But the fact is there isn't a programmer in the world who couldn't recite them for you.

Old and Battle-Scarred
Yes, it was Uncle Bob who formulated them. I don't know whether he climbed Mount Sinai like Moses; maybe his imagination just didn't stretch far enough to bring them up to ten.
Uncle Bob doesn't claim to have invented the five SOLID principles himself (or that God dictated them to him, as far as I know). One is even named after the researcher who formulated it—Barbara Liskov. But he gathered them together, explained them in detail and with logic, and, as a finishing touch, slapped on the catchy acronym that became an essential part of every programmer's slang. Clearly at the right moment and in the right way, so that they could never be forgotten.
And since we're on biblical associations, it's time for the other huge star in Uncle Bob's biography: the “Last Supper” of 2001.
The Uncles
If you work in software, you've surely guessed what I mean. On a cold winter evening in 2001, a small ski lodge in Utah took in 17 “bright minds” who had work to do so important that it would change an entire enormous industry.
The whole elite of the profession was there. But instead of sipping red wine in peace and reminiscing about their youth, the uncles wrote one very, very short document that changed everything.
They wrote a manifesto. Like Marx and Engels, except nothing like them. What “came out” of that lodge is called the Agile Manifesto, and it truly changed the way generations of programmers to come would work. It brings together 12 principles, which later gave rise to the concrete working methodologies by which the software world is organized today.

Uncle's Tangle
“Responding to change over following a plan”—that one of the 12 “programmers' commandments” says almost everything. (Here is the brief manifesto in Bulgarian translation.)
Well, our Uncle Bob was not only one of the most active participants in the meeting, he was also the one who organized it.
I would call the manifesto, for all the oddness of the comparison, a kind of Bauhaus for programmers.
Before these 12 little sentences appeared and unleashed the change, work in software teams was like any other manufacturing—you made a plan, built a prototype, and then the factory started churning out identical products. After 2001 that changed: dynamic forms of work emerged, which are a separate and very interesting Digital Story of their own.
Remembering Uncle
Either way, here we have our Uncle Bob's second remarkable intervention, hugely important for the creation of software. And for everyone who uses it.
By now, I hope, I've convinced you that we're talking about a very special person. Which brings us to the more interesting part.
I type “SOLID principles” into Google: 464,000,000 results.
Agile? Only 193,000,000.
Then I open the English-language Wikipedia, where “Robert Cecil Martin” gets… five lines of biography and 278 words in total (including the list of books he has written).
How can that be?!

Uncle's Way
The short answer is this: Uncle Bob doesn't mince words when communicating with other programmers, or with society at large. And society, in a way, pays him back in kind. His books (and especially Clean Code) are bedside reading for anyone who wants to peer into the logic of programming beyond the obvious. And at the same time most readers pretend the author doesn't exist.
Besides not giving a hoot about anyone, he has the “luck” to work in a field where authorities find it very hard to break through. It's easy to get started, even to get good enough to find a job and be useful to the team for many years. But few programmers choose to go deeper, to dig into concepts and fundamentals.
Does a Horse Eat Bob?
Could it be that time has refuted his ideas? Hardly.
It's a fact that they are disputed. Over the years, quite a lot of criticism has piled up against the very concepts Martin proposes. Many specialists in the computer world don't recommend the rules set out as “Clean Code” (here, for example, is a collection of interesting arguments why). We won't go into the technical side of things; our goal is Uncle Bob's fascinating digital story. Still, in his defense: his system has proven itself over the years, but it's only natural for the programming world to change and evolve.
Academic computer scientists have never been his most ardent admirers, but it's a fact that Uncle Bob's books have helped millions of programmers in their careers and have made countless software projects considerably more secure, stable and written by the rules.

Uncle Bob and Uncle Sam
Gradually, though, he acquired the image of an odd bird. And of an author who tries too hard to simplify a complex profession like programming. The years fly by, and he sticks to his rules and principles, which he keeps preaching, believing that the foundations of software engineering remain the same even if the details change.
In my view, he's right.
Rather, today's attitude toward him stems from things that have nothing to do with programming.
I'll say it straight: he got the image of a racist, a homophobe and a misogynist. From what I've read, the grounds are rather far-fetched. Uncle Bob does like to be brief and clear, sometimes at the expense of nuance, and we all know that Western society has become obsessive in recent years with its criteria for pinning such labels.
Uncle Bob and Uncle Trump
Fine, Uncle Bob admits he voted for Trump as a judgment between two terrible choices… and that's probably understandable; we in Bulgaria gave up long ago on looking for anything better than “the lesser evil.”
“I voted for Trump because I thought he was the better of two extremely bad options. He said crazy things. He changed his mind about the truth. But many of his policies had good results. I support the good things. I don't support the bad ones.”
Did I mention he's a programmer? Well, I'll tell you something else: programmers often slip into the computer paradigm, just like the artificial intelligence in Uncle Bob's own example. They look for the right solution.

Uncle Under Fire
The charges of sexism are also dubious. No, he hasn't made remarks like the ones everyone has heard from programmers about which sex is better at this job. He simply insists that the English word for an artisan should be “craftsman,” which contains the word “man,” rather than a more gender-neutral term.
As for racism, he says American football players who don't stand during the national anthem should be fired.
Also, at the height of last year's events after the death of George Floyd, he wrote: “The police are not the problem. The police have never been the problem. Lack of trust in them is a terrible solution that could cost hundreds and thousands of lives.” He says the police don't act out of racist motives and that the U.S. is not a country built by slaves.
Uncle Bob and Uncle Vanya
Otherwise, Uncle Bob still gives lectures to this day… though it's evident he's invited far less often. He writes regularly on his website (which—programmers reading this will appreciate the irony—doesn't even have an SSL certificate). He posts on Twitter and uploads new projects to GitHub. He writes mostly about programming. Much more rarely he allows himself a political comment.
Our hero certainly knows how to get inside a subject; he writes wonderfully and engagingly and offers fresh perspectives on technological problems. I know it's strange, but I came across several Russian forums where they call him “the American Chekhov.”
Uncle Bob also writes about topics like test-driven development. He advises software engineers to work together more often, writing code side by side, discussing and commenting.

Uncle's Tongue Twister
“You're not done when it works, you're done when it's right,” he adds. Well, I'm starting to understand why people don't particularly like him these days. Maybe he's simply right.
He often brings up the Agile movement, which in his view has failed in its core goals. It never managed to put programmers' work front and center at the expense of managers. “Even though it started precisely with programmers, with the idea of saying: ‘Hey, look! The team matters. The code has to be clear. We want to work together with the customer. And we want to deliver more often and with quality.’ But we also wanted to introduce the craftsmanship approach. It's not about new things, it's about old things. About doing good work, adding value. About interaction, communication, collaboration. About adaptive productivity and responding to change. About professionalism and ethics.”
“Today, to get hired as a programmer, it's enough to say you understand computers. I think the software industry now resembles medicine in the Dark Ages,” Uncle Bob also says. “Anyone can claim to be a healer. Some will be good, others won't, because there are no clear standards. But few of the ‘healers’ will have heard of the Hippocratic Oath.”
Whoa, Uncle
“True professionals in our profession have no bosses. They are partners, not subordinates of the business. They can be hired, but they are not workers. Just as you hire doctors or lawyers but don't manage them or teach them how to do their jobs. Imagine giving advice to the surgeon performing your heart operation. It's the same absurd concept,” he adds in his typical blunt style.
He recounts that in 1975 he was fired as a programmer, just as his wife was pregnant with their first child. “But it was a very instructive experience. I made some stupid mistakes. Not in my code, but in my behavior.”
Contrary to the prevailing view, Uncle Bob believes a person can keep working as a software engineer for a very, very long time. In his opinion, it's by no means necessary at some point to switch to managing people.
“Many young programmers will face the dilemma of whether to keep growing. They will feel that their career is limited unless they decide to climb the management ladder too. Utter nonsense! Your career is limited by your passion and your abilities, not by whether you take up management. If you want to be a technical superstar, go boldly ahead! Believe me, there is both a need and a market for master craftsmen, who will always be well paid. Don't let anyone push you down a path you didn't choose yourself, and never let your employer decide your career for you.”

Listen to Your Uncle
It's worth mentioning that Uncle Bob is a skeptic when it comes to artificial intelligence, or at least of our approach to the subject today. He likes to tell the story of Watson, one of the famous prototypes, recommended even for the role of U.S. president. While it was competing in—and winning—the popular TV quiz show Jeopardy!, one of the questions put to it was: “Name a U.S. city with an airport named after a World War II hero.” “Toronto!” the artificial intelligence declared.
“In the end, Watson is a computer, and with computers there are always clear reasons why they do one thing or another. There was certainly a reason it did that. But no human of average intelligence would have been fooled like that. And yet Watson won. Now they tell us that artificial intelligence will soon be driving cars, and doing it far more safely than humans. My answer is: Toronto!”
A Classic of the Genre
Today Uncle Bob really has lost some of the halo he had a decade ago. But that's down to reasons far removed from his actual work. Without question, many more generations of programmers will advance in the profession with his lessons. And we certainly don't need to worry about him. His books still sell like crazy and sit on every bestseller list, even though they were written quite a while ago.
The question is how we judge who did what.
In that sense, before we part, let's give the floor to the accused one last time. Three years ago he was asked why his opinions were so often met with hatred on the subreddit /r/programmers. He replied that he had no idea what a subreddit even was.

The Marketplace of Ideas
“But I know there are people who don't like my opinions for one reason or another. That's perfectly fine. I believe in the marketplace of ideas. If their ideas are better, they will win.
Some people don't like the fact that I'm a conservative and a Republican. Some don't like that I voted for Donald Trump. That's perfectly fine. I believe in the marketplace of ideas. If my views on politics are wrong, they will win.
Meanwhile, I've been programming for 48 years. That's quite rare. Very few people have written code for 48 years without a break. That evident experience gives me some position of authority. I also think I'm a reasonably good writer, and that helps.
Either way, there's plenty of room for all of us.”
To finish, I'd definitely like to say one word to Uncle Bob. Thank you! Without you my profession would certainly be nastier… And so would the world, swallowed up by technology. SOLID and Agile are concepts that have made our lives better. And you're entitled to your ideas, Uncle, as I am to mine. The marketplace of ideas is certainly a cynical phrase, in your inimitable way… but maybe there's a grain of truth in it.
Keep not being impressed by other people's opinions. And may your Asimov dreams come true…





