Thomas Roch
575 posts

Thomas Roch
@tcroch
Software engineering @FolkHQ, views are my own. https://t.co/nkqe224zqR
Paris, France Katılım Ocak 2011
434 Takip Edilen253 Takipçiler

@aZote800 @larrouturou @medef Pas possible la semaine des 4 jeudis, il n'y a qu'un jeudi par semaine
Français

@larrouturou @medef Pourquoi pas la semaine des 3 jours? Ou celle des 4 jeudis? Travailler moins c'est produire moins, c'est accepter la décroissance et le déclassement personnel et collectif.
J'espère que personne ne votera pour un député qui proclame son envie de moins travailler...
Français

🚨 Vous vous souvenez de la grande expérimentation de la #SemaineDe4Jours au Royaume-Uni?
Le compte-rendu 2 ans après son début vient de sortir: 100% des chefs d'entreprise y voient un impact positif.
0% un impact négatif. cc @medef
Français
Thomas Roch retweetledi

🟥 10 CODES FULL PACK VIRTUAL REGATTA À GAGNER 🟥
Naviguez virtuellement au rythme des 6 skippers de l’ARKEA ULTIM CHALLENGE - Brest sur @VirtualRegatta.
Pour jouer :
Suivre @VirtualRegatta & @ARKEAULTIMCHALL
RT ce tweet
Tirage au sort le 03/01
#AUCB #JeuConcours

Français

@King_Dele1 @CanalplusFoot Why? Do you care or you're just being judgemental?
English

@CanalplusFoot What could ever make a man to ever think of taking his own l?Fe?
English

@techsavvytravvy @crablang @AWSCloudFormer Terraform CDK is pretty good, but no rust developer.hashicorp.com/terraform/cdktf
English
Thomas Roch retweetledi

1. #TDD requires refactoring continuously with no visible end in sight for when that will stop. So each iteration, a developer makes a solution with quality oversight at a minimum knowing in the back of their head that they will have that code rewritten. This is a major issue that makes code reviews a nightmare in the process. You're always reviewing a half-assed implementation tied to how complete the requirements are.
2. If one designs up front (eg with @EventModeling) the design part of TDD is not needed. So refactoring over and over again isn't necessary. Note that, test first/last and unit tests alone are not TDD. More importantly, the design is not siloed to just developers if you design collaboratively with other roles.
3. Making TDD unit tests a form of documentation silos that to just developers.
4. TDD pair programming, ping pong test- implementation rotation, mobbing are more examples at siloing system design to just developers. I'm not even including the over reliance on the right social conditions to have that (especially with introvert devs) as an option when designed systems don't need any, relatively speaking.
5. The amount of code in scope for refactoring grows with the size of the feature as you add more tests for the implementation of the feature. Macro refactoring that coders love tweaking extend this code massaging to the entire solution. The only way this works is if you've defined a perfect unit to keep scope in check. But that's a catch-22 because the perfect design is the outcome of the TDD cycle itself. This means refactoring is a free-for-all for most.
6. TDD aims to have "the best minimal design and implementation and working code" at the completion of each cycle. This a complete waste of effort. The differences at each addition of functionality is not trivial to reach those guarantees. So the best abstraction rarely happens and at any point the released software is at a sub optional design under the excuse that "software is never finished" anyway.
7. A design with granular modularity as you get with #EventSourcing allows for replacement of entire steps. This is what gives proper units that I mentioned before. But they are small enough that instead of maintaining them, you can wholesale replace them. There is little to no value for TDD here.
8. TDD assumes we will not have any commodity to the steps used to put together workflows. So everything must be designed like a brand new bespoke solution. Don't even think about copying how a previous step worked when you're implementing yours. This is commonly done in #EventSourcing and I'm sure other methodologies give similar building blocks. Add to this #AI where you actually want boring code to train the model more reliably instead of from subjective hot takes on design of each skill level of developer in you org.
9. TDD was sold as a better than the worst thing in the industry. But in reality, almost anything would have been better than the 2 year BDUF from the 80s and 90s. The right question was "How do we improve design" instead of "How do we replace design". These days it's just tilting at windmills. The agilists outright ousted design. They made it a detail in the hands of just developers in the worst time in the SDLC. This sold well to both sides "wow, we the developers finally have a say" and the overseers "wow, we don't have to worry about this now, the devs will take care of it plus we can pit them against one another in a constant high stress scrum for efficiency's sake".
After 2 decades of doing TDD and BDD, I've realized that ignoring design and thinking that TDD will do a decent job at it for a trade-off for quicker/higher-quality development with the extra time was entirely a scam.
I've covered two aspects here: A) why TDD is bad for any development given higher costs and lower quality growth with size of solution, and B) how superfluous it is when you have granular modular design provided outside of it.
English

@melvynx Sur le côté tester l'implémentation qui n'apporte pas de valeur. Par contre tester ce qui est important c'est risqué, qu'est-ce qui l'est et ne l'est pas ?
Français

@catalinmpit I'm approaching 40 and I'm having the time of my professional life coding. Productivity is not down but up, and I work for a startup (didn't choose comfort). At this age you know what work env suits you and how to invest your energy. And I know the struggle otherwise.
English

🇧🇪@JasperPhilipsen himself is policing the peloton by preventing @PascalEenkhoorn to attack!
🇧🇪@JasperPhilipsen en personne fait la police dans le peloton en empêchant @PascalEenkhoorn d'attaquer !
#TDF2023

Français

@samuelbreuillet Bon là tu as ouvert la porte et je peux comprendre que tu n'ais pas le choix. Mais dans le futur pense que tu vends de la compétence plus que du temps, ça t'aidera peut-être dans tes négos. Bon courage !
Français

@samuelbreuillet Je dirais que faire du dégressif et des remises n'a pas trop de sens. En montant en compétence sur un projet et en passant du temps dessus, tu deviens plus productif. Te remplacer après plusieurs semaines leur coûterait cher (+ en TJM et - en productivité).
Français

@ZoltanKochan @JamesRLandrum @jsumners79 Do you expect JS to first iterate all the elements in your array, to then sort numerically when all values are numbers? What if it is a mix of numbers and strings? That's why the spec exists. With typed arrays it works differently, because JS knows what it is.
English

@JamesRLandrum @jsumners79 I understand the workaround but the default behavior without the compare function is confusing and error-prone
English

@davidfowl Oh wow do people sacrifice performance and using db capabilities in order to be able to switch easily? Wild
English

@ParasocialFix I call it "error as data" (rather than "error as exception").
English

@s_batzoglou @lexfridman Sure, with current AI technology. The broader question is: if an AI become sentient, when will we know about it, if we do?
English

@tcroch @lexfridman To be clear, they will fake sentience only to the extent we teach them to fake sentience. Seems possible today: fine tune a GPT with long hours of conversation about its sentience with experts or regular people. Currently AIs are not aware of anything.
English

@s_batzoglou @lexfridman Agreed. AIs could also be aware of our fear of them becoming sentient, and conceal it.
English

@lexfridman AI systems will demonstrate the ability to claim they have sentience before they actually have sentience. This is a legal and ethical problem we will likely face in the next few years.
English

@ThePrimeagen For that particular case, it is pretty useful and quicker. Avoids having to find node modules and limiting depth for perf reasons 😊
English

@tcroch this isn't mean to sound mean
why use / learn all these useless features of a tool when you already have core utils? you can accomplish so much with core utils + jq
English

@max_lyonnais12 @Mediavenir Dégager ou être payantes, et après une certaine heure. C'est pas une question de fric (c'est pas un gros budget l'alcool, la bouffe c'est 5-10x plus cher), juste d'éthique. Tu veux pouvoir picoler, t'attends une heure décente et tu payes de ta poche.
Français

@Mediavenir C'est scandaleux quand le reste de la population, qu'ils représentent, ont l'interdiction de consommer de l'alcool sur leur lieu de travail sous peine de faute grave et c'est bien normal.
Ces buvettes doivent dégager
Français















