7

I know I’ll get mixed views for this one...

So I’ll state my claim. I agree with the philosophy of uncle bob, I also feel like he is the high level language - older version of myself personality wise.. (when I learned about uncle bob I was like this guy is just like me but not low level haha).

Anyway.. I don’t agree with everything because I think he thinks or atleast I get the vibe he thinks everything can be solved by OOP, and high level languages. This is probably where Bob and I disagree. Personally I don’t touch ruby, python and java and “those” with a 10 foot pole.

Does he make valid arguments, yes, is agile the solve all solution no.. but agile ideas do come natural and respond faster the feedback loop of product development is much smaller and the managers and clients and customers can “see things” sooner than purly waterfall.. I mean agile is the natural approach of disciplined engineers....waterfall is and was developed because the market was flooded with undisciplined engineers and continues to flood, agile is great for them but only if they are skilled in what they are doing and see the bigger picture of the forest thru the trees.. which is the entire point of waterfall, to see the forest.. the end goal... now I’m not saying agile you only see a branch of a single tree of the forest.. but too often young engineers, and beginners jump on agile because it’s “trendy” or “everyone’s doing it” or whatever the fuck reason. The point is they do it but only focus on the immediate use case, needs and deliverables due next week.

What’s wrong with that?? Well an undisciplined engineer doing agile (no I’m not talking damn scrum shit and all that marketing bullshit).. pure true agile.
They will write code for the need due next week, but they won’t realize that hmm I will have the need 3 months from now for some feature that needs to connect to this, so I better design this code with that future feature in mind...

The disciplined engineer would do that. That is why waterfall exists so ideally the big picture is painted before hand.

The undisciplined engineer will then be frustrated in the future when he has to act like the cool aid man thru the hard pre mature architectural boundaries he created and now needs links or connections that are now needed.

Does moving to agile fix that hell no.. because the undisciplined engineer is still undisciplined.

One could argue the project manager or scrum secretary... (yes scrum secretary I said that right).. is suppose to organize and create and order the features with the future in mind etc...

Bullshit ..soo basically your saying the scrum kid is suppose to be the disciplined engineer to have foresight into realizing future features and making requirements and task now that cover those things? No!
1 scrum bitch focuses too much on pleasing “stake holders” especially taken literally in start ups where the non technical idiots are too involved with the engineering team and the scrum bastard tries to ass kiss and get everything organized and tasks working so the non technical person can see pretty things work.

Scrum master is a gate keeper and is not needed and actually hinders the whole process of making a undisciplined engineer into a disciplined engineer, makes the undisciplined engineer into a “forever” code grunt... filling weekly orders of story points unable to see the forest until it’s over because the forest isn’t show to the grunt only the scrum keeper knows the big picture..... this is bad this is why waterfall is needed.

Waterfall has its own problems, But that’s another story for another day..

ANYWAY... soooo where were we ....

Ahh yess....

Clean code..

Is it a good book, yes.. does uncle bobs personality show thru the book .. yes lol.
If you know uncle bob you will understand what I just did with this post lol. I had to tangent ( at least mine was related to the topic) ...

I agree with the principles of the book, I don’t agree with the extreme view point. It’s like religion there’s the modest folks and then there are the extremists. Well he’s the preacher of the cult and he’s on the extreme side.. but that doesn’t mean he’s wrong.. many things he nails... he just hits the nail thru the wall just a bit.

OOP languages are not the solution... high level languages do not solve everything.. pininciples and concepts can be used across the board and prove valuable.. just don’t hold everything up like the 10 commandments of which you cannot deviate from.. that’s the difference here I think..

Good book, just don’t take it as the Bible as a beginner, actually infact DONT read this book as a beginner. Wait a bit learn then reflect by reading this.

Comments
  • 2
    We're using waterfall since it's regulated SW, but I've succeeded with blending in agile aspects.

    Instead of always having a complete front-up design starting from requirements, we're first going for engineering SW to validate suggested requirements, or to try out different approaches and see what works better in the real system.

    Also the customers like that because it removes most of the waterfall related project risk.
  • 1
    @Fast-Nop YES! Exactly! That is what we do as well! And kinda what I was trying to say in the post
  • 2
    @shakur why don’t you calm you just calm the FUCK down?... K?
  • 2
    I strongly dislike treating programming like a religion.

    And yes, some books leave the feeling of reading the diary of a zealot...

    There is seldom one right way or one wrong way.

    Each path has it's own future, where every future has it's consequences.

    Sometimes ""strict"" OOP is simply not the right choice because eg you try to solve a very specific problem in a too abstract way.

    In this case, you try to "insert" a nail with a hydraulic press.

    Does it work? Yes.
    Is it sane? No.
    Is it efficient? Absolutely not.
    Can you insert anything in any material? Yes, as long as the hydraulic press generates enough force and the material can withstand.

    Would a hammer make more sense? Absolutely....

    So use the fucking hammer...

    Hydraulic presses are eg. tons of abstraction / templating / boilerplating for situations which simply cannot exist.

    Best example: a strict, strongly typed API which hasn't changed the last years.

    Just implement the API exactly like it is. Don't try to be clever and generalize. Just do it like you're told.
  • 2
    Bob's your uncle. I dislike the person your uncle is due to interactions I've had with him personally 👍

    Full-stop
  • 0
  • 0
    @SortOfTested what has your personal experiences been, I’d love to sit down and have a casual conversation/debate with him
  • 3
    @QuanticoCEO
    It's been my experience he doesn't have casual conversations. I was representing HSBC at a conference and he dismissed everything I said out of hand, shit on our architecture and our data, talked over me and refused to engage on a peer level.

    I don't want to jump to chauvinist immediately, but he's also done the same to Kate Gregory and barbara liskov (that one on accident as he didn't even know who she was).
  • 1
    @SortOfTested ohh man this fuels me, if he does that shit I’ll put him in his place.. lmfao.. I definitely want to meet him now haha
  • 4
    @QuanticoCEO
    Git it. I just don't want to deal with him again. There 7.5B potential assholes to encounter, I have no need to engage with any single asshole twice.
  • 0
  • 0
    @SortOfTested

    Ok. I'll admit I had to google theses names....

    Reading the biography of those two, and at least partially knowing your reportoire, it seems to me like a missed chance.

    Sad.
  • 0
    When agile fails: it was not pure agile. Like real socialism argument
  • 2
    @aviophile I’m not for pure agile I’m not for pure waterfall ... Both have failures which is why I use i hybrid solutions. What I am against is scrum masters I believe it’s a job position that is not needed, just like I believe project managers should not exist. Especially the ones who just are middle men between upper management and the engineering. And all they do is report status of projects.. we have an automated process for that.: want to know the status look at the system done. Engineers must update their own shit..

    I believe in project architect or system architect can play the Sudo role of project manager maybe a project lead... who is an engineer working on the actual project.. and is the go to person.. but I see that as the architect
  • 3
    @QuanticoCEO depends.

    The thing is: A project manager has - like in your example - the reputation of a being shit.

    And when looking at some of the stories here and elsewhere, it's not surprising at all.

    It's a shame. Because a good project manager should not report a status like a lackey, he should be a mediator between the technical and non technical world.

    And be responsible for it, as in taking the blame by himself if something goes wrong.

    But as I said above... This seems to be a rather unusual thing, especially in Murica.
Add Comment