HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
"Uncle" Bob Martin - "The Future of Programming"

Paul Stringer's Mobile Tech · Youtube · 15 HN points · 25 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention Paul Stringer's Mobile Tech's video ""Uncle" Bob Martin - "The Future of Programming"".
Youtube Summary
How did our industry start, what paths did it take to get to where we are, and where is it going. What big problems did programmers encounter in the past? How were they solved? And how do those solutions impact our future? What mistakes have we made as a profession; and how are we going to correct them. In this talk, Uncle Bob describes the history of software, from it’s beginnings in 1948 up through the current day; and then beyond. By looking at our past trajectory, we try to plot out where our profession is headed, and what challenges we’ll face along the way.

Robert C. Martin (Uncle Bob) has been a programmer since 1970. He is the Master Craftsman at 8th Light inc, an acclaimed speaker at conferences worldwide, and the author of many books including: The Clean Coder, Clean Code, Agile Software Development: Principles, Patterns, and Practices, and UML for Java Programmers.
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
I am not working in industry; I'm such a loner programmer that I struggle in industry. But since my wife likes her work, I have space to write the software I want to write.

My first goal is to make that software good enough and useful enough to create an engineering-only company like Hwaci, the company that does SQLite and Fossil.

If I succeed at that, I'll see about trying to pull in enough money to retire early and do charity work through my church.

But I have another goal for while I'm still in industry. I want to change our industry such that it is a professional industry, with a code of ethics, to where we create software that serves users, not our employers or government.

This means fighting against slurping up user data, serving ads, and other ways that software disobeys users in favor of obeying its creators. I even created a Twitter account to show some of those things. [1]

Yes, that means an uphill battle against basically all of Big Tech, and I don't expect to win. But if I make people think about it, I'll take that as a win.

But regardless, I feel strongly about it because users depend on us to make software that will serve them. If we don't, no one will.

Uncle Bob Martin talked about this. [2] (That link starts at a good point, but the whole talk is worth watching.)

So that's my goal: make good software and change the industry for the better. Lofty, yes, but I'll be satisfied by completing one of those goals.

[1]: https://twitter.com/software_crimes

[2]: https://youtu.be/ecIWPzGEbFc?t=3557

Dec 27, 2021 · 1 points, 0 comments · submitted by rrauenza
According to Robert Martin 50% of developers at any given time have less than 5 years of experience. [1]

[1] https://youtu.be/ecIWPzGEbFc?t=3055

> our whole professional field had to be invented out of thin air

"We shall need a great number of mathematicians of ability; there will probably be a good deal of work of this kind to be done" - Alan Turing, 1945.

You might find this talk by Bob Martin interesting - https://www.youtube.com/watch?v=ecIWPzGEbFc - it's a history of programming that isn't the usual style, but instead about this growth into existance, increasing numbers of programmers, where they came from, and the effects that's had on the industry and on programming languages.

May 28, 2020 · PopeDotNinja on REPL Driven Design
I remember watching a talk of Bob's where he pumped up how good his approach to coding was, and when asked to provide examples, he could/would/did not provide any. Seriously, if you can't demonstrate what you're talking about, I'm just gonna take you less seriously.

I think it was this video, but I can't watch it all the way through right now -- https://youtu.be/ecIWPzGEbFc

I found it! :) I has a lot of content and insights.

"Uncle" Bob Martin - "The Future of Programming"

https://www.youtube.com/watch?v=ecIWPzGEbFc

hota_mazi
That's not the source, it's the claim.

There is zero evidence for his claim that the number of developers double every five years.

ulisesrmzroche
Off the top of my head, coding boot camps
> when you spend 30 seconds making a Reddit submission to save you 3 seconds of googling, what exactly are you accomplishing?

You might have seen someone say "welcome to learning Spanish, if you have any questions just ask!" and simply believed them instead of thinking it was a sperglord den where people were waiting to jump on you for not asking superior enough questions, for one thing. The sidebar of /r/learnspanish even says "If you have a question about anything Spanish-language related, ask and we'll help the best we can!".

For another, when learning something new you're pushing the edge of what you're capable of - what you want is a direct answer to just this sticking point, not a video of "5000 words every beginner MUST know!" or a page of "Twenty False cognates" which might have the answer, or a page of "Introductory Spanish" which is an advert for a training course in another country which isn't even running and hoping you can divert your already-strained attention to digging an answer out of a lot of unrelated stuff; asking a narrow, focused question on just the thing you need might be as much as you can manage. And as you say, you would ask a teacher, you would ask a friend, you would ask an IRC/Discord/etc chat, why would you assume you can't just ask Reddit?

I get it, /r/powershell is full of "how do I get rid of {Name=bob} in my output" because they don't understand the object pipeline, and I answer the ones I want to answer and ignore the ones I don't want to; it simply isn't a sub dedicated to catering "interesting questions for me", and the people who are learning powershell are mostly people with no programming background whatsoever, they're already lost in a pile of syntax, terminology, new tools, grandfathered-in-weird-behaviour, ancient Windows behaviour, filesystem name limitations, web character encoding weirdness, and just can't deal with stopping their five line script to take a course in object orientation before getting any further feedback.

> Like, now everyone has google in their pocket and I only see an uptick in trivial questions. And I think it's because we baby everyone with the mentality seen in your comment instead of training people to be self-reliant.

Agile programmer "Uncle" Bob Martin gave a talk in 2016[1] where he covers the history of programming, from 1 programmer in 1945, through millions in 2016, and estimates a growth rate of number of worldwide programmers doubling every 5 years - that is, every 5 years for the past 70 years, most of the programmers in the world have <6 years experience, continuous state.

You should expect that "everyone has Google in their pocket" leads to an uptick in simple questions simply through growth of people with smartphones, because most people who have a smartphone didn't grow up with the internet, didn't grow up with Google, likely isn't their main hobby or interest, haven't had one (with lots/unlimited mobile data) all that long.

[1] https://www.youtube.com/watch?v=ecIWPzGEbFc

I recently listened to a lecture about the future of programming, and there was a sentence that really stuck out to me. The speaker said something along the lines of "If you go to an agile conference, there aren't that many devs there and it's mostly management.*

As an ops type usually only on the peripheral of sprints etc I feel I don't fully grasp the nuances of the different methods enough to really comment, but that just really got my attention for some reason.

Found the video, linking at the timestamp that includes the manifesto for agile (which I think has some obvious flaws)

https://youtu.be/ecIWPzGEbFc?t=3678

Here are a couple sides of the arguments:

https://www.youtube.com/watch?v=QcDrE5YvqTs -- According to the DOL there is a much smaller than typically quoted wage gap, and there are additional variables not accounted for.

https://www.wired.com/story/the-pernicious-science-of-james-...

Also WRT forcing women: "Uncle" Bob Martin observes that at one time programmers were 50% women.

https://www.youtube.com/watch?v=ecIWPzGEbFc

For those interested in the history of computer programming, "Uncle" Bob Martin gave an excellent talk in 2016 called "The Future of Programming", starting with Alan Turing in 1936. It's a fascinating introduction to the evolution of hardware and programming languages. I was particularly amazed at how Turing used CRT screens for memory and output.

The history discussion starts at around 11 min: https://youtu.be/ecIWPzGEbFc?t=672

gshubert17
A version from 2019 is at:

http://www.globalnerdy.com/2019/08/22/robert-c-uncle-bob-mar...

Mandatory mention [0] of the amazing talk of Uncle Bob "The Future of Programming", and his timeline of programming since Turing. Fascinating conference

[0] https://www.youtube.com/watch?v=ecIWPzGEbFc

A good presentation on the history of programming and how we got to where we are is

Bob Martin - The Future of Programming

https://www.youtube.com/watch?v=ecIWPzGEbFc

May 10, 2019 · electrotype on IT Runs on Java 8
At one point, you have to stop "looking for the next magical/better thing".

You pick something mature enough, that works well, and you ignore new cool trends (anyway there will be cooler things soon enough).

https://www.youtube.com/watch?v=ecIWPzGEbFc

What I am trying to do with my framework, https://www.spincast.org , is to ignore new cool trends as much as possible and focus on real use cases. Comments welcome.

Let me tell one thing: I absolutely hate sloppy engineering. And by sloppy I also mean rushing. There is a class of engineers and engineering managers who think that they are rockstars because they can churn out code quickly. I am absolutely disgusted and sick of this attitude.

And why do I bring it up here? Because I suspect this kind of attitude was partly blamed for this fatal and tragic accident. Of course this is pure speculation. But my 12 years experience in the software industry makes me believe that's what happened.

Also a relevant talk by Uncle Bob: https://youtu.be/ecIWPzGEbFc

siwatanejo
Completely agree.
robertAngst
>I absolutely hate sloppy engineering.

>Of course this is pure speculation

Cool ideas, people have already figured out this was designed into the system. Sure more testing can catch things, but how much money are you allowed to spend on every single feature?

There isn't a 'right' answer to these questions, engineers are literally doing cutting edge, never before jobs.

Everyone wants more time, more money, and better suppliers.

You need a call to action, not just a youtube video talking about groups not being responsible.

Jan 04, 2019 · 2 points, 0 comments · submitted by elephant_burger
There’s a YouTube talk from Uncle Bob where he foretells a future in which software kills some people and then regulations are put into place governing software development.

I think he was close in his vision. It will be Facebook and Google and millions of IOT devices that push us to that future.

Big companies won’t be hurt, but your startup better be able to afford the certs or too bad.

https://youtu.be/ecIWPzGEbFc

Robert ‘Uncle Bob’ Martin has a theory about what happened, starting around 1970, to change this to the present situation:

https://www.youtube.com/watch?v=ecIWPzGEbFc#t=47m30s

Terretta
TL;DW: Number of programmers doubling every 5 years means at least half of all programmers are completely inexperienced, overwhelming the number of teachers, so kids stuck learning by remaking mistakes.

OTOH, certainly worth the watch even if just from this point to the end, easy listen at 1.5x speed.

teddyh
What you say is true, but that wasn’t the initial cause of it, according to Martin. As I understand it, Martin says that since there were no CS degrees until about 1970, the first “generation” of programmers were internal company transfers/promotions of existing employees into the programming department; therefore those people were disciplined and mature (both figuratively and literally).

But as soon as there were new fresh CS degree graduates, companies preferred to hire those since they were cheaper. This produced two effects: 1. The CS graduates were, for some reason or other, mostly young men, so the gender balance tanked. 2. The new CS graduates, fresh out of school, were neither disciplined nor mature, and so required a lot of micro-managing. Both these effects were made more or less permanent by the steady growth which you summarized, and the second of these two effects is the change which user MrTonyD lamented above.

Bob Martin has a great talk https://www.youtube.com/watch?v=ecIWPzGEbFc, which illustrates a lot of history of computers.

He asserts that the number of devs is doubling every 5 years which means that half the developers have < 5 years experience. The industry has lots much of its scientific discipline which has to return, or regulations will force more structure.

Anyway he's a great speaker and this is one of my favorites.

Rich Hickey - "simple made easy" https://youtu.be/rI8tNMsozo0

Rob Pike - "concurrency is not parallelism" https://youtu.be/cN_DpYBzKso

Uncle Bob Martin - "future of programming" https://youtu.be/ecIWPzGEbFc

Martin Kleppmann - "transactions: myths, surprises and opportunities" https://youtu.be/5ZjhNTM8XU8

Simon Brown - "software architecture vs code" https://youtu.be/GAFZcYlO5S0

sparq_beam
That transaction talk is really good, thank you. I can now finally name the effect that I had noticed but had trouble explaining and referring to, write skews.

It's interesting that he doesn't mention phantom reads as the difference between repeatable read/snapshot isolation, and serializable, which is what other sources tend to do.

Snapshot isolation always seemed to me like cheating the intended meaning of repeatable read, insofar as some databases refer to their snapshot isolation level as repeatable read.

That is, in the strictest sense, if you read a row twice, you get the same value with snapshot isolation, but you don't actually know that the value will be the same when you commit, which as I understand is a case of a write skew.

In fact, if one thinks of the definition of these levels in terms of locking semantics, one would expect a repeatable read to have the same meaning as obtaining a read lock on the row you read, which I understand would prevent at least some types of write skew, since no modification would be possible on that row, because it would need a write lock. There could still be hazards related to phantom reads (and possibly other effects), such as making a decision based on a computed aggregate that can change if new rows are inserted. Still, this meaning of repeatable reads would already provide a useful isolation level for various cases, except that it doesn't work with snapshot isolation.

I have a suspicion that applications out there made incorrect assumptions as to the actual isolation provided by the DB they use.

The coaching gap: https://www.youtube.com/watch?v=ecIWPzGEbFc

People early in their career thinking SQL is something UNIX greybeards did in ancient times, and which is not necessary anymore.

Feb 18, 2018 · 2 points, 0 comments · submitted by ivanche
Feb 18, 2018 · purerandomness on JSON Schema
It's Groundhog Day all over, and the cycles are getting shorter and shorter.

You'll love this talk by Robert C. Martin ("The Future Of Programming"): https://www.youtube.com/watch?v=ecIWPzGEbFc

It's a relatively new problem caused by an influx of inexperienced programmers who have to experience these problems first-hand.

They do learn, but they can't teach what they learned because of the ever increasing influx of new, unexperienced programmers.

I highly recommend this talk by Uncle Bob (have a tea and a foot bath, it's long): https://www.youtube.com/watch?v=ecIWPzGEbFc

flukus
I don't think it's just the influx of new developers, it's too many rockstars that only work on green fields applications, they can't and don't learn the long term consequences of their decisions. Not all of them are new programmers, they're just the epitome of 5 times 2 years of experience.
For an informed answer you can see: "Uncle" Bob Martin - "The Future of Programming" https://www.youtube.com/watch?v=ecIWPzGEbFc

Please, see the video. It is an awesome informative and it will give you a lot of insight on our current situation. It is not about startups, but about the maturity of the industry itself.

Sep 09, 2017 · 2 points, 0 comments · submitted by samora
You'll enjoy these two videos from Alan Kay and Uncle Bob Martin, respectively:

"Is it really 'Complex'? Or did we just make it 'Complicated'?" - https://www.youtube.com/watch?v=ubaX1Smg6pY

"The Future of Programming" - https://www.youtube.com/watch?v=ecIWPzGEbFc&list=PLcr1-V2ySv...

Jan 25, 2017 · 1 points, 0 comments · submitted by devy
To me, the real issue is that the managers got ahold of agile. Most managers just want waterfall, I'm convinced, which I suspect is where so much of the head scratching about Agile comes from.

We developers have done an abysmal job developing, socializing, and formalizing our standards and practices. Needing to keep agile things loose because teams and industries and people and projects differ is one thing. But, we don't even try to establish unambiguous definitions for general topics like test-driven development, big visible charts, or sprints.

Frankly, we need industry leadership and earned certifications for developer craftsmanship. Uncle Bob recently has shared some good food for thought in this area. Not only does he recommend the direction we professional devs need to head, but he also speculates as to what will happen if we don't (loss of freedom.)

https://www.youtube.com/watch?v=ecIWPzGEbFc

bluGill
Managers don't want waterfall. They want a process they can understand (waterfall is great here), that gives them a specific date they can point to as when everything is done and they can start making money. Waterfall says it gives you that.

Of course we all know that waterfall doesn't actually give you what it claims, but it says when it doesn't you failed to manage one of the early phases correctly which means it tells them how to fix things: work harder there.

feyn
Ooo! I wrote another article talking about single date estimations:

https://neilonsoftware.com/2016/07/13/a-far-too-brief-rough-...

Yes, a specific date is absolutely what every manager at every level in the organization wants. As long a payroll is issued bi-weekly, and earnings reported quarterly, the desire for a fixed date will be a thing.

The issue is, fixes dates when it comes to new software development is a fantasy. If you really, really wanted to talk to experts about hitting dates, I'm thinking that a well-funded initiative done in collaboration with 3 of the 4 branches of the U.S. military and the most respected innovator in aviation technology would be where you would go to find them. I would like to offer up the F-35 Joint Strike/Fighter program as exhibit 'A'. Turns out, despite all that funding and discipline (and threats of what will happen if you miss a deadline), they still can't hit their dates. If they can't, what hope do we have? That's not a rhetorical excuse - that's a real question.

Is the answer Agile? Personally, I don't think it is. I think Hollywood has a far better model that anyone else does (pre-production -> production-> post-production). To get new ideas, I study how specific movies are made. One of my favorite case-studies is how they did "Max Max: Fury Road" (lots of storyboards - lots and lots and lots of storyboards). "But hollywood movies are always late/overbudget!!!", yes - which is my point. They know that and have specific adaptions that make this process work decade over decade - and generally a hell of a lot of cash in the process. At a minim, if Agile ain't workin' for everyone, we've got to try to get new ideas from somewhere. My personal choice is Hollywood.

EdSharkey
Nah! Have another look at Agile, and not the management focused movements like Scrum. I'm talking _The Art of Agile Development_ type of Agile.

Hollywood is broken. https://m.youtube.com/watch?v=H18RUB1cxfI (NSFW)

I've watched Uncle Bob's talk today and one of the key messages were that software hasn't advanced much since the 50s:

https://www.youtube.com/watch?v=ecIWPzGEbFc

Visual programming may or may not be the next big step, but I have to applaud anyone who attempts it in an OS manner. Unreal Studio for example executed it really good and the code it generates operates in god knows how many games.

Nov 24, 2016 · 2 points, 0 comments · submitted by mpweiher
Sep 09, 2016 · 5 points, 0 comments · submitted by soci
HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.