-18 karma · joined December 20, 2023
Case in point of “engineers are not product people”
I am also someone who, at interview, is a proponent of TDD - but in reality, and after landing the job - has never used it nor worked anywhere that has used it where they say they do.
With that in mind. How the fuck do you manage change requests with TDD.
Riddle me this… given:
We change the code behavior, and now our test fails! But the failure isn't because we introduced a bug, it's because we changed our mind. The new message is now the correct behavior of greet(), and so the test is now incorrect and needs to be updated. Time spent "fixing" the test is pure overhead.
So you have two test specs, since if I am new to a TDD codebase I won’t know which tests, if any, I should change for a given behaviour change. The old one that returns “Hello Brandon” and now a new one written by me, “Hello Brandon welcome to blah”. Now I do the TDD loops. Code fails, I write my code, new test passes but now old test fails? What do I do? I should never change my tests to satisfy the needs of my code.Do a whole back and forth with whomever comes up with the specs?
Or
Edit my code so on the second invocation it presents the correct message, assuming tests are run in a consistent and deterministic manner this would work.
In this instance it would be pretty clear there is a wrong specification so I could go back and ask someone for clarity.
But what if it is not clear. What if it is some intricate or subtle behaviour change where you can’t use your intuition to figure out what is a correct test or not.
How do you even know if the tests that you have written correctly describe the desired behaviour? Pass them by the decision makers who are most likely non technical?
The only thing that important is how your end users interact with your services and what is a dealbreaker to them. Everything else is a nice to have. These can not be tested in any way other than having your application in their hands. This mo has served me very well in my career so far.
Like what you’re doing right now?
I wish people would stop using the word anecdata like it is correct just because they saw some arrogant self important reply using it in their hackernews comment.
Firstly it is anecdote so the plural would be anecdotes or if you want to continue with being weird, it’s anecdota.
Do the red squiggly lines not direct you at all to thinking “maybe this is wrong”.
Secondly invariably when someone (wrongly) uses the word “anecdata” they only ever produce a paragraph relating to one specific point of view - their own.
ChatGPT: It's intriguing to observe the evolution of language in tech communities, particularly on Hacker News. For instance, the term 'anecdata' seems to be gaining traction, though its usage diverges from conventional language norms. Traditionally, 'anecdote' is the singular form, with 'anecdotes' or perhaps 'anecdota' as a more esoteric plural. It's always beneficial to pay heed to the cues from our writing tools, like the spellchecker's red squiggly lines, as they often guide us toward standard language practices. Furthermore, it's worth noting that discussions enriched by diverse perspectives are more insightful. While 'anecdata' typically encapsulates a singular viewpoint, embracing a variety of experiences could enhance the richness of our conversations here.