People who have worked on some really notable project. Linus Torvalds, David Heinemeier Hansson, Joel Spolsky and so on. I know these people are worth listening to because I can see that their code is a success.
Then there are people who I have no idea what they have ever written at all. Robert Martin, Martin Fowler and so on. I don't know if I should listen to what these people say at all. Does it work? What software projects have they made a success that I can look at?
I suppose in the latter case it's usually closed-source enterprise code that they've consulted on? Well if I can't look at it I'm not sure I'm just prepared to take their word that it's successful.
Is this reasonable of me?
Also, re: open source, he does sometimes write about particular open source projects that have successfully made use of the tools or technologies he advocates. Or simply about the open source projects themselves.
I happen to enjoy a lot of Fowler's blog writing. In particular, I've enjoyed reading his posts on the LMAX architecture. Fascinating stuff.
Really good software engineers write more than code. They know how to clearly outline ideas than can be handed to other developers.
Robert Martin's best known open source software contributions are for FitNesse, which is reasonably well known in the testing world. https://en.wikipedia.org/wiki/FitNesse
Tell me, have you read the Space Shuttle control software? There are dozens of not hundreds of papers about NASA's development process. Are you saying that since you can't look at it, you're not prepared to take their word that the software is successful?
Because it seems to me that there are other ways to judge success than simply reviewing the code.
I listen to Torvalds when he talks about how to write his software, because his software is a massive success.
I'd listen to NASA because their missions were a success.
Why should I listen to other people like Robert Martin? I had seen FitNesse in the past, and while I'm sure it's a useful and well-written bit of software, I don't anyone would remotely describe it a particularly notable success. Why would I listen to his ideas more than anyone else who's written a testing framework that some people use?
I'm still a confused off by your comment "I have no idea what they have ever written at all. Robert Martin, .. and so on." when you say that you've "seen FitNesse in the past". Did you not know that he is part of the project?
Have you looked to see what projects they've been on?
FWIW, I don't think Fitnesse is well-written. When I looked at it about 8 years back there were several security holes in it, including no protection against directory traversal attacks.
It was clear that the developers had no experience working in an untrusted environment. Which, to be fair, is the security model for a FitNesse deployment.
(FitNesse.org is served by FitNesse-v20160618, so that's not 100% true.)
I don't trust Martin's views. I think he's full of bluster, and makes assertions far beyond what is justifiable. For example, he did a Prime Numbers kata some years back where it was clear he was gaming the problem - unknowingly, I think - so that his cute but inefficient two-liner would be an acceptable answer, while poo-pooing those who immediately thought to use a sieve variant.
I agree with your examples, Linus Torvalds in particular. However, I would not consider Mark Zuckerberg, Steve Jobs or Bill Gates worth listening to on a technical level just because their products are a success.
He didn’t meddle in software if he trusted the people who
were working on it, but you couldn’t bullshit him for a
minute because he was a programmer. A real, actual,
programmer.
I stand corrected. Thank you for the read.I don't know if I'm just ignorant, but to be honest I have no idea if people like Martin and Fowler can program at all or not!
I happen to like Spolsky a lot but most of the career success we've actually seen from him is managerial, which is not unimportant, but it's not the same as being a dev lead on Excel.
On the other hand, Spolsky's programming advice is much more broad-spectrum and rooted in common sense. I'm not sure you've ever seen Spolsky dismiss a whole category of languages or correctness tools, for instance.
(Microsoft has a more complicated PM scheme with I think two different kinds of PMs? So I can't speak to exactly what Spolsky's role was there. It wasn't a small role, but no, I don't think he led Excel development.)
https://www.joelonsoftware.com/2006/06/16/my-first-billg-rev...
tl;dr He wrote the spec for VBA, aka Excel Macros. It's not being in charge of all of Excel, but I would call that a pretty substantial contribution.
Bob is more of a theoretical, philosophical guy it seems.
That seems like a simple question we could actually answer here without having loud debates about unit testing or whatever.
Also, the point to "stop making shitty software" is not the same as "stop making mistakes". You can ship high quality software even while being human, it's just slower and more costly.
And while I agree with the article in general, I do believe the current balance has shifted towards too fast iteration and shoddy quality. Just look at the recent iOS/OSX releases. But even that might make business sense, because of the even shittier alternatives.
The thing about these middlebrow dismissals is that they work the other way around:
"It's hard to build your consultant image by telling people that they need self-discipline and rules. It's easier to just sell them on tools that will fix the problem."
What if the problem is bad management? Or low experience/expertise in general? All of these methods and tools are only optimizing locally, and cannot help the root causes.