(no title)
ramilefu | 3 years ago
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.
Multicomp|3 years ago
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
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
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
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
SpicyLemonZest|3 years ago
Ensorceled|3 years ago
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
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
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
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
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
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
devonkim|3 years ago
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
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
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
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
batesy|3 years ago
soneca|3 years ago
KptMarchewa|3 years ago
ramilefu|3 years ago
As the author writes, it definitely makes you stand out, if you are willing.