Live data from Hacker News

Is Uncle Bob serious?

dev.to

151–160 of 181 posts

Re: Is Uncle Bob serious?

#151

Earlier quoted context omitted.

I still would argue that medical is moving much slower than software. I work in medical devices and simple experiments can take years to get done once humans are involved. In software we would get the result in a few days or weeks. I am not advocating easing the restrictions in human experimentation but these rules definitely slow down progress.

I am not advocating easing the restrictions in human experimentation but these rules definitely slow down progress. They surely slow down the work , but whether they slow down useful progress is a different question. Given the amount of time and money that depend on software systems today, as well as the more general effect of software on our quality of life, poor quality software costs society as a whole a great dea…

"If we built our software more slowly and carefully but also with higher reliability and fewer issues with security, privacy and so on, would we really be worse off?"

Probably not. Personally I often enjoy the Wild West attitude of a lot of software development but on the other hand this industry has a really short memory and reinvents the wheel every few years. So yes, it would probably be a good idea if we held ourselves to higher standards and adopted best practices that often have been around for a long time.

Re: Is Uncle Bob serious?

#152

Earlier quoted context omitted.

What responsibilities does an "Agile Technical Coach" have and what did you do for the business? (I'm curious because in most of the industries I've worked in, the teams have been extremely skeptical of Agile coaches/consultants)

in most of the industries I've worked in, the teams have been extremely skeptical of Agile coaches/consultants For good reason. I don't blame them. The way I see it, there are very few of us around, although tons of people advertise using this term. I'm the last of the general contractors when it comes to IT consulting. From where I sit, it looks like a vanishing breed. I'm a full-stack technical lead who has had ton…

Thanks for the response. Sounds like your work is kind of an development/efficiency/automation/process-improvement SME that works with all levels of employee, from the devs to the CTO, which requires understanding of both IT systems/dev and business.

I've seen co-workers with a similar set of responsibilities but they called themselves "Corporate Efficiency Analysts," with the better ones coming from tech backgrounds (sometimes having acquired an MBA after years of development), and the poorer ones only having "general business" experience.

Re: Is Uncle Bob serious?

#153
post #8

Earlier quoted context omitted.

> Embracing agile (as his ThoughtWorks contract requires him to do) while lamenting quality and lack of professionalism, as Mr Martin does, is extremely dishonest. Why exactly? I fail to see the connection between lack of quality and embracing agile.

Civil engineers don't I suppose agree to build a bridge before they've surveyed the land and then begin construction before knowing the loads. Contrast that to software engineering, where beginning before you have requirements is seen as a requirement of being agile.

This is kind of precisely backwards. A survey is like a test; it asks 'will this work'?

A good civil engineer will do that as early as possible, rather than produce pages of engineering drawings blindly. A good civil engineer will calculate the stresses and load factors on a bridge as soon as possible, rather than assume things will work. A good architect will hand a sketch of a building to a client as early as possible, and ask 'do you like it'?

All of those are tests, and the engineering processes in those domains are put in place to ensure that that testing happens as early as possible, before mistakes are too costly to undo.

Re: Is Uncle Bob serious?

#154

Earlier quoted context omitted.

in most of the industries I've worked in, the teams have been extremely skeptical of Agile coaches/consultants For good reason. I don't blame them. The way I see it, there are very few of us around, although tons of people advertise using this term. I'm the last of the general contractors when it comes to IT consulting. From where I sit, it looks like a vanishing breed. I'm a full-stack technical lead who has had ton…

Thanks for the response. Sounds like your work is kind of an development/efficiency/automation/process-improvement SME that works with all levels of employee, from the devs to the CTO, which requires understanding of both IT systems/dev and business. I've seen co-workers with a similar set of responsibilities but they called themselves "Corporate Efficiency Analysts," with the better ones coming from tech backgrounds…

Yep. There are way too many Power Point Rangers and Six Sigma Astronauts in that bunch, however. It's tough finding a good label.

The key here is that software is everything. It's not just an add-on to some orthogonal business model. Any more, software is the business. The tech skills are just as important as the rest of it. Most companies today are like a group of medieval princes whose job is to correspond with other princes -- but none of them can read or write. They kind of know what they want, but for whatever reason, they feel that it's beneath their dignity to actually make it happen. The way we treat development? It's as if we were to start hiring people to write our emails for us. And then complain at how correspondence is always so difficult.

Sorry for the rant. Thanks for the chat!

Re: Is Uncle Bob serious?

#155

"I know there are tons of programmers churning out low-quality code." People repeat this kind of sentiment all the time but is there anything to back it up? I know we've all run into to random bits of code we considered "low quality". But that can often be attributed to code that was written a very long time ago when programming practices were much different. At the time it was written it was likely high-quality code…

[deleted]

Re: Is Uncle Bob serious?

#156
post #146

Earlier quoted context omitted.

I don't think you can compare software to other disciplines like medical, air transportation or architecture. These areas are well understood and pretty mature and move pretty slowly. If we ran air transportation like software somebody would already have self flying airplanes in service. They would crash from time to time though. I personally like the imperfection of software development and the freedom to imagine ne…

> I don't think you can compare software to other disciplines like medical, air transportation or architecture. Why not? After all, the safety of a pacemaker is largely because of the software it runs. In many cases, medical safety and software safety are nearly the same . And throughout our world, this is true in many industries. Driving. Banking. Our software today is our safety for nearly everything . It will only…

I know a little about pacemaker software. They are super conservative and very reluctant to change. For a good reason! But it's certainly not an area where you will get much innovation from. I bet there would no AWS or cloud if they had to file every incident and environment change to an FDA equivalent.

Re: Is Uncle Bob serious?

#157

Earlier quoted context omitted.

> My take: give it a few more years, and software, too, probably will follow the same path. I doubt it. The stakes are much lower than people's lives and health.

Agreed. Let's not forget that a huge portion of software written is games.

I would bet it's a not huge fraction of the software written is for games. Games are a niche if software.

Re: Is Uncle Bob serious?

#158
post #146

Earlier quoted context omitted.

> I don't think you can compare software to other disciplines like medical, air transportation or architecture. Why not? After all, the safety of a pacemaker is largely because of the software it runs. In many cases, medical safety and software safety are nearly the same . And throughout our world, this is true in many industries. Driving. Banking. Our software today is our safety for nearly everything . It will only…

I know a little about pacemaker software. They are super conservative and very reluctant to change. For a good reason! But it's certainly not an area where you will get much innovation from. I bet there would no AWS or cloud if they had to file every incident and environment change to an FDA equivalent.

Interesting. Let's discuss this further during your office hours?

Re: Is Uncle Bob serious?

#159

Earlier quoted context omitted.

> That's the thing though, the "social problems" are the important problems. And yet, we still seem bogged down with bugs and vulnerabilities caused by non-social problems. So use types to get rid of those problems, and then we can worry about the social problems. > Lack of strong typing does not seem to be the issue. Lacking domain understanding/logical errors is the problem. Types help with this too. Formalizing a…

So formalizing things with type systems is great. In fact, I'm a huge proponent of it. The problem still remains, you may not have a sufficiently well developed requirement set to be able to specify things in your type system. I'll give an example: It's possible in Haskell (really many languages) to create a type SafeString which can be constructed from a standard String and does all the necessary escaping for the ta…

> That's fine that we can do this, if it doesn't make it into your system design you won't know that you need to do this. The type system itself doesn't tell you that your types are underspecified.

Indeed type checking alone won't tell you that, but my point was more that type-driven design has a much better chance at revealing such underspecified requirements.

If you resist the urge to be lazy by assuming that your domain types map perfectly to built-in types, like String or Int32, and instead assume that your domain needs its own types, you centralize the validation logic to create domain types, which can then be easily audited and tested.

So you should create a distinct SafeString or SqlQuery type as a natural part of modelling your domain, even if the semantics of String appear sufficient.

Re: Is Uncle Bob serious?

#160
post #27
post #18

Earlier quoted context omitted.

This person wrote a series of books about clean code which are sometimes recommended to junior programmers. Some people have a high opinion of him. It's a good thing that his claims and experience are being questioned.

I read his books and they're pretty good in showing Junior developers better ways to structure their code. This doesn't mean that Uncle Bob is right on every topic. Safety critical software is completely out of his realm (at least I don't know of any project he worked on that's SC). From my own experience I've seen quite a few safety critical codebases and they're often abhorrent in lack of common sense software stru…

They're not, he doesn't back up his recommendations with data, and instead expects readers to believe that they are appropriate and correct.
Post reply on HN