Live data from Hacker News

How to Make Other Developers Hate to Work with You

anaxi.com

171–180 of 191 posts

Re: How to Make Other Developers Hate to Work with You

#171
post #58

I thought I would make an addendum: > We all know at least one developer who ... will always insist on following “best practices” without understanding why those practices are considered “best” (there is no such thing as best practices that adapt to every team) For any developers out there recently starting on your path, I cannot stress the importance of taking the time to seek out best practices for new skills and t…

I agree.

I'd like to add, in my experience some developers firmly (and sometimes loudly, judgementally) join a working environment and espouse best practices they've acquired from a cultural background they've worked in so far. Or read about, or watched a training course about. And they don't know (or care if) they are pushing things which are advertised as "best practice" in some domain or other, but aren't half as universally agreed upon as they think, and aren't half as effective or appropriate as they think in the new job.

My point is: Some "best practices" aren't as universally agreed upon as people think, and people are often thinking in a bubble.

If you're at a new job, and you see a glaring lack of what you've learned is "essential" best practice, I'd urge caution in assuming your new team are ignorant or that your managers are as clueless as you think at first, even if it looks messy and disorganised.

Of course they might be clueless! But it takes time and deep questioning to be sure.

Of course your experience should be brought into each new place you work. You're hired to bring in what you know, not just to fill a seat. By all means talk about your experience, about things you have actually done which worked well, and about what industry leaders are currently talking about.

But if you feel the need to "teach" everyone straight away how to work better, give it time and consider the possibility that people might have given it considerable thought and experience of their own. They might even be familiar with much of what you're talking about, and rejected it or found a different approach. (Or they might not - that's to be discovered.)

I say this because I've seen people turn up and, in effect, try to start fights long before they have spent the time to figure out (a) others in the team are quite experienced and familiar with the same practices but have decided on something else, (b) different industry bubbles actually do have different best practices for similar problems, and (c) they can't see some kinds of development strategy that are in use, because subtlety.

Re: How to Make Other Developers Hate to Work with You

#172

Earlier quoted context omitted.

There is a sweet spot. The boss can't hire new grads to work on it, because they can smell the manure from a mile away. So as long as you're willing to slap on yet another coat of superficial patches, they'll keep paying you to do it. That's an equally-bad symptom of the same problem, approaching from the opposite side. The structural problem still doesn't get fixed, because the developers aren't repulsed by it at a…

You're still stuck on "the code is bad and that's why they don't want to touch it." I'm saying, their attitude is bad and feel maintenance is beneath them. Every, and I mean every, development shop has some amount of tech debt. But even if the code is generally good quality, you have a subset of devs who think maintenance is below them. That's a bad attitude and people don't want to work with that.

It's worse than that. All code instantly becomes technical debt the moment it's deployed. A development shop is almost entirely composed of technical debt, unless it never shipped anything.

Re: How to Make Other Developers Hate to Work with You

#173
post #71

Here's a profile of a developer: - Easy going and pleasant. - Really interested in programming and tech in general - Talks intelligently about the problem at hand. Asks all the right questions. Agrees a plan of action in collaboration with colleagues. - Creates systems that definitely appear to work - Code looks pretty sane. Structure is right. Style seems good. - Always very responsive to problems. Jumps straight on…

Not before 5 or 10 years.

Patches and fixes have accumulated in response to strange edge case and bugs you wouldn't believe if told.

The organization and the problem space have shifted somewhat over time. A few things could have been done differently in the new environment.

Re: How to Make Other Developers Hate to Work with You

#174
post #71

Here's a profile of a developer: - Easy going and pleasant. - Really interested in programming and tech in general - Talks intelligently about the problem at hand. Asks all the right questions. Agrees a plan of action in collaboration with colleagues. - Creates systems that definitely appear to work - Code looks pretty sane. Structure is right. Style seems good. - Always very responsive to problems. Jumps straight on…

[deleted]

Re: How to Make Other Developers Hate to Work with You

#175

>Most developers are enthusiastic people, but sometimes you may have the chance (or misfortune) to work with a negative one. Negativity is infectious Western society has a weird optimism bias. I think it goes hand in hand with extroversion bias, and it keeps many people from being genuine. >those developers are clearly at the top of Mount Stupid Frankly, that's insulting. Being a negative or critical person does not…

Sometimes we need to remember that positive interactions make people happy, and negative ones make people sad. And that's what they'll remember about the interaction afterwards. For a lot of people, these basics apply even to technical discussions. Criticizing their code makes them feel bad, and so you are a jerk. Meanwhile, you think you are criticizing their design to help them improve it. This is a mistake on the…

True enough, but it's not just about making anyone happy.

Even thick-skinned people have a hard time with another type of negativity:

"Negativity" doesn't only mean high quality criticism, or pessimism.

It also refers to low quality, demanding, draining, and often competitive and repetitive discussions where critics are full of it.

Sometimes there is also bullying, always talking over, making out that coworkers are stupid, taking credit for others work, not pulling their own weight, trying to trick people, manipulating people to their disadvantage, insinuations, word-twisting and game-playing, that sort of thing.

That sort of negativity is draining. It's negative in an energy and morale sense.

That's not about hurting anyone's feelings, and it's not even about sadness and happiness.

It's just that some ongoing interactions drain everyone's energy without giving much back in exchange.

Everyone does it occasionally. Some people do it a lot - those can destroy a team and a company.

Re: How to Make Other Developers Hate to Work with You

#176
post #169

Earlier quoted context omitted.

To me that just sounds like you don't have tasks that require deep thought. If everything you do requires deep thought, this is possibly a sign of bad code design.

Haha, could be yes. And at the opposite end: If everything I do can be achieved without thinking hard I'll be replaced with a tiny shell script written by someone who does.

https://xkcd.com/1445/

Re: How to Make Other Developers Hate to Work with You

#177

>Most developers are enthusiastic people, but sometimes you may have the chance (or misfortune) to work with a negative one. Negativity is infectious Western society has a weird optimism bias. I think it goes hand in hand with extroversion bias, and it keeps many people from being genuine. >those developers are clearly at the top of Mount Stupid Frankly, that's insulting. Being a negative or critical person does not…

> "Being a negative or critical person does not make one stupid"

It does if you have engineering goals and the _manner_ in which you are being a negative or critical to other people is preventing the team from achieving those goals.

Negativity does not always come with skepticism, by the way:

Some people are negative in the sense that they demoralise others, yet are full of uncritical enthusiasm to use every random idea and technology they hear about. Which may be what is demoralising others :)

Re: How to Make Other Developers Hate to Work with You

#178

How everyone can be right, but everyone gets annoyed anyways. Cast: Developer A, a younger developer who is recognized company-wide as an expert in the latest features of blb++. Developer B, an older developer who maintains widely used legacy code in blb++ involved in about 80% of a billion dollar multinational's profits. Dev A: Your group should change the coding style in this application to the new standard. Dev B:…

>>> the new coding style is better, more efficient, and would even prevent mistakes going forwards.

Except that's wrong. The new style is not "better" at all. Replacing CamelCase with underscore_variables and forcing brackets on new lines make no practical differences.

All the time to rewrite hundreds of files was just churn.

Re: How to Make Other Developers Hate to Work with You

#179

How everyone can be right, but everyone gets annoyed anyways. Cast: Developer A, a younger developer who is recognized company-wide as an expert in the latest features of blb++. Developer B, an older developer who maintains widely used legacy code in blb++ involved in about 80% of a billion dollar multinational's profits. Dev A: Your group should change the coding style in this application to the new standard. Dev B:…

Dev A is a junior developer that doesn't understand the time and opportunity cost of rewrites. Or that projects and managers don't care about style, they want new features and stability. Doing things better going forward is great. Going back to change legacy code for style? Frankly, that's a big waste of time, and management will not look fondly on your lack of visible or impactful progress. I was Dev A a couple of y…

It can be done in a way that show massive visible progress and impact. Just have to fill plenty of tickets for doing plenty of changes. Adding new features that are already present, sometimes renaming the file that had them if necessary. Fixing bugs, possibly freshly reintroduced because the existing fix was purposefully ignored or removed.

Do you know that progress report and commit messages don't even have to match what was actually done or committed? The project is your playground.

Re: How to Make Other Developers Hate to Work with You

#180
Love the article except for the part that encourages developers to rat on other developers. No. Unless another developer is so bad they are putting your job in jeopardy, let them be. It's the manager's job to sort that out and do something about it.

Throwing other developers under the bus when ones own job security is not threatened should be the number one thing on this list of asshole things a developer can do by far. By very, very, very far.

Post reply on HN