Hacker News new | ask | show | jobs
by cbushko 1371 days ago
Think of the new people you hire!

It is difficult enough being onboarded to a new company without having to learn two dozen names for random services and libraries. I feel sorry for each batch of Interns that start at companies that do this. Not only were the Interns learning how to build software but they also had to learn random names that they would not be able to use in their next placement.

What is easier to understand at first glance?

Picard stopped responding to Luke. Bilbo is also down!

or

PaymentService stopped responding to UserService. Database-XYZ is down!

It might not be exciting but the cognitive load is much lower.

2 comments

Except as the article says, names tend to stick, scopes don't.

This PaymentService grew into fraud detection. So the new hire will be even more confused. Asking "What does Picard do?" is natural, where a new hire might have trouble asking "What does the PaymentService do?"

As someone else mentioned in the replies, this sounds more of a problem of not having a top level design than a naming problem.

You have bigger problems if your `PaymentService` morphs into the functionality of being a storage or user service.

I would not say top level design. Software is often born out of software. It's more like a woman keeping her children in her womb instead of giving birth to them.
I don't think somebody would be more confused to learn that payment service also deals with fraud (which is something a lot of people are aware of - every payment service on the face of the planet has now warnings about fraud) than having to deal with "Picard is not connecting to Bilbo because Legolas is refusing to pass KrumpleSnitch to Kthulhu". In fact, I'm not sure it's humanly possible to be more confused than dealing with something like that.

And if you having a payment system that starts doing something payments systems traditionally don't do - like, I dunno, predict weather? - then you have a design problem and should refactor your system so your payment system doesn't do that anymore.

If only the names were so plain. Usually they’re longer with the intention of being plain, then they become opaque acronyms:

PPS stopped responding to UDMS. CMS is also down! No, not the CMS, the CMS is fine… CMS-the-service is down!