I consider Robert Cecil Martin my personal mentor, i learned a lot from him like be humble , always learn , think about design , stay your ground when your boss or client say :"you need lower your software quality creation techniques", teach other developers make sure to spread professionalism . This insights which i got from Robert Cecil Martin and i keep doing doing till the end and into infinity . People respect craftmanship and clean coders you will learn a lot!
2:43 The polarity of the water molecule is actually the other way around: the oxygen atom takes the electrons away from the hidrogen, the remaining proton from the hidrogen can even split away, so any volume of water has a specific percentage of free protons H⁺ and free OH⁻ radicals. The percentage of free protons H⁺ is also known as pH (which in turn affects other chemical properties).
Unless you have worked with him for any length of time it seems. Read about the stories of those who have. William Mitchell is one of several I read. He is definitely wrong as it applies to working at the better software development house, or on AI or quantum AI, and most Open Source projects, as many others here have said and explained. I guess Uncle Bob is a bit of a dinosaur who is not willing to learn any new lessons that contradict his old beliefs. Seems to sum up what a bunch here have said. Seems to think you have to be a programmer for 20 years to be truly professional, and that the variant of agile he sells is the best way. However, he is wrong, although I guess it is easier than staying current, and I am sure his "educational" lectures help promote what he sells, so he can keep food on the table at home
@@bobmarengo8322 If you read stories from those people who worked with Steve Jobs, he was not a pleasant person to work with either. Yet, he was the man who changed the world. I believe lots of people benefit from clean code and Agile, that is why many people agree with Bob. Again, all tech evolve and methodologies need adopt new changes.
I thought so towards the beginning. But he is so wrong on a lot of things. I read what William Mitchell and others had to say about Uncle Bob and he sprinkles generalization with a LOT of incorrect conclusions.
This talk should be given to management not programmers. Like hell a programmer can just say to their boss "no we need to do on this time frame to be safe". The manager is going to go "look my manager is breathing down my neck I don't have a choice either" For Bob's rules to work we would need to completely overhaul how management and workers communicate and honestly would have to change how the economy as a whole works. Nobody just gets to sit down and make good code. On some level if investors are demanding returns in a certain time period you don't have a choice. It's do it on their schedule or they stop investing in the company and go to someone else who will do what they want when they want. Until the market demands good code then shit code is going to be produced.
Rally Upp you really wanna start making money ? Look in to becoming a web developer/programmer . I’m telling you man...there is a huge market for it...and it’s fun and rewarding. You don’t need college either or math.
"We will not ship sh*t" and "two week iterations" are incompatible principles. If you thought the point of agile was to have a constant adapt and inspect cycle, I've got a bridge in Brooklyn to sell you. The real point of agile, that is, why agile ever actually took off, is because businesses saw it as their opportunity to decide to ship sh*t in whatever half-finished form it's in at the end of the iteration, and shuffle the programmers on to whatever the next feature is on their roadmap. "We will not ship sh*t" means wresting control away from the business and giving it to programmers, the actual professionals whose job it would have to be (if it's anyone's) to care about quality and know how to produce quality. But agile is entirely about putting the business in the driver's seat instead, so agile is of no ultimate use to help us improve quality. We haven't failed to come up with an ethics code because "we're only 70 years old" etc etc. There are fields that are 20 years old and are fully licensed and credentialed with authoritative bodies. We haven't come up with an ethics code because for at least 60 years of our history the entire business-side has been convinced programmers aren't real professionals, they're just a nuisance and ought to be gotten rid of: We'll have "COBOL" and it will be readable by "business people" so we won't need programmers! We'll have outsourcing and we can send out specs off to India and we won't need programmers (that we can see/ever have to talk to)! We'll have AI and it will write code for us and we won't need programmers! Etc etc.
Uncle Bob has very good intentions in mind with his expectations. BUT, in today's IT business reality, he avoids the main question - who's gonna pay? You want quality, then get your massive wallet out. Otherwise we'll be regulated and the business will simply go to India :)
Professionals do work that brings money in. Once you realize that the majority of programming we do is either useless playthings that offer no real world value, or is just fixing the old useless shit we've made earlier, you realize that when we cut that crap we have a huge pot of gold to work with in order to do valuable work without risking quality. :D
LOL half+ the testers are from India. and we're in this back and forth like Uncle Bob says. do you trust that QA is doing their job right? Who's quality checking the QA?
OH COME ON, NOT AGAIN.. I hadn't realized Mr. Martin had gone on to do this "expert" lecturer thing. Thought he had retired or something. I worked with Mr. Martin years ago. He was a fair at best programmer then... but so were most of us. However, he was almost as outspoken then as he seems to be now. We would joke about his views on so many things, like his belief in the need for perpetually more meetings, his dislike of many of the new languages and his distorted views on his own skills. It was obvious how he would often shift work from him onto other people and blame the "lack" of meetings for bugs, rather than taking personal responsibility. He would take credit for when things went right.. regardless of whether he had anything to do with the success. He would usually do it behind closed doors, but it got back to all the other programmers and managers. It was virtually always someone or something else's fault. He was seldom really someone anybody felt was really in the trenches with the rest of us, despite the fact that he was supposed to be. I think his skills limitations in terms of programming and projects were not due to any lack of core ability, but instead, were due to an attitude that he always seemed to have about turf battles, his skills, and power/control. Attitude guides perspective, and we would often comment about how, for such a seemingly nice guy, he had such a bad attitude and poor perspective and almost zero vision on so many things. It was almost uncanny how he got so many things wrong, but that he could argue his own perspective for days on end. Often, many gave in... at least until the results of following his approach resulted in him blaming anyone but himself. Seems like his ivory-tower syndrome developed into a bit more of an old-man-get-off-my-porch syndrome since then. But I'm not surprised. Just know that he was never a go-to kind of a professional then on anything much beyond basic programming, as he was never a very forward thinking, nor a highly skilled professional. Instead was one of those guys that always seemed to want to protect and stay with what he already knew and believed, like it was better than almost any new thing-- despite performance, efficiency, safety and other advantages of several of the newer languages and development approaches that he would summarily reject. Surely you need some of those types of people in the world... just wish he didn't feel so compelled to try to inform others as if he was the fount of undeniable knowledge, since he continues to be wrong about at least as many things as he is right about. There are certainly supportable truths, but one of them is definitely NOT that people in his day, nor people who worked around and with him, produced better code. Even though most coding was much less complex, verbose and had many fewer contributors than when I worked with Mr. Martin, we had more errors per 1,000 lines then compared to now. In fact, some major company (think it was IBM) developed a process called 'joint application development' around the 80's that was meant to reduce the calamity of code errors rising exponentially as a function of rising code complexity, due to the natural evolution of computers and what was expected of them. I see that he glosses over that as well. Just thought people should know and be careful of this guy and not just believing what he says. I know first hand that it is was a BAD idea that has gotten worse with the more entrenched he has become with age in is incorrect beliefs. Again, he is a nice enough guy... just not the level of professional he claims, based on those who have worked with him.
I know what you mean. I do AI programming, and a bit of quantum-AI. I am fortunate to work with some of the greatest programmers in the world. People that could all write the own tickets and were some of the most actively recruited people in the world. They are almost all under 25. They make people like Bob Martin look like a rank amateur. The idea of Agile is dying in many areas of programming. Not because it is not optimal. Not because it causes a high amount of interruptions. It is dying in AI, quantum computing, open source and other areas because it simply does not work. It is bad enough that the average 1 week Scrum agile like he is talking about, across 10 programmers requires spending an average of 75 man hours on meetings (about $15,000 per week per 10 of our programmers). That would be fine if the meetings paid off. The problem is that capping-off software just to make it "shippable" each week leads to an average of 15% lost productivity (another $12,000 per week times every 10 programmers), plus a loss of optimal development architecture and structure, which is so well known that it has turned that approach into a punchline of a joke (what causes software to take twice as long, have 3 times the bugs and completely lack real innovation... Agile). Agile has its place, especially when managing inexperienced programmers, working on medium and low innovation development projects. So, I am not surprised to hear what you have to say about Bob Martin. He is definitely out of touch with things, and is blaming the wrong things for the problems he experienced.
@Bob Marengo, _"I am fortunate to work with some of the greatest programmers in the world. People that could all write the own tickets and were some of the most actively recruited people in the world. They are almost all under 25"_ Hah, your lack of experience is showing. Some of the best programmers I've known are even older than Robert (aka Uncle Bob). I doubt you and your buddies under 25 are as great as you claim. Discipline and domain knowledge is not something that is easily attained, even after a decade of working in the same field; more so when it comes to AI and quantum computing. Most people whose expertise is in math/sciences are terrible at programming. You're dreaming if you think otherwise. One of the recent projects I had to work on was solely refactoring code written by a young biologist (a genius at that), but didn't understand concurrency or know how to write maintainable code. His level of coding knowledge just barely touched the surface of OOP, and he wrote bash scripts to compile his project instead of using the proper tools for compilation and dependency management. It was a nightmare cleaning up his mess. Robert's skills are more of a generalist, focused on abstraction rather than the implementation details. The end goal is to ensure the project survives future changes, develop reusable components, and can be easily rewritten if needed to work with different technologies. Meetings are needed to clarify things and to ensure the project is headed the right direction. You say you do AI, then surely you know about Tensorflow. How would you manage a project as large as Tensorflow? A lot things that Robert discusses are still valid for these types of projects.
It takes more than 1 developer to fail a multi-person project. _"despite performance, efficiency, safety and other advantages of several of the newer languages and development approaches that he would summarily reject"_ What language or development practice did he reject?
xtm8 Maybe you don’t go around the same circles, but that’s Robert from Chris’s Swift team re Google that you are claiming is inexperienced. They are the ones making it happen and they don’t use ‘Uncle Bob’s’ outdated approaches and beliefs and run some of the largest ML/DL AI teams in the world. He is right about not ‘ship-capping’ everything off every two weeks- or every week as Uncle Bob likes. Love to see how Uncle weekly Bob’s approach would have worked with AlphaZero, as it would have more than doubled the time and half the team would have been placed at another company before it was over.
God, I find the bullying, aggressive, hyper-confident, shiny-suited tone of this man so tiresome. I guess it's making him a lot of money. He belongs in the Sales department, not R&D. Never trust someone who has no humility to teach you anything. If they have no humility, they are not learning, themselves.
Try using Unity, it crashes so many times, so many bugs, so i should rewrite Unity who will pay me? Invent my own engine and how would i compete with the industry? It's a mess and we have to live with it and try todo the best we can.
I consider Robert Cecil Martin my personal mentor, i learned a lot from him like be humble , always learn , think about design , stay your ground when your boss or client say :"you need lower your software quality creation techniques", teach other developers make sure to spread professionalism . This insights which i got from Robert Cecil Martin and i keep doing doing till the end and into infinity . People respect craftmanship and clean coders you will learn a lot!
Of all the presentations I've heard around this topic, I find this is his best one yet.
this is a redo of this talk. He did it years ago at Experts Mobil Talks called "The Future of Programming" and it was a good talk then back in 2016.
He’s such a joy to listen to and watch.
2:43 The polarity of the water molecule is actually the other way around: the oxygen atom takes the electrons away from the hidrogen, the remaining proton from the hidrogen can even split away, so any volume of water has a specific percentage of free protons H⁺ and free OH⁻ radicals. The percentage of free protons H⁺ is also known as pH (which in turn affects other chemical properties).
at the biggest physics laboratory in the world... he was brave talking about that :)
It's so sad people don't like him. I wish everyone aspired, and had a long term goal to be like him.
This is how you film / put a presentation on RUclips.. Speaker AND Slides.
thanks.
You must be a brave software engineer to start talking about water molecules in the biggest physics laboratory in the world
Nice talk BTW!
6:31 start of the subject.
As always, words of wisdom
Welcome to chemistry class by Uncle Bob!
Fun starts at 35:00
Uncle Bob never disappoints. :D
Unless you have worked with him for any length of time it seems. Read about the stories of those who have. William Mitchell is one of several I read. He is definitely wrong as it applies to working at the better software development house, or on AI or quantum AI, and most Open Source projects, as many others here have said and explained. I guess Uncle Bob is a bit of a dinosaur who is not willing to learn any new lessons that contradict his old beliefs. Seems to sum up what a bunch here have said. Seems to think you have to be a programmer for 20 years to be truly professional, and that the variant of agile he sells is the best way. However, he is wrong, although I guess it is easier than staying current, and I am sure his "educational" lectures help promote what he sells, so he can keep food on the table at home
@@bobmarengo8322 If you read stories from those people who worked with Steve Jobs, he was not a pleasant person to work with either. Yet, he was the man who changed the world. I believe lots of people benefit from clean code and Agile, that is why many people agree with Bob. Again, all tech evolve and methodologies need adopt new changes.
don't forget to watch The S.O.L.I.D. Principles of OO and Agile Design - by Uncle Bob Martin ruclips.net/video/t86v3N4OshQ/видео.html
Wize message and imperative to apply
This talk is amazing.
I thought so towards the beginning. But he is so wrong on a lot of things. I read what William Mitchell and others had to say about Uncle Bob and he sprinkles generalization with a LOT of incorrect conclusions.
This talk should be given to management not programmers. Like hell a programmer can just say to their boss "no we need to do on this time frame to be safe". The manager is going to go "look my manager is breathing down my neck I don't have a choice either" For Bob's rules to work we would need to completely overhaul how management and workers communicate and honestly would have to change how the economy as a whole works. Nobody just gets to sit down and make good code. On some level if investors are demanding returns in a certain time period you don't have a choice. It's do it on their schedule or they stop investing in the company and go to someone else who will do what they want when they want. Until the market demands good code then shit code is going to be produced.
Good video btw. Makes me want to go enroll in College to learn more.
Rally Upp college is a waste of time bruh
@@Cognitoman me slaving my life away working 2 jobs seems to be a waste of time as well. Need that educational break. 😆 Would be nice.
Rally Upp you really wanna start making money ? Look in to becoming a web developer/programmer . I’m telling you man...there is a huge market for it...and it’s fun and rewarding. You don’t need college either or math.
@@Cognitoman i'm 42. a successful developer. i am going back to college to learn more. keep your shit ass advice to yourself, son.
@@Cognitoman sounds like a solid advice to always be below average
"We will not ship sh*t" and "two week iterations" are incompatible principles. If you thought the point of agile was to have a constant adapt and inspect cycle, I've got a bridge in Brooklyn to sell you. The real point of agile, that is, why agile ever actually took off, is because businesses saw it as their opportunity to decide to ship sh*t in whatever half-finished form it's in at the end of the iteration, and shuffle the programmers on to whatever the next feature is on their roadmap.
"We will not ship sh*t" means wresting control away from the business and giving it to programmers, the actual professionals whose job it would have to be (if it's anyone's) to care about quality and know how to produce quality. But agile is entirely about putting the business in the driver's seat instead, so agile is of no ultimate use to help us improve quality.
We haven't failed to come up with an ethics code because "we're only 70 years old" etc etc. There are fields that are 20 years old and are fully licensed and credentialed with authoritative bodies. We haven't come up with an ethics code because for at least 60 years of our history the entire business-side has been convinced programmers aren't real professionals, they're just a nuisance and ought to be gotten rid of:
We'll have "COBOL" and it will be readable by "business people" so we won't need programmers! We'll have outsourcing and we can send out specs off to India and we won't need programmers (that we can see/ever have to talk to)! We'll have AI and it will write code for us and we won't need programmers! Etc etc.
Uncle Bob has been on the crusade for well over a decade and yet businesses do Scrum instead of professionalism.
The RELIGION of science..
was once a follower myself
Uncle Bob has very good intentions in mind with his expectations. BUT, in today's IT business reality, he avoids the main question - who's gonna pay? You want quality, then get your massive wallet out. Otherwise we'll be regulated and the business will simply go to India :)
Professionals do work that brings money in. Once you realize that the majority of programming we do is either useless playthings that offer no real world value, or is just fixing the old useless shit we've made earlier, you realize that when we cut that crap we have a huge pot of gold to work with in order to do valuable work without risking quality. :D
Does that mean Indian developers are not good programmers?
LOL half+ the testers are from India. and we're in this back and forth like Uncle Bob says. do you trust that QA is doing their job right? Who's quality checking the QA?
OH COME ON, NOT AGAIN.. I hadn't realized Mr. Martin had gone on to do this "expert" lecturer thing. Thought he had retired or something.
I worked with Mr. Martin years ago. He was a fair at best programmer then... but so were most of us. However, he was almost as outspoken then as he seems to be now. We would joke about his views on so many things, like his belief in the need for perpetually more meetings, his dislike of many of the new languages and his distorted views on his own skills. It was obvious how he would often shift work from him onto other people and blame the "lack" of meetings for bugs, rather than taking personal responsibility. He would take credit for when things went right.. regardless of whether he had anything to do with the success. He would usually do it behind closed doors, but it got back to all the other programmers and managers. It was virtually always someone or something else's fault. He was seldom really someone anybody felt was really in the trenches with the rest of us, despite the fact that he was supposed to be.
I think his skills limitations in terms of programming and projects were not due to any lack of core ability, but instead, were due to an attitude that he always seemed to have about turf battles, his skills, and power/control. Attitude guides perspective, and we would often comment about how, for such a seemingly nice guy, he had such a bad attitude and poor perspective and almost zero vision on so many things. It was almost uncanny how he got so many things wrong, but that he could argue his own perspective for days on end. Often, many gave in... at least until the results of following his approach resulted in him blaming anyone but himself.
Seems like his ivory-tower syndrome developed into a bit more of an old-man-get-off-my-porch syndrome since then. But I'm not surprised. Just know that he was never a go-to kind of a professional then on anything much beyond basic programming, as he was never a very forward thinking, nor a highly skilled professional. Instead was one of those guys that always seemed to want to protect and stay with what he already knew and believed, like it was better than almost any new thing-- despite performance, efficiency, safety and other advantages of several of the newer languages and development approaches that he would summarily reject.
Surely you need some of those types of people in the world... just wish he didn't feel so compelled to try to inform others as if he was the fount of undeniable knowledge, since he continues to be wrong about at least as many things as he is right about. There are certainly supportable truths, but one of them is definitely NOT that people in his day, nor people who worked around and with him, produced better code. Even though most coding was much less complex, verbose and had many fewer contributors than when I worked with Mr. Martin, we had more errors per 1,000 lines then compared to now. In fact, some major company (think it was IBM) developed a process called 'joint application development' around the 80's that was meant to reduce the calamity of code errors rising exponentially as a function of rising code complexity, due to the natural evolution of computers and what was expected of them. I see that he glosses over that as well.
Just thought people should know and be careful of this guy and not just believing what he says. I know first hand that it is was a BAD idea that has gotten worse with the more entrenched he has become with age in is incorrect beliefs.
Again, he is a nice enough guy... just not the level of professional he claims, based on those who have worked with him.
I know what you mean. I do AI programming, and a bit of quantum-AI. I am fortunate to work with some of the greatest programmers in the world. People that could all write the own tickets and were some of the most actively recruited people in the world. They are almost all under 25. They make people like Bob Martin look like a rank amateur. The idea of Agile is dying in many areas of programming. Not because it is not optimal. Not because it causes a high amount of interruptions. It is dying in AI, quantum computing, open source and other areas because it simply does not work. It is bad enough that the average 1 week Scrum agile like he is talking about, across 10 programmers requires spending an average of 75 man hours on meetings (about $15,000 per week per 10 of our programmers). That would be fine if the meetings paid off. The problem is that capping-off software just to make it "shippable" each week leads to an average of 15% lost productivity (another $12,000 per week times every 10 programmers), plus a loss of optimal development architecture and structure, which is so well known that it has turned that approach into a punchline of a joke (what causes software to take twice as long, have 3 times the bugs and completely lack real innovation... Agile). Agile has its place, especially when managing inexperienced programmers, working on medium and low innovation development projects.
So, I am not surprised to hear what you have to say about Bob Martin. He is definitely out of touch with things, and is blaming the wrong things for the problems he experienced.
@Bob Marengo, _"I am fortunate to work with some of the greatest programmers in the world. People that could all write the own tickets and were some of the most actively recruited people in the world. They are almost all under 25"_
Hah, your lack of experience is showing.
Some of the best programmers I've known are even older than Robert (aka Uncle Bob). I doubt you and your buddies under 25 are as great as you claim. Discipline and domain knowledge is not something that is easily attained, even after a decade of working in the same field; more so when it comes to AI and quantum computing. Most people whose expertise is in math/sciences are terrible at programming. You're dreaming if you think otherwise. One of the recent projects I had to work on was solely refactoring code written by a young biologist (a genius at that), but didn't understand concurrency or know how to write maintainable code. His level of coding knowledge just barely touched the surface of OOP, and he wrote bash scripts to compile his project instead of using the proper tools for compilation and dependency management. It was a nightmare cleaning up his mess.
Robert's skills are more of a generalist, focused on abstraction rather than the implementation details. The end goal is to ensure the project survives future changes, develop reusable components, and can be easily rewritten if needed to work with different technologies. Meetings are needed to clarify things and to ensure the project is headed the right direction.
You say you do AI, then surely you know about Tensorflow. How would you manage a project as large as Tensorflow? A lot things that Robert discusses are still valid for these types of projects.
It takes more than 1 developer to fail a multi-person project.
_"despite performance, efficiency, safety and other advantages of several of the newer languages and development approaches that he would summarily reject"_
What language or development practice did he reject?
@@bobmarengo8322 Sounds like a bit of narcissist personality disorder IMO.
xtm8 Maybe you don’t go around the same circles, but that’s Robert from Chris’s Swift team re Google that you are claiming is inexperienced. They are the ones making it happen and they don’t use ‘Uncle Bob’s’ outdated approaches and beliefs and run some of the largest ML/DL AI teams in the world. He is right about not ‘ship-capping’ everything off every two weeks- or every week as Uncle Bob likes. Love to see how Uncle weekly Bob’s approach would have worked with AlphaZero, as it would have more than doubled the time and half the team would have been placed at another company before it was over.
around 50:00 is good, but yea what is he say he can give me a precise estimate and you can't why he can and you can't? xD
Try to explain the event's of life in a scientific way
doesn't not know how to use a clicker but ...
God, I find the bullying, aggressive, hyper-confident, shiny-suited tone of this man so tiresome. I guess it's making him a lot of money. He belongs in the Sales department, not R&D. Never trust someone who has no humility to teach you anything. If they have no humility, they are not learning, themselves.
Try using Unity, it crashes so many times, so many bugs, so i should rewrite Unity who will pay me? Invent my own engine and how would i compete with the industry? It's a mess and we have to live with it and try todo the best we can.