Who’s that Uncle Bob?
An unofficial resumed biography
Introduction
Every now and then a beginner programmer hears a somewhat mystical name: “Uncle Bob”, or even some of his works. But his historic is more vast than you might think.
If you’re passionate about technology and is currently learning a programming language, in the future you can decide to be a programmer, a developer, or a software developer. What is the difference? Well, if you consider this is my personal opinion, instead of a technical definition.
- A programmer can write simple, and even amusing to run, code, but can’t develop a solid software;
- A developer is a programmer that can think before doing, and even work in group to build a software, but it doesn’t follow basic rules, so they all die quickly;
- Finally, a software developer can not only write software, but good software, caring about readability, scalability, maintainability and other principles for software
Despite considering myself a beginner developer, I decided to face the huge challenge that is reading and reading thoroughly a technical book in this area and not only this. Since writing stuff in the internet got me excited, the goal is to write, chapter by chapter a review about the book “Clean Code”.
But none of that makes sense if you don’t know the full backstory of the author, his other books, and all his “gang” (most known for the Agile Manifesto). So, in order to help our community and knowing the man behind the myth, let’s dive in “Who’s that Uncle Bob?”.
“Bob. Uncle Bob.”
Robert C. Martin, or Uncle Bob, as most would call, is a software engineer, instructor, and best-selling author, consultant and a living legend in software, working professionally since 1970! To give some clarity, here’s a chart of the most popular programming languages back then.
C (which is considered the “Mother of All Languages”) was launched only in 1972, your beloved Python would only appear 21 years after Bob started (1991) and Java four years later (1995). Enough respect? No?
Well, he and his friends (both from his company, Object Mentor, and the Agile Manifesto group) only helped to mold how professionals build software today! From Object Oriented principles, patterns and practices in software, modeling (with UML). He has published dozens of articles in various trade journals, and is a regular speaker at international conferences and trade shows.
Ask some software architects or engineers with more than ten years of professional experience to recommend you three books. “The Mythical Man-Month”, “The Pragmatic Programmer” or “Design Patterns: Elements of Reusable Object-Oriented Software” may not even appear, depending on who you ask, but “Clean Code” surely will be in all lists.
Did you know?
There is a little epilogue in the book “Clean Code”, great to read and reflect. Robert tells that back in 2005 he was presented by Elisabeth Hendrickson (founder of Quality Tree Software) with a green wristband written “Test Obsessed” on it, and since then he’s been using it all the time. Sometimes they broke, so he replaces it as soon as possible with a new one, like when he posted this on twitter:
In case you are wondering where his nickname came from, there are some statements posted on the internet about that story, by the man himself. It’s not that impressive, only a funny nickname that was given back in 1989 by a coworker and it stuck.
Conclusion
Rabobank promoted in Utrecht (Netherlands) a two day event called “Coding a Better World Together”, where Bob gave presented a workshop for a crowd of developers about clean code and clean architecture based on his books, and you can easily find the first day video clicking here.
My recommendation is to grab a giant bucket of popcorn and watch all in one day, despite not practicing, as an introduction before reading his book. If you dare, watch it a second time taking notes and a third time practicing, then read the book.
You can see how smart Robert is by watching only a small bit of the workshop, talking (and a lot) about software principles in development, astronomy, math, history, corporate world, and other subjects that most, what called “programmers”, might not even have heard about it!
In sum, Uncle Bob is that guy that sees a problem thinks “I can solve it, I can solve it good, and I’m going to solve it”; That’s a great personality attribute of leaders and people who make changes. If you want to become a professional and respected software developer, the technical work of Robert Cecil Martin is a requirement for you to read, and that impulse of getting things done and done good is what must drive you everyday single day.
References:
- Authors: The Agile Manifesto: https://agilemanifesto.org/authors.html
- Robert C. Martin, author profile in IEEExplore: https://ieeexplore.ieee.org/author/37291880700
- Robert C. Martin, author profile in InformIT: https://www.informit.com/authors/bio/361A5E70-F1E2-432B-9928-B30B4742AE80
- Most Popular Programming Languages 1965–2019: https://www.youtube.com/watch?v=Og847HVwRSI&ab_channel=DataIsBeautiful
- The Agile Manifesto: https://agilemanifesto.org/
- Robert C. Martin tweet: https://twitter.com/unclebobmartin/status/219544384083988481
- Robert Martin nickname explanation in a forum: https://news.ycombinator.com/item?id=7706794
- Tweet by Bob explaining his nickname: https://twitter.com/unclebobmartin/status/992068043370098688
- Rabobank — https://www.rabobank.nl/over-ons
- Rabobank — Uncle Bob lecture about Clean Code: https://www.youtube.com/watch?v=SVRiktFlWxI&ab_channel=Rabobank