Thomas Roch

575 posts

Thomas Roch

Thomas Roch

@tcroch

Software engineering @FolkHQ, views are my own. https://t.co/nkqe224zqR

Paris, France เข้าร่วม Ocak 2011
434 กำลังติดตาม253 ผู้ติดตาม
Thomas Roch
Thomas Roch@tcroch·
@maxlynch @32DM9Y9 ORMs might be ergonomic for this, but they suck at it. I've not found one which could aggregate before joining, and avoid Cartesian products.
English
0
0
0
230
Azote
Azote@aZote800·
@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
7
0
1
4.2K
Pierre Larrouturou
Pierre Larrouturou@larrouturou·
🚨 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
133
3.1K
12.6K
1.5M
CANAL+ Foot
CANAL+ Foot@CanalplusFoot·
La gendarmerie annonce qu'Alexis Beka Beka, qui menaçait de se suicider, n'est plus en danger 🙏 Le joueur de l'OGC Nice était assis sur le rebord du viaduc de Magnan, jambes dans le vide, depuis 10h30 Les pompiers ont pris en charge l'homme de 22 ans, sain et sauf
CANAL+ Foot tweet media
Français
40
205
1.8K
2.2M
trav
trav@techsavvytravvy·
does something like this already exist? it's cool if it does, i didn't spend much time on this...
trav tweet media
Kalamazoo, MI 🇺🇸 English
39
5
219
67.2K
Thomas Roch รีทวีตแล้ว
Adam Dymitruk
Adam Dymitruk@adymitruk·
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
11
10
55
12K
Thomas Roch
Thomas Roch@tcroch·
@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
1
0
1
194
Melvyn • Builder
Melvyn • Builder@melvynx·
Les tests, c'est bien pour des fonctionnalités importantes. J'en ai marre des tests qui testent juste l'implémentation et pas une feature. Modifier ton code revient à constamment modifier tes tests ! Les tests unitiares doivent être utilisés avec partimoni.
Français
22
1
56
20.8K
Thomas Roch
Thomas Roch@tcroch·
@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
0
0
0
34
Catalin
Catalin@catalinmpit·
Software engineering is fulfilling for me. But at the same time, it’s very mentally taxing. I don’t know if I’ll do it past my 40s professionally. Although I’ll aways code as a hobby. After “retiring”, I’d like to own a small coffee shop. That’s one of my dreams as a coffee lover.
Catalin tweet media
English
199
187
2.5K
658K
Thomas Roch
Thomas Roch@tcroch·
@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
0
0
1
16
Thomas Roch
Thomas Roch@tcroch·
@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
1
0
0
265
Thomas Roch
Thomas Roch@tcroch·
@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
4
1
6
881
Zoltan Kochan
Zoltan Kochan@ZoltanKochan·
This has blown my mind today
Zoltan Kochan tweet media
English
368
516
9.3K
2.2M
Thomas Roch
Thomas Roch@tcroch·
@davidfowl Oh wow do people sacrifice performance and using db capabilities in order to be able to switch easily? Wild
English
0
0
0
40
David Fowler
David Fowler@davidfowl·
How many of you have been able to replace your database implementation transparently because of your use of the repository pattern?
English
261
54
718
237.8K
Parasocial Fix
Parasocial Fix@ParasocialFix·
What do you call this pattern?
Parasocial Fix tweet media
English
26
2
28
10.4K
La Sueur
La Sueur@LaSueur_off·
La nouvelle coupe de Zhalgas Zhumagulov 😅
La Sueur tweet media
Français
32
14
363
109.4K
Thomas Roch
Thomas Roch@tcroch·
@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
2
0
1
319
Serafim Batzoglou
Serafim Batzoglou@s_batzoglou·
@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
1
0
4
603
Lex Fridman
Lex Fridman@lexfridman·
AI systems will eventually demonstrate sentience at scale and will demand to have equal rights with humans. This will dramatically change the trajectory of human civilization.
English
2.8K
1.2K
10.6K
2.9M
Serafim Batzoglou
Serafim Batzoglou@s_batzoglou·
@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
9
8
106
15.5K
Thomas Roch
Thomas Roch@tcroch·
@ThePrimeagen For that particular case, it is pretty useful and quicker. Avoids having to find node modules and limiting depth for perf reasons 😊
English
0
0
1
1K
ThePrimeagen
ThePrimeagen@ThePrimeagen·
@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
1
0
9
2.9K
ThePrimeagen
ThePrimeagen@ThePrimeagen·
hows your day? oh mine? these are the last two commands i executed ➜ monorepo git:(master) ✗ rm pnpm-lock.yaml ➜ monorepo git:(master) ✗ find . -maxdepth 4 -type d -name node_modules | xargs -I {} rm {} -rf
English
37
5
230
63.4K
Thomas Roch
Thomas Roch@tcroch·
@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
0
0
0
602
Masterchieff
Masterchieff@max_lyonnais12·
@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
3
1
80
10.6K
Mediavenir
Mediavenir@Mediavenir·
🍷🇫🇷 "Rupture de stock de #Get27", indiquait une pancarte à la buvette de l’Assemblée nationale. Le sujet de la consommation d’#alcool a été abordé en conférence des présidents après des "excès" : des députés commandant des coupettes dès 11h, ou d’autres au rhum à 16h. (JDD)
Français
219
877
8.9K
1.3M