top | item 33371386

(no title)

ramilefu | 3 years ago

The difficult bit here is the tendency for developers to detest these parts of the job. In my experience, most developers would prefer nothing more than to write code in a cave, never to share a word with anyone. Reviewing a PR, writing documentation, and sharing knowledge are all things taking time away from their passion.

I think this is the origin for much of the friction we experience in collaboration and documentation. It’s easy to build something, ship it, and move on. That’s the dream we are sold as well: changing the world, one line of code at a time, from our basements.

I would love to see more focus on writing in our industry. Unfortunately, I haven’t experienced much improvement here in the last decade of working in the industry, across several organizations.

The writers among us are quite the minority.

discuss

order

Multicomp|3 years ago

> The writers among us are quite the minority.

Tell me about it. I'm lucky enough to have a supportive manager when I try to define my teams fitness functions, but getting the rest of the team to engage is an exercise in patience testing on all sides.

They don't see the value in writing useless essays, shouldn't self documenting code be enough?

I don't see the value in skipping high resolution communication up front so we can all waste time reworking the same problem for the 5th time that month because we forgot what we decided the 4th time we worked on it.

Nextgrid|3 years ago

One suggestion I would add is to make it easy to do the things you ask for. You're already having trouble getting your team to do it, the last thing you want is for them to have to suffer through shitty tooling to do so (and give them another excuse to skip doing it).

Having documentation in anything Atlassian-branded (or similar garbage) is a no-no for example. That's one of the few cases where I would completely understand & support a developer outright refusing to do it.

Writing essays might not be everyone's cup of tea (personally I'm fine with it as long as it will be useful and will not just rot away in darkness forever), but it's manageable with good tools. But if I have to wade through molasses like Confluence, I'd totally understand why nobody wants to engage and wouldn't even be mad at them.

I'm generally not the kind of developer who hides in a cave, but as time goes on I understand them more and more - it turns out a lot of what these "cave" developers don't like involves absolutely terrible tooling that actually regressed over time (despite processing power and system resources constantly increasing).

P5fRxh5kUvp2th|3 years ago

document decisions and move on, why are you asking your team to write essays?

Companies bitch about the performance of developers then ask them to do things like this.

What's worse is when companies give developers all the responsibility and none of the control.

ngrost24|3 years ago

Personal opinion or anecdata: Is it possible that communication is "detested" because it's not valued within the developer group? Many times, when someone speaks of a 10x software engineer, the gut feeling is of someone that provides the output (measurable in code) of 10 developers, not that he's able to have an impact in the organization through communication as 10 developers (breaking silo-s, syncing teams, etc), although this might be closer to the truth and what the duties of some staff and principal level developers includes.

In addition, rarely communication is valued within the companies where we work. Most aspects of documentation, whether vocal or written, are hard to measure and as such are ignored when an evaluation of the "worth" of an IC is done.

Personally, I think communication is relevant, but I also think that it's hard for developers to resist the sculpting that companies deliver to the employees on what is relevant in this field.

xbfjvusb6|3 years ago

This. I can tell HR, my lead and skip about how good my communication, soft skills and team work have been this year but come comp review they don't give a crapola about any of that. All they look at is how many sloc I've shipped.

SpicyLemonZest|3 years ago

It's interesting, because I've heard a lot of stories about environments like that, but I've never personally seen one. In every job I've had, the most respected (and highest paid) developers have always been the ones who struggle to find time to write code because they're too busy communicating. It was actually a hurdle for me at the start, and I remember being shocked the first time a manager told me writing lots of good code wasn't enough to get promoted.

Ensorceled|3 years ago

> Many times, when someone speaks of a 10x software engineer, the gut feeling is of someone that provides the output (measurable in code) of 10 developers, not that he's able to have an impact in the organization through communication as 10 developers (breaking silo-s, syncing teams, etc), although this might be closer to the truth and what the duties of some staff and principal level developers includes.

Both are 10x developers. One by 10x impact at the code level, the other by 10x impact at the "delivering the right thing the first time" level.

Though, in reality, it's really hard to be a 10x developer without doing both of those things ... a profilic coder who is solving the right problem because they took the time to communicate and understand the real issues.

throwawaysleep|3 years ago

> Reviewing a PR, writing documentation, and sharing knowledge are all things taking time away from their passion.

And are also career incoherent and not valued.

I get measured on points per sprint. Documentation, customers, and PR review does not help me hit key metrics, which is why I do all I can to get out of it, including being bad at it so that I am not asked to do it anymore. Nobody has ever scolded me or had a performance meeting with me about botching reviews, docs, or knowledge sharing. I am never asked about these in interviews either. The questions are all technical or generic "how do you handle disagreement with a colleague?"

markrages|3 years ago

Sometimes I get the feeling that many developers are functionally illiterate. (In the https://quoteinvestigator.com/2012/12/11/cannot-read/ sense.)

I can spend as much time as I like writing comments or design documentation or whitepapers or commit messages, but nobody reads it. Maybe they will set up a meeting for me to read it to them.

justin_oaks|3 years ago

That's probably about right. But it's not isolated to developers. Most people skim or skip most instructions, documentation, warnings, etc.

When I write documentation I hope that people will never talk to me because the information they need is already written down. But more often it's so I can redirect them to the documentation and implicitly require that they read it before they continue to talk to me. In other words, documentation doesn't usually prevent an interruption as much as it minimizes the interruption.

PragmaticPulp|3 years ago

> The difficult bit here is the tendency for developers to detest these parts of the job. In my experience, most developers would prefer nothing more than to write code in a cave, never to share a word with anyone.

I wouldn’t say most developers fit this description, but there are a lot of people out there who embody this isolationist working style.

Some times they can be fit into a team’s structure if you have a constant stream of small tasks that really can fit into a queue of fully-contained tickets and the person is capable of self-managing and delivering good work at a reasonable rate. However, that’s a lot of conditions that many people just don’t meet. Often what ends up happening is that the rest of the team and the manager have to put in extra effort to work around the person’s personality, which slowly drags everyone else down.

That’s why it’s so important to screen for proper match during the interview process. I’ve seen a decent number of candidates who performed great on interviews, but couldn’t even pretend to be friendly during any stage of the interview. Surprisingly, a lot of them even seem to take pride in their demeanor.

I think there’s a romantic idea out there of coding mercenaries who show up, take paychecks in exchange for writing code in isolation until they feel like moving on. This mentality sounds great to people who dislike communicating or working with others, but it’s incompatible with any teamwork or any project that must scale beyond a single person. Most of the work I’ve been involved with has required teams and teamwork, so these people don’t really have a place in the team.

scruple|3 years ago

> Reviewing a PR, writing documentation, and sharing knowledge are all things taking time away from their passion.

They have to write the code because that's what is demanded of them. If management would prioritize communication they would get more of it.

FoomFries|3 years ago

I would love to hear some resources for improving. Separating the chaff from the wheat on resources is always difficult for the layman, similar to learning an instrument for the first time. Most things I find on improving writing is related to fiction, and other areas of improvement seem unnecessarily anecdotal or story driven.

devonkim|3 years ago

The issues I have are that developers tend to be bad at communicating even with each other. Communication as a discipline is a lot about meeting people where they are and this is difficult for basically everyone. The antagonistic attitude that developers seem to develop happen across almost every technical discipline whether it’s engineering or even trades. It may be even worse in trades given so much contact with the general public. If developers had to do customer support for their products as a rule you bet they’d get grumpy. However, I’d also say that interacting with the public probably makes most people in US retail grumpy, too.

What I think I’m trying to say is that developers self-selecting out of things thinking they’re either not good at them or because they don’t like to do them is a bit of a luxury compared to most professions and many on the outside would look at that and feel there’s an attitude of arrogance and entitlement as such.

frenchman99|3 years ago

> If developers had to do customer support for their products as a rule you bet they’d get grumpy.

Do you have data to support this?

I would love to do customer support from time to time to better understand the users of the product I work on as a developer. But that request has been denied to me many times, in multiple jobs.

To get people to communicate better, inspire them to do so and have faith in them.

hbrn|3 years ago

Spot on. But it's not even about writing. Developers hate communication, in any form.

Going remote made it much worse, there's even more ways to avoid communication or turning it async.

The only remedy I found is actively forcing people to talk to each other, starting with yourself.

Doing a code review? Grab the reviewee in a Slack huddle for 15 minutes, it'll save time for both of you.

Need a code review? Grab the reviewer and walk them through the parts that are hard to understand.

Designing a big piece of architecture? Instead of writing a thorough design doc that nobody will read, build a rough diagram and share it with the team immediately, preferably on a call.

Writing documentation? Ask your team members what they want to see in it.

Yeah, it sucks to do all of that when you're an introvert. But it gets easier with time. And hopefully you can find joy in the fact that you are delivering value X times faster.

skydhash|3 years ago

> The only remedy I found is actively forcing people to talk to each other, starting with yourself.

That's not communication. That is forced socialization.

There are things that are expressed more efficiently in spoken form, but the truth is that spoken words are ephemeral and the mechanism for storing and retrieving them are cumbersome.

I like written communication, it forces you to be more structured in your thinking. And most importantly. It does not require another person to be actually present for this to happen.

> Doing a code review? Grab the reviewee in a Slack huddle for 15 minutes, it'll save time for both of you.

I strongly believe that a review that can be done in a slack hurdle in 15 minutes can be done async in less. And there is the need to actually schedule for that hurdle. And in practice, every one of these hurdles will actually be surrounded by a period of non-productive time.

Programming is thinking work. The actual coding, while visible, is the easiest part. We hate wasteful meetings because it contributes nothing to make thinking easier.

Jensson|3 years ago

Developers hates communication since developers gets blamed for all communication problems even when they aren't at fault, until that changes most developers will hate it and refuse to do it since they got burned.

batesy|3 years ago

Seems like a pretty significant opportunity to level up for those willing?

soneca|3 years ago

It definitely helped me a lot in my career. It is hard to single out its impact, as good writing also help me demonstrate other non-technical qualities like diligence, trust, problem-solving. But I might take a guess and say that about 30% of my salary is due to good written communication skills

KptMarchewa|3 years ago

On the contrary, a lot of businesses punish it.

ramilefu|3 years ago

Certainly. I’ve leaned into it, when given the chance.

As the author writes, it definitely makes you stand out, if you are willing.