searchlore

Back to Resource

All Segments

Uncle Bob - The Long Reach of Code, Automating Programming, and Developing Coding Talent

Uncle Bob - The Long Reach of Code, Automating Programming, and Developing Coding Talent

39 segments available

Robert Martin (aka Uncle Bob) is a programming pioneer and bestselling author of Clean Code. We discuss the prospect of automating programming, spotting and developing coding talent, occupational licensing, quotas, and the elusive sense of style. Episode website + Transcript: https://www.dwarkeshpatel.com/p/uncle-bob Apple Podcasts: https://apple.co/3wI8rGr Spotify: https://spoti.fi/3pVcr2H Follow me on Twitter to be notified of future content: https://twitter.com/dwarkesh_sp Listen to Robert's fascinating talk on the future of programming: https://youtu.be/ecIWPzGEbFc Read Robert's blog about programming: http://blog.cleancoder.com/ Buy Robert's books on Amazon: https://www.amazon.com/kindle-dbs/entity/author/B000APG87E 0:00 Automating programming 8:40 Educating programmers (expertise, talent, university) 21:45 Spotting talent 26:10 Teaching kids 29:31 Prose and music sense in coding 32:22 Occupational licensing for programmers 35:49 Why is tech political 39:28 Quotas 42:29 Advice to 20 yr old

Segments Timeline

1
0:00 - 2:30
2:29 duration367 words

The Future of Programming: Automation Myths

Robert Martin discusses the potential of AI, specifically GPT-25, to automate programming tasks. He argues that true automation would require human-like sentience, which is far from our current capabilities. Martin emphasizes the importance of human intuition and detail management in programming, asserting that while tools may evolve, the need for skilled programmers will remain.

"okay today i'm talking with robert martin who needs no introduction so let's begin with talking about the future of programming will gpt-25 be able to automate programming will i not have a job in 25 ..."

1
0:00 - 2:30
2:29 duration367 words

The Future of Programming: AI's Role

In this segment, Robert Martin discusses the potential of AI, specifically GPT-25, to automate programming tasks. He argues that true automation would require human-like sentience, which is far from our current capabilities. Martin emphasizes the importance of human intuition and intelligence in programming, highlighting the complexities that machines cannot yet handle.

"okay today i'm talking with robert martin who needs no introduction so let's begin with talking about the future of programming will gpt-25 be able to automate programming will i not have a job in 25 ..."

2
2:30 - 5:10
2:40 duration420 words

Symbiotic Programming: Man and Machine

In this segment, Martin explores the evolution of programming tools and environments, suggesting that future development may resemble a symbiotic relationship between programmers and machines. He draws parallels to advancements in programming languages and tools over the decades, highlighting how modern IDEs enhance programmer capabilities while still requiring human oversight.

"jobs i'm happy to hear that then but how about this uh potential which is that the development environments and the tools that programmers use will become so advanced that'll be almost like a symbioti..."

2
2:30 - 5:10
2:40 duration420 words

Symbiotic Programming: Humans and Machines

Robert Martin explores the evolution of programming tools and environments, suggesting that future development may resemble a symbiotic relationship between programmers and machines. He reflects on the advancements in programming tools over the decades and asserts that while these tools will enhance productivity, the need for human oversight will remain crucial.

"jobs i'm happy to hear that then but how about this uh potential which is that the development environments and the tools that programmers use will become so advanced that'll be almost like a symbioti..."

3
5:10 - 7:30
2:20 duration352 words

Programming: A Continuous Evolution

In this segment, Martin discusses the continuity of programming practices from Alan Turing's time to the present. He acknowledges that while programming interfaces have evolved, the fundamental concepts of sequence, selection, and iteration remain. He speculates on future programming paradigms that may involve more intuitive interactions with machines.

"it's not [Laughter] but once you get these advanced tools well the future of programming just look incredibly different from what programming machine is like now you've written about how um the the wa..."

3
5:10 - 8:00
2:50 duration434 words

The Role of Leadership in Programming Teams

Martin shares insights on the dynamics of programming teams, emphasizing the necessity of leadership. He critiques the notion of egalitarian teams without leaders, arguing that a leader is essential for guiding creative direction and managing the diverse ideas generated by team members.

"it's not [Laughter] but once you get these advanced tools well the future of programming just look incredibly different from what programming machine is like now you've written about how um the the wa..."

4
8:00 - 11:30
3:30 duration538 words

Educating Future Programmers: Challenges and Opportunities

In this segment, Martin reflects on the challenges faced by new programmers in today's complex ecosystem. He compares the learning curve of modern programming to his early experiences, noting that while it takes longer to become proficient, the field still allows for generalist skills unlike highly specialized professions such as medicine.

"that we have had in the agile community is that there's a certain faction of agilists who believe there should not be a leader that the entire team is homogeneous and equal in a mass egalitarian socie..."

4
7:30 - 9:30
2:00 duration338 words

The Learning Curve for New Programmers

Robert Martin addresses the challenges faced by new programmers today, noting that the complexity of modern programming ecosystems makes it harder for them to reach expertise. He contrasts the past simplicity of programming with today's intricate systems, emphasizing that while the learning curve has increased, programming is still more accessible than fields like medicine.

"analytical and a detail manager and is watching out for all the dumb little gotchas that the machine has no clue and no strategy for addressing i'm happy to hear that our teams and programmers less cr..."

5
9:30 - 11:00
1:30 duration221 words

Rethinking Computer Science Education

In this segment, Martin critiques the current state of computer science education in universities. He argues that programming is not inherently a university discipline and suggests that the approach to teaching programming should be reevaluated to better suit the evolving nature of the field.

"usually have it do but that was a very simple machine it was a 4k machine 12-bit word half megahertz clock rate and there were no libraries there were no frameworks there was no nothing right if if so..."

5
11:30 - 13:00
1:30 duration259 words

Rethinking Computer Science Education

Martin critiques the current state of computer science education in universities, suggesting that programming is not inherently a university discipline. He advocates for a reevaluation of how programming is taught, emphasizing the need for practical, hands-on learning experiences over traditional academic approaches.

"practitioners gotcha let's talk about the factories which manufacturer programmers uh to become universities if you had to change one thing about how computer science has taught in universities what w..."

6
10:30 - 12:55
2:25 duration377 words

Rethinking Computer Science Education

In this segment, Uncle Bob critiques the current state of computer science education in universities. He argues that programming is a trade-like skill that can be better learned through community colleges or trade schools rather than traditional university programs. He believes that the focus should be on practical skills rather than theoretical knowledge, which often overwhelms students.

"while we were working on the other hand it is not like being a doctor yet if you want to become a doctor you must specialize there's there's no way to go forward in medicine without specializing even ..."

6
12:55 - 14:10
1:14 duration265 words

The Demand for Programmers vs. Corporate Lawyers

Uncle Bob explores the paradox of why many still pursue careers as corporate lawyers despite the growing demand for programmers. He discusses the different mindsets required for programming and law, emphasizing that while programming can be learned quickly, not everyone possesses the analytical skills necessary for success in coding.

"programmers not go to university it's not worth a four-year education the amount of money you'll spend on that for four-year education is not going to be worth the programming knowledge you get now it..."

7
12:55 - 14:10
1:14 duration265 words

The Demand for Programmers vs. Corporate Lawyers

Uncle Bob explores the paradox of why many still pursue careers in corporate law despite the lucrative opportunities in programming. He discusses the different mindsets required for programming and law, emphasizing that while programming can be accessible, not everyone possesses the analytical skills necessary for it. He reflects on the rarity of true programming talent.

"programmers not go to university it's not worth a four-year education the amount of money you'll spend on that for four-year education is not going to be worth the programming knowledge you get now it..."

7
14:10 - 16:43
2:32 duration380 words

Identifying Programming Talent

In this insightful discussion, Uncle Bob shares his thoughts on the rarity of programming talent. He reflects on his early belief that anyone could learn programming and how his experiences have shown him that the ability to focus and think analytically is not common. He estimates that about 1% of the population has the aptitude for programming.

"what explains this in equilibria i'm going to try and interpret that question uh carefully there are there are when when i was a young programmer i thought anybody could do this that was my my fundame..."

8
16:43 - 19:20
2:37 duration472 words

The Role of Mathematics in Programming

Uncle Bob addresses the common misconception that a strong mathematics background is essential for programming. He shares his experiences hiring individuals with math degrees and discusses the differences between mathematical thinking and programming skills. He concludes that while math can be beneficial in certain fields, it is not a prerequisite for most programming jobs.

"i know i've i've got i've had a number of experiences trying to teach people to program and not being able to get through after about 10 minutes you know their brain just goes somewhere else they can'..."

8
14:10 - 15:56
1:45 duration268 words

Identifying Programming Aptitude

In this insightful discussion, Uncle Bob estimates the percentage of the population that has the aptitude for programming. He shares his experiences in teaching programming and highlights the challenges faced by many in grasping programming concepts. He concludes that while programming talent is not exceedingly rare, it is not as common as one might think.

"what explains this in equilibria i'm going to try and interpret that question uh carefully there are there are when when i was a young programmer i thought anybody could do this that was my my fundame..."

9
19:20 - 20:44
1:23 duration249 words

Understanding Business for Programmers

In this segment, Uncle Bob emphasizes the importance of understanding the business context in which programmers operate. He explains that effective programming requires knowledge of the industry, allowing programmers to apply their skills to solve real-world problems. This understanding is crucial for making informed decisions in coding and software development.

"even the guys who do um game work even though that's pretty heavy physics stuff all that physics stuff is already in the physics engines so most of the time there i think you don't need all that math ..."

9
15:56 - 18:40
2:44 duration467 words

The Role of Mathematics in Programming

Uncle Bob addresses the common belief that a strong mathematical background is essential for programming. He shares his experiences hiring individuals with math degrees and discusses the differences between mathematical thinking and programming mindset. He concludes that while math can be beneficial in certain fields, it is not a prerequisite for most programming jobs.

"of the population do you think has a repertoire necessary to become a programmer oh tough question for to ask um what percentage of the of the human population has the aptitude for programming i think..."

10
18:40 - 20:44
2:03 duration353 words

Understanding Business as a Programmer

In this segment, Uncle Bob emphasizes the importance of understanding the business context in which programmers operate. He explains that effective programming requires knowledge of the industry and its specific challenges. This understanding allows programmers to apply their skills more effectively, bridging the gap between technical knowledge and business needs.

"of good math right on the other hand if you're uh a run-of-the-mill programmer writing code for uh oh i don't know maybe uh yeah siri just yelled at me for saying run of the mill um uh if you're going..."

10
20:22 - 21:40
1:18 duration240 words

Specialization vs. Broad Experience

In this segment, Uncle Bob explores whether aspiring programmers should specialize in a specific industry or develop a broad range of experiences. He advocates for a balanced approach, suggesting that programmers should spend a few years specializing in one domain before exploring others, which helps them understand the similarities and differences across various business sectors.

"brings us full circle because you had asked me originally and you'd said well aren't we going to eventually have these machine learning things that can write code and the answer to that is probably no..."

11
20:22 - 21:40
1:18 duration240 words

Specialization vs. Broad Experience

In this segment, Uncle Bob explores whether programmers should specialize in a specific industry or develop a broad range of experiences. He advocates for a balanced approach, suggesting that programmers should spend a few years specializing in one domain before exploring others to build a comprehensive understanding of various business contexts.

"brings us full circle because you had asked me originally and you'd said well aren't we going to eventually have these machine learning things that can write code and the answer to that is probably no..."

11
21:40 - 24:23
2:43 duration471 words

Assessing Programming Talent

Uncle Bob shares insights on how to evaluate potential programming talent, emphasizing the importance of observing a candidate's learning process over time rather than relying on traditional tests. He suggests that apprenticeship programs, which present a series of challenges, can be an effective way to assess a candidate's capabilities and fit for a programming role.

"three or four of them in your head you can start to triangulate now when you are considering hiring somebody as a programmer and they don't have a lot of experience so you can't just you can't just lo..."

12
21:40 - 24:23
2:43 duration471 words

Assessing Programming Talent

Uncle Bob shares insights on how to evaluate potential programming talent, emphasizing the importance of observing a candidate's learning process over time rather than relying on traditional tests. He suggests that apprenticeship programs can provide a better framework for assessing a candidate's capabilities through a series of challenges beyond just coding.

"three or four of them in your head you can start to triangulate now when you are considering hiring somebody as a programmer and they don't have a lot of experience so you can't just you can't just lo..."

12
24:23 - 26:09
1:45 duration277 words

Nurturing Programming Interest

In this segment, Uncle Bob reflects on whether programming skills are innate or can be developed over time. He shares personal anecdotes about his children, illustrating that interest in programming can emerge at different life stages. He questions the effectiveness of early programming education tools and whether they genuinely inspire interest in programming among children.

"some cases there's a stipend salary for that apprenticeship program in other cases there's not interesting do you suspect that the traits that are required to become a programmer these are developed i..."

13
26:09 - 29:30
3:20 duration541 words

The Debate on Mandatory Coding Classes

Uncle Bob discusses the value of introducing basic programming concepts to students in middle and high school. He believes that while everyone should have some exposure to programming, there is no need for extensive mandatory courses. Instead, he suggests that those genuinely interested in programming will pursue it independently, highlighting the importance of fostering interest rather than enforcing curriculum.

"mystery to me are there advantages to learning this material and adopting these skills early in life or do you get a more mature perspective if you learn it later on in life had you asked me that ques..."

13
24:23 - 26:09
1:45 duration277 words

Nurturing Programming Interest

In this segment, Uncle Bob reflects on whether programming skills are innate or can be developed over time. He shares personal anecdotes about his children, illustrating that interest in programming can emerge at different life stages, and discusses the effectiveness of early programming education tools in fostering talent.

"some cases there's a stipend salary for that apprenticeship program in other cases there's not interesting do you suspect that the traits that are required to become a programmer these are developed i..."

14
26:09 - 29:30
3:20 duration541 words

The Debate on Early Coding Education

Uncle Bob debates the necessity of mandatory coding classes in schools, suggesting that while basic programming exposure is beneficial, a year-long course may not be essential. He believes that those genuinely interested in programming will pursue it independently, highlighting the importance of fostering interest rather than enforcing curriculum.

"mystery to me are there advantages to learning this material and adopting these skills early in life or do you get a more mature perspective if you learn it later on in life had you asked me that ques..."

14
29:30 - 32:22
2:51 duration448 words

Developing a Programmer's Sense of Style

Uncle Bob draws parallels between a writer's development of prose and a programmer's evolution of coding style. He references Michael Feathers' concept of 'design sense' and discusses how programmers cultivate their unique style over time, suggesting that this sense is akin to the elusive qualities found in writing.

"right um let me ask you about the sense of style that a programmer develops over time is this at all related to what has been called the elusive writers here where a writer over time develops a sense ..."

15
29:30 - 32:22
2:51 duration448 words

Developing a Programmer's Sense of Style

Uncle Bob discusses the concept of a programmer's 'sense of style,' comparing it to a writer's development of prose. He references Michael Feathers' term 'design sense' and explores how programmers cultivate their unique coding styles over time, emphasizing the importance of experience and practice in this development.

"right um let me ask you about the sense of style that a programmer develops over time is this at all related to what has been called the elusive writers here where a writer over time develops a sense ..."

15
32:21 - 35:14
2:52 duration436 words

The Need for Ethical Standards in Programming

Robert Martin argues for the establishment of ethical and technical standards in programming, likening the need for a governing body in software engineering to the American Medical Association for doctors. He highlights the growing dependency on programmers in society and the potential dangers of unregulated programming practices.

"interesting um so let's talk about your idea for or your claim that we need some sort of body within software engineering that decides who has the ethical and the technical competence necessary to bec..."

16
32:19 - 35:14
2:54 duration439 words

The Need for Ethical Standards in Programming

Robert Martin argues for the establishment of ethical and technical standards in programming, likening it to the medical profession's licensure. He highlights the growing dependency on programmers in society and the potential risks of unregulated programming practices, advocating for a self-regulated industry before government intervention.

"definitely a correlation interesting um so let's talk about your idea for or your claim that we need some sort of body within software engineering that decides who has the ethical and the technical co..."

16
35:14 - 39:26
4:12 duration624 words

The Political Landscape of the Tech Industry

Uncle Bob examines why the tech industry appears to be politically charged, noting geographical biases in political orientation among programmers. He discusses how the accessibility of programming has allowed marginalized communities to gain a voice, which can sometimes lead to contentious cultural dynamics, including cancel culture.

"completely there are a number of companies that have begun to do this right so you look out in the world out there of cons especially software consulting firms and there are software consulting firms ..."

17
39:28 - 40:35
1:06 duration176 words

The Dangers of Quotas

Uncle Bob discusses the implications of implementing quotas in programming and education. He argues that while the intention behind quotas is often well-meaning, they can lead to lowered standards that ultimately harm both the industry and the individuals they aim to support. He emphasizes the importance of merit-based systems to ensure quality and fairness.

"uh let me ask you about quotas i i i think you let a really good argument in your blog uh about why quotas don't necessarily help the groups you're trying to help does the argument you laid out there ..."

17
35:14 - 39:26
4:12 duration624 words

The Political Landscape of Tech

Uncle Bob examines why the tech industry appears politically charged, noting geographical biases in political orientation among programmers. He discusses how the accessibility of programming has allowed marginalized communities to gain a voice, which can sometimes lead to contentious cultural dynamics, including cancel culture.

"completely there are a number of companies that have begun to do this right so you look out in the world out there of cons especially software consulting firms and there are software consulting firms ..."

18
40:35 - 41:30
0:54 duration164 words

Merit Over Quotas

In this segment, Uncle Bob shares his perspective on the necessity of meritocracy in programming. He recounts a conversation with a female keynote speaker who feared being invited solely due to her gender, highlighting the potential devaluation of talent that can arise from quota systems. He advocates for hiring based on skill rather than demographic factors.

"right because then you'll see this this failure and we see that in universities and we see it in in employment as well is that the dropout rate or the failure rate is higher it doesn't help i once sat..."

18
39:26 - 39:40
0:13 duration48 words

The Limitations of Quotas

Robert Martin critiques the effectiveness of quotas in promoting diversity within programming. He argues that quotas may not achieve their intended goals and could potentially hinder the very groups they aim to support, emphasizing the need for more nuanced approaches to inclusivity in tech.

"me interesting uh let me ask you about quotas i i i think you let a really good argument in your blog uh about why quotas don't necessarily help the groups you're trying to help does the argument you ..."

19
41:30 - 45:24
3:54 duration701 words

Advice for Aspiring Programmers

Uncle Bob offers practical advice for young individuals aspiring to become programmers. He emphasizes the accessibility of programming education today, encouraging self-learning through online resources and mentorship. He stresses the importance of dedication, reading, and hands-on practice to develop coding skills without the need for formal education.

"i think in general the only way to deal with issues like this is to do it entirely on merit right if you're going to be a programmer we will you know i'm perfectly happy to hire anybody don't i don't ..."

19
40:35 - 41:30
0:54 duration164 words

Merit Over Quotas

In this segment, Uncle Bob shares a personal anecdote about a woman concerned that her achievements might be overshadowed by a quota system. He stresses that hiring and opportunities in programming should be based solely on merit, regardless of background, to maintain industry standards and fairness.

"right because then you'll see this this failure and we see that in universities and we see it in in employment as well is that the dropout rate or the failure rate is higher it doesn't help i once sat..."

20
41:30 - 45:24
3:54 duration701 words

Advice for Aspiring Programmers

Uncle Bob offers practical advice for young individuals aspiring to become programmers. He highlights the accessibility of learning resources available online, the importance of mentorship, and the value of self-study. He encourages aspiring programmers to immerse themselves in coding and to seek opportunities in the industry, emphasizing that the demand for skilled programmers is high.

"i think in general the only way to deal with issues like this is to do it entirely on merit right if you're going to be a programmer we will you know i'm perfectly happy to hire anybody don't i don't ..."