5 ms·
This is sage advice. There is an anti-pattern, counter to this advice, which I call software-psychopathy. This is when someone (the psychopath-developer) surv
by frumiousirc 7y ago
This is sage advice.
There is an anti-pattern, counter to this advice, which I call software-psychopathy.
This is when someone (the psychopath-developer) surveys the entire problem landscape of the full system and identifies a sub-problem, carves out a sub-system that is unnatural but fits their competency and through their position in the software-social-order and/or through personal charisma pushes a solution which makes all surrounding problem space even harder to solve.
The psychopath-developer says, "I see we have problems, A, B, C and D. I will solve B with X and now all that the solutions to A, C and D need to do is satisfy requirements L, M, N, O and certainly Q. Aren't I a genius? Now, excuse me as I leave the details to you and go "help" another group!"
A more charitable term might be "picking low-hanging fruit". Inside this metaphor, by thoughtlessly picking the heavy low-hanging fruit the psychopath-developer unweights the branch sending the rest of the fruit higher, out of easy reach and adding burden to those suckers that come later to actually get all the fruit. Meanwhile, the psychopath-fruit-picker is long gone enjoying the fruits of his easy labor.
- draw_down 7y agoDoes this describe a pattern, or one person you used to work with who didn’t do a very good job?
- karmakaze 7y agoThis exact thing happens when someone undertakes a refactoring without a clear concept of which factor is being separated. I now avoid the word refactoring and say I'm factoring 'thing'. If you'd factored it right the first time you wouldn't have to refactor it. That's not quite true sometimes things can factor further or choose a different factor first. Deduplication isn't factoring unless it's named and salient.
- davidjnelson 7y agoWord. If you can get people to use a suitable refactoring threshold, rule of three is a good one usually [1], that will fix it if management will enforce it. 1. https://en.m.wikipedia.org/wiki/Rule_of_three_(computer_programming) https://en.m.wikipedia.org/wiki/Rule_of_three_(computer_prog...