Clean Code - Uncle Bob / Lesson 1
UnityCoin6 HN recommenders · recommended in 7 months, 2020-2026
2.2M views · 7 years ago · lecture · evergreen
The first lesson of Uncle Bob (Robert C. Martin)'s "Coding Better World Together" series. It makes the case for clean code and for treating software craftsmanship as an ethical and professional responsibility. It runs about 109 minutes.
HN commenters call it better than the Clean Code book, a must-watch for engineers that changes how they read and write code.
1:23:35"Uncle" Bob Martin
Program on Entrepreneurship
179K views • 11 years ago
1:23:35Bob Martin SOLID Principles of Object Oriented and Agile Design
People career
517K views • 11 years ago
1:13:24The Principles of Clean Architecture by Uncle Bob Martin
NorfolkDevelopers
591K views • 10 years ago
58:39Robert C Martin - Clean Architecture and Design
gnbitcom
285K views • 12 years ago
1:18:21"Uncle" Bob Martin - "The Future of Programming"
Paul Stringer's Mobile Tech
1.8M views • 10 years ago
28:03Object-Oriented Programming is Embarrassing: 4 Short Examples
Brian Will
2.2M views • 10 years ago
1:06:39Ruby Midwest 2011 - Keynote: Architecture the Lost Years by Robert Martin
Confreaks
172K views • 14 years ago
1:06:44Programming is terrible—Lessons learned from a life wasted. EMF2012
tef ebooks
1.7M views • 13 years ago
22:41"Clean" Code, Horrible Performance
Molly Rocket
1.2M views • 3 years ago
44:35Object-Oriented Programming is Bad
Brian Will
2.6M views • 10 years ago
42:21Where Does Bad Code Come From?
Molly Rocket
282K views • 5 years ago
55:17Google I/O 2009 - The Myth of the Genius Programmer
Google for Developers
1.2M views • 17 years ago
49:54The Clean Architecture in Python
Next Day Video
114K views • 12 years ago
1:07:58Software Art Thou: Glenn Vanderburg - Real Software Engineering
Zendesk
35K views • 8 years ago
1:02:30"Agile Methods The Good, the Hype and the Ugly," Bertrand Meyer
Association for Computing Machinery (ACM)
18K views • 11 years ago
1:29:27The Forgotten Art of Structured Programming - Kevlin Henney [C++ on Sea 2019]
cpponsea
245K views • 7 years ago
45:50"The Mess We're In" by Joe Armstrong
Strange Loop Conference
398K views • 12 years ago
1:00:49The Art of Code - Dylan Beattie
NDC Conferences
4.9M views • 6 years ago
1:15:58October CincyRb - Jim Weirich on Decoupling from Rails
Launch Scout
48K views • 13 years ago
1:01:40A Philosophy of Software Design | John Ousterhout | Talks at Google
Talks at Google
547K views • 8 years ago
8 comments from Hacker News
> We need a software building code. This wouldn't be allowed to happen with non-software. The fact that anyone can build any product with software, make it work terribly, and when it fails impacts the lives of thousands (if not millions), needs to be stopped. Uncle Bob had a bit to say about this a while ago[1], and is largely what his Clean Code philosophy is trying to achieve, despite the detractors. To the detractors and down-voters... If you're complaining about over-abstraction, arguing about the 'better language' to use, or that 'Clean Code' doesn't work - you're missing the point by a few hundred miles. The whole point of 'Clean Code' is to establish a body of ethics software 'engineers' collectively agree to, and rigorously follow to avoid "killing 10,000 people with a little software failure". If you think you can make a better 'Clean Code', do so! That's the whole point about ethics debates. But! You need to proffer an alternative and prosecute why your version is better than Clean Code. [1] (19:47-24:33) ▶ this video
If you're going to do this I recommend you at least take these things at heart: Why do developers slow down > ▶ this video 80% of developers are unhappy. The problem is not AI, nor is coding > link What you're looking at is starting greenfield development. This always starts in the same way: 'we need to deliver functionality quickly because management wants results'. This always leads to the same issue, where code quality is ignored for sake of delivering functionality, which then leads to development slowing down and both management and devs becoming unhappy. If you want to build something for the long term, I'd recommend starting slow. Get some experienced freelance devs where you do thorough reference checks. Get them to set up a stable core and help in hiring some medior level devs to train. The medior level devs can grow to become the coaches of junior devs and then you can start scaling down the freelance devs. Whatever you do, don't plan to release something within the first year. Don't ask the team to estimate a delivery date within the first six months. After six months you should have a baseline that development can be continued with and then you probably have a team that can start estimating work and has a grasp of what they need to do to deliver something useful. Also, get a good product person, someone who can talk to business, draw out the different parts of the application and explain them to the developers. All of these things are hard, so you really need to comm
> About 700 subpostmasters were prosecuted for fraud and theft and over a hundred sent to prison And at least four purportedly related to these prosecutions committed suicide[1]. Perhaps most alarmingly: prior to 1999, the burden of proof for proving that the Horizon system was working correctly would have fallen to the Post Office (as the prosecutor in these instances) and Fujitsu (as the developer). That rule was changed to presume that the computer system worked correctly unless there was explicit evidence to the contrary[2][3]. A very high barrier for a non-technical person to prove, especially in an extremely complex system. It worries me how many people put unchecked faith into the systems that, now more-or-less, rule our lives whether we like it or not. It worries me even more that a lot of computer programmers, systems engineers, et al, don't understand how their code affects others in bad and unintended ways, and why testing matters so much. Uncle Bob, as divisive as he is, hits this nail on the head with a depleted uranium sledgehammer[4] (19:47-24:33). [1] link [2] link [3] link [4] ▶ this video
Clean Code series by Bob Martin (Uncle Bob) Changed the way I read/write code and my perspective about programming in general. ▶ this video
Maybe it's true at some companies, but it has nothing to do with agile / scrum, but letting non-tech people who love confrontation take over engineering leadership from engineers who are afraid of confrontation (which sounds like the disaster it is). Robert Martin (one of the creators of the agile manifesto) explains it quite well in ,,Clean Code'' presentation: ▶ this video The whole presentation should be a must watch by all engineers so that they understand what _is_ agile to the point when they know it better than product / project managers / non-tech people. It's hard to get a better description than the original source, and no non-tech person has authority to override the real agile at that point.
That's probably great as well, but I'm talking about searching for a book author. Just for example Clean Code is a great book, but the presentation is so much better: ▶ this video
agree i think the other thing is, theres clean architecture and then theres Clean Architecture TM where the thing is taken literally (leading to slavishly applying all the layers with lots of boilerplate, useless mocks and ridiculously coupled unit tests, over architected dependency injectors (assemblies) etc) i was honestly surprised when i watched a series of lectures from mr uncle (bob) where he clarified a lot of things such as "use dependency injection only where it matters" and "unit tests should be replaced with integration tests after a system is finished being implemented" to "slavish following of agile "customs" is unproductive" etc etc i think a lot of issues could be resolved if people took the time to think and listen carefully about these things and not stop at the first couple of search hits for "clean architecture" edit: heres the link: ▶ this video
I think "caring" is probably the only one that separates the best from the rest. Reminds me of this: ▶ this video If we care as a developer, we write better code, learn things and listen to our team, customers.