Your Last Name Is Invalid
Ah, the curse of software development isn’t the late nights, it isn’t the confusing bugs which seem to come out of nowhere. It’s the cause of many of those problems.
I don’t want to say that it’s the edge-cases exactly. It’s more the cause of those edge cases. Which is to say the issue of non-diverse developers who are unable to see problems that can develop because software developers generally work on the west coast without an injection of world talent.
A Case in Point
A user tries to fill in a form.
A bright product manager has decided to implement validation on the name field.
A user is unable to pass validation with their legal name.
Support isn’t going to be able to help you with this one, that’s because you’ve become a case that hasn’t been considered for software development.
I don’t know if it is right to blame a software developer for implementing this, a product owner for creating a ticket or a designer. You know, I do know who to blame, it’s the entire system of software development.
That notwithstanding the end result is a developer wrote this:
lastName.length >= 3
Everyone moved on with their lives. Everyone felt it was fine, and testing provided no notes for the team.
That’s because we all know names are Western, and need to meet our expectations. Anything else is wrong and we are going to ship this. If any challenges were raised they are dismissed (but I think they were never raised, were they?
It’s Become a Belief System
Please say in the comments “It’s just a validation rule”. I feel that I really want my audience to be that wrong.
No. Just no
It’s a belief system expressed as code.
This is where an org believes they know better than the user, that developer assumptions are correct and the users are simply “using it wrong” (who would ever say that)?
Anyone outside the norm gets blocked, confused, or excluded, and that includes neurodivergent people.
And if you think this only affects edge cases, congratulations you’re the edge case-free demographic the software was built for. They might be in the majority, but that does not mean that they are always right, and it doesn’t mean that you should even want to be in that particular club.
Because software is full of this stuff. If you’ve used enterprise software at work you’ve seen the worst possible cases of this.
And those worst possible cases…they’re everywhere
This isn’t rare. It’s everywhere. If you’ve ever had a country dropdown that doesn’t default to where you are it’s annoying, if you live in the United States. If your address doesn’t exist in the approved format, or you’re not in the assumed country for a telephone number you’ve seen this. Add your own example(s) in the comments.
All of it caused by the same root issue.
Someone optimized for implementation speed instead of reality.
And because it “works for most users,” nobody fixes it.
Developers Need Pushback
This is why “just ship it” cultures are dangerous. Why saying “we’ll fix it in production” (even tacitly) isn’t good enough.
Homogeneous teams don’t create neutral software. They’re enabled by cultures that ship unfinished software with a bag of issues.
It’s not an excuse that “we were rushed” but if you’ve created half-finished software that excludes you’re culpable.
We all know the fix is easy. We need testing. We need diverse teams.
The hard part is admitting this sentence.
“We don’t understand our users as well as we think.”
Most companies would rather ship another joke.
Final Thoughts
If your system rejects someone’s name, your system is wrong.
That’s all.
About The Author
Professional Software Developer “The Secret Developer” can be found on Twitter @TheSDeveloper.
The Secret Developer once wrote a validation rule for email addresses that went wrong. They never really understood RegEx you see.