4 ms·
Some types of tech work well with remote, largely unalignable staff. Some don’t. I’m finding that where I can build small modules, by myself, that allow lots
by gorgoiler 4y ago
Some types of tech work well with remote, largely unalignable staff. Some don’t.
I’m finding that where I can build small modules, by myself, that allow lots of flexibility to make final integration possible, I’m getting a lot of work done.
When I need to collaborate with a bunch of people and get small pieces of code landing in different places before I can start to see results, then I’m finding the remote angry nerd keyboard warriors harder to work with.
It’s much harder asking for trust and collaborating on a design when they don’t really care about anyones work except their own. Going into 100% selfish mode matches up with everyone’s culture, but it doesn’t feel great, and means I don’t really get much in the way of quality code review any more.
I’m trying, struggling, and failing to articulate what the good and bad patterns are here. Can anyone help me?
How do you structure a tech team, culturally, to promote progress in spite of everyone now having the social skills, flameyness, and diplomatic finesse of a faceless forum user?
- mattlondon 4y agoJust wanted to echo this - the lack of in-person discourse leads to strained relationships IME. There is so much nuance lost in pure digital (especially email/chat but also video calls) that it puts up communication barriers/friction. As a result people communicate less, or even "come out swinging" (i.e. angry/forcefully) if they feel their work/decisions/etc are being questioned. I am sure pure remote works well when requirements are 100% understood, there is a perfectly groomed list of prioritised bugs/features to fix/implement, and the design/architecture is both correct (now and in the future) and understood by all engineers. If not then I don't understand how you can easily and efficiently resolve these problems in a remote way without taking hours and hours or even days and weeks for chat or stilted video calls. Sometimes nothing beats just getting in a room with everyone for 90 mins and talking things through around a whiteboard or whatever.
- bluepizza 4y ago> even "come out swinging" (i.e. angry/forcefully) if they feel their work/decisions/etc are being questioned That is incredibly unprofessional, no matter where one is working from. No job descriptions include a blank check to do whatever one feels like without justifying it.
- xeromal 4y agoHonestly, it sounds like what happens when you have too large a workforce that it's easy to behave this way. I work for a small company of about 50 devs and it's really hard to be "the angry nerd asshole(tm)" without no one wanting to work with you. I think the onus is mostly on leadership to sniff this behavior out and fix it or throw them out. Life is too short to be an asshole or to deal with them.
- incrudible 4y agoInstead of structuring your team around the architecture of the software, you architect the software around the structure of your team. It is a corrolary of Conways law. Promote selfishness (call it ownership) and get just get rid of code review. As you may imagine, this approach has fat tail risk, but that is not necessarily a problem in a high failure rate environment.
- shakezula 4y ago> just get rid of code review You’ve lost me there and will never get me back. I can’t abide any workflow that doesn’t put code review as top priority, regardless of remote or in person, sync or async.
- lamontcg 4y agoA lot of code review is needless nitpicking that doesn't help to produce bug free software and mostly provides friction. Particularly with senior devs reviewing other senior devs work. I don't think I'd say that code review needs to be abolished, but it often needs to be put on a bit of a diet. And I've seen PRs where code beautification feedback has gotten so out of hand and the PR is now 10% code fixes and 90% unrelated cleanup in the class/module/whatever that I can no longer determine if its safe to merge or not and that no regressions were introduced by the code review process itself.
- orwin 4y ago> I don't think I'd say that code review needs to be abolished, but it often needs to be put on a bit of a diet. To clarify: You mean whole team meeting for code-review needs a diet? Because i agree. I actually think code review is always positive in pair programming situation, and often a waste of time in a team meeting (even with smallish teams). Maybe include the new dev during the code review just to witness (and ask questions later for his enboarding).
- lamontcg 4y ago
- pmoriarty 4y ago"I’m finding the remote angry nerd keyboard warriors harder to work with. It’s much harder asking for trust and collaborating on a design when they don’t really care about anyones work except their own" This is more of a problem with the people you work with, not with remote work itself. When my coworkers were nice people, interacting remotely with them was not a problem. The main problem with remote work I've experienced was loneliness and isolation.
- kcplate 4y ago> get small pieces of code landing in different places before I can start to see results I long for the days when developers worked on big pieces of code and had ownership much more holistically in what they were developing
- gorgoiler 4y agoThis sounds like an interesting perspective. Could you elaborate a bit more on what it is different today, and what you are comparing the present situation to?
- kcplate 4y agoThis is just my opinion, but I think we have compartmentalized development too much. Atomized it a level where the individual parts only care about themselves and are now too simple that the parts lose sight of the whole. I hate the “well my piece works” attitude that I have seen grow over the last 5-10 years. Likely due to bastardized scrum/agile with tiny little bite sized dev stories and tasks that in my mind have turned developers into cogs in a assembly line. 30+ years ago, almost all devs were brilliant, creators, engineers and problem solvers. In my estimation 25% are brilliant today with the remaining seemingly unable to write a single line of code unless the requirements are spelled out in hyper levels of detail, with design standards, engineering guides, and all manners of cheat sheets to contain them in a box where their screwups are contained. rant over