Them: “That Jira ticket will take me at least a week or maybe two.”
You: “Really? That feature didn’t seem like a lot of effort.”
Them: “This new feature will be accessing the database. I’ll need to write a caching layer.”
You: “Our platform doesn’t take that many requests. It’ll be a negligible amount of additional reads to the database.”
Them: “Ugh! Another hack, why can’t we do anything the right way?”
You’re probably not writing code for, Google, Facebook or Apple. Stop thinking you are.
A common trend I see more these days is that when other developers aren’t getting their way(aka “the right/correct way”), they are more likely to write off the solution as a “hack”. Every solution comes with compromises.
At what point do you draw the line? Is it when they start suggesting rewriting the whole JDBC driver because they believe their solution is more performant?
If we lived in a magical world where Steve Jobs sings to us every morning, the streets are paved with gold and everyone dreams to be us then, yes, time is infinite, and then they can implement as much as they want.
Instead of adding that caching layer, implementing an outrageous multitier abstraction, or using a new design pattern you just read about last week, can we focus on solving problems that make our lives better?
Wouldn’t it be a better use of this developer’s time to solve problems that will have a significant impact? It would be a better use of their time fixing the tooling that is going to make the team more productive seems like a better use of time then over engineering the shit out of this feature.
Yes, there are times when you’ll need to add caching on your reads but measure it, prove it and then develop it. Too many of us in the industry think we’re some mythical unicorn, Google, Apple, or Facebook, but in reality, a lot of our day to day problems aren’t near that kind of requirement.
Top comments (1)
lol, "the right way".
It's easy to "feel like" a 'mythical unicorn' when no one else is handling the problem you are managing. In one sense you can go home having solved those kinds of problems and feel GREAT! In another sense one might wonder 'why did that problem come up in the first place?'
I think you illustrate that a balance needs to be met for sure :D