Ask HN: How to avoid arguing over trivialities?
I work on a team with 8 or 9 people who all have different specialties, but from time to time we experience a lot of overlap, especially when it comes to crunch time on a big project. Invariably we end up making a big deal over some small issue, be it version control conventions, variable naming schemes, or tabs vs. spaces. In other words, we're at loggerheads over some issue where reaching an agreement is more important than whatever the agreement is.
What do you do speed things along without pissing off your coworkers? We have non-technical but otherwise awesome management, and no official technical leadership. We like it that way. I think we all have an appreciation for the egalitarianism within the group, but sometimes it can be an impediment.
3 comments
[ 4.2 ms ] story [ 40.5 ms ] thread"Why should I have to use use this boost::shared_ptr for everything? This class clearly has ownership of this data. I'll take care of everything in the destructor. If you need a copy, make a _copy_. I'll write you a deep copy function if you want."
"But I don't want to make a copy. It's inefficient and I find it unnecessary. Just use boost::shared_ptr for everything and it will all be ok"
... for code that will probably not be used anywhere in a performance-critical section of the code but it's hard to know in advance.
And somedays you have to tell people to suck it up. "Oh, two spaces indentation in Python is how Google does it? Well, it's not how we're doing here".
When it's allowed to break the rules? When the method you choose allows it. For example, breaking code convention is a no-no under whatever. But boost::shared_ptr? What everyone else on the team thinks? What does your "method" says? That performance is more important than readbility?
If you have a prima donna developer who doesn't accept his peer decisions, then you have a bigger problem than just silly arguments. You've built the wrong team :p
Smart people love being corrected, most of the time. They're in it for the learning, not to display their awesomeness.