
@ Anthony Accioly
2025-05-01 11:01:52
Sorry for the long wall of text already, but nostr:nprofile1qqs06gywary09qmcp2249ztwfq3ue8wxhl2yyp3c39thzp55plvj0sgprdmhxue69uhhg6r9vehhyetnwshxummnw3erztnrdakj74c23x6 got me into a philosophical mood... Plus I'm thinking about this a lot lately :).
You are more than correct. Planes are already falling out of the sky and unfortunately its going to get much worse before it gets better.
About paper & pen interviews, I totally agree. I tend to be more than a bit biased towards TDD and XP practices when it comes to development. Someone’s performance on paper, as well as their ability to explain what they did on said paper without the help of any tools, is a good predictor of their fit and performance. While a lot of folks (especially the younger Python/JS crowd that has unsurprisingly embraced vibe coding full force) really dislike my interview style, the truth is: after 20 years doing this for a living, I’ve figured out there's a strong correlation between folks who take a sheet of paper (or its digital equivalent), do some simple upfront analysis, make an effort to figure out requirements, prioritise them, and translate them into clean, functional tests and their performance as developers. They generally outperform everyone else.... Because... Well, they know how to think :).
Plenty of pattern parrots out there are doing well at LeetCode, yet still can’t code their way out of a paperback, despite solving three hard dynamic programming problems in 45 minutes. In theory they can "code" better than me, but they can't think. And I mean this for devs themselves, for QA folks, it’s twice as valid.
Again, this is my bias, but it's not only mine. Kent Beck and Martin Fowler have both written something along these lines:
https://tidyfirst.substack.com/p/forest-and-desert
https://martinfowler.com/bliki/ForestAndDesert.html
Folks who are allergic to fundamentals (i.e., what I call the modern “SPA framework fullstack dev”) won’t be able to figure out requirements, won’t communicate properly, won’t work well in cross-functional teams, and will flat-out refuse to believe there’s a world where requirements are well understood, properly prioritised and tested. They see refactoring as yak shaving and don't see the point of maintaining the structure of the code and keeping your options opened. For them, a healthy architecture is just a bunch of random “guidelines” from old farts like me. And while they may “comply,” they won’t take ownership of it as the living, breathing, evolving thing it is. They are pretty damn good at keeping EMs and PMs happy by moving tickets around, though... And unfortunately, that’s what a lot of people in charge prioritise.
Having said thst. My approach to the desertification problem has evolved. I stopped trying to convince desert dwellers that forests exist. I stopped trying to plant trees in the desert all by myself. (Try to introduce proper practices in the wrong place, and the majority will not only fight against it to the death... You’ll become an annoyance, and they’ll fight against you specifically). Now I look for like-minded folks and work to avoid the desertification of the few forests that are still out there. Outside the forest, I’ll just work the desert way and be done with it. The boy scout principle still applies, but that’s pretty much it for me.
This posture takes a lot of mental strength. Human nature is to get angry, try to fix the world, and stop the damage. But the truth is, shouting at folks to do something they don’t believe in (and don’t think is possible) won’t work. Trying to go the extra mile where it isn’t valued will just burn you out. You’ll get nothing done and ultimately contribute to their perception that you’re full of crap... You will be made an example, the name of the game is proving that there’s no way but their way, and all of your efforts will ultimately only accelerate desertification.
It’s more effective to cultivate existing forests and lend a hand to the few people who are ready to make the transition. It’s sad, but this applies to everything in life. You build something good for yourself, and you help those who are willing to be helped. If you try to help those who don’t want help, or those who claim to but aren’t ready to put in the effort, you’ll only become their scapegoat.
So, ultimately, my message here is: as painful as it is, let the "vibe coders" be. It’s their reality and their path.