Clean Code - Uncle Bob / Lesson 1
UnityCoin6 HN recommenders · 2020–2026
2.2M views · lecture · evergreen · Uploaded 2019-08-09
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.
38:47RailsConf 2014 - All the Little Things by Sandi Metz
Confreaks
1:01:39"Simple Made Easy" - Rich Hickey (2011)
Strange Loop Conference
25:06"Making Impossible States Impossible" by Richard Feldman
elm-conf
1:03:55🚀 TDD, Where Did It All Go Wrong (Ian Cooper)
DevTernity Conference
1:00:19How To Design A Good API and Why it Matters
Google TechTalks
31:44The Value of Values with Rich Hickey
InfoQ
32:56Bret Victor The Future of Programming
Joey Reid
1:04:04Overwatch Gameplay Architecture and Netcode
GDC Festival of Gaming
8 comments from Hacker News
I think "caring" is probably the only one that separates the best from the rest. Reminds me of this: [VIDEO] If we care as a developer, we write better code, learn things and listen to our team, customers.
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: [VIDEO]
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: [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: [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.
Clean Code series by Bob Martin (Uncle Bob) Changed the way I read/write code and my perspective about programming in general. [VIDEO]
> 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] [VIDEO]
If you're going to do this I recommend you at least take these things at heart: Why do developers slow down > [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
> 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) [VIDEO]