Recently, I had a conversation with a junior developer on my team. Let’s call him Alan. We were talking about a new notification feature that was going to be used to send reminder e-mails to potentially thousands of people if they had forgotten to enter certain data in the last month or so. Alan was confident that the code he’d written was correct. “I’ve tested it well.”, he said…
I was a full time test engineer / QA person for a while. My motto quickly became “nothing ever works”.
Pretty much any ticket behind a static copy change would have some problem or oversight. Sometimes even those would (did you account for very narrow view ports?)
Good developers would take this feedback gracefully. “Shit, you’re right, I need to account for mobile users.”
Bad developers would get defensive and upset. “We barely have any mobile users (me: did you check?). Alan already approved so I’m merging. I don’t want to waste time on this”
As a dev I’ve been on both sides to be honest. Especially when there is pressure to finish the next task. I think it needs good planning to create enough time for these things.
In the end bad devs will still shut you up about things they are not interested in fixing…
I’ve done a lot of “then go get approval from the stakeholder to go ahead with this bug/problem”.
If product wants it out now now now they can sign off on it not working on mobile, so when their boss has a fit about it I can point to the conversation where Ryan said it was fine.
I’ve mostly worked at smaller companies though.