[HN Gopher] Best Practices for Remote Software Engineering
       ___________________________________________________________________
        
       Best Practices for Remote Software Engineering
        
       Author : RuffleGordon
       Score  : 248 points
       Date   : 2021-04-26 16:41 UTC (6 hours ago)
        
 (HTM) web link (cacm.acm.org)
 (TXT) w3m dump (cacm.acm.org)
        
       | dboreham wrote:
       | * Shower first
       | 
       | * Put on clothes
       | 
       | * Deliver tangible things often
        
         | mym1990 wrote:
         | I prefer:
         | 
         | * Put on clothes
         | 
         | * Shower
         | 
         | * Deliver tangible things often
        
         | barbazoo wrote:
         | Midday showers are one of my favorite things about WFH.
        
           | wccrawford wrote:
           | I have to agree. Not just showers, but any type of personal
           | cleansing. I've gotten in the habit of waiting until well
           | after my wife is awake and out of bed before I shave and
           | brush my teeth, and it's perfectly fine.
        
       | znpy wrote:
       | Since we're commenting a piece from the ACM: would you people
       | recommend an ACM membership subscription and reading the
       | communication of the ACM magazine?
       | 
       | What if you're not directly a software engineer but more like a
       | system engineer / system administrator / DevOps engineer?
        
         | mavelikara wrote:
         | The Oreilly library access alone is totally worth the price of
         | ACM membership.
        
           | lolinder wrote:
           | Is the Oreilly access that comes with the ACM membership full
           | access? The same level of access you'd get for $500/yr from
           | Oreilly directly?
        
       | collaborative wrote:
       | Lots of whiteboards. Clean, tidy desk. No visible cables.
       | Sunlight. Fresh air. Caffeine
        
       | vladojsem wrote:
       | I believe asynchronous communication is the key for remote work.
       | It is super-hard to learn and requires a trust, however, I find
       | it the most efficient style of work. Of course there will still
       | be some regular meetings / synchronous communication, but more
       | asynchronous you can do more focus time remains.
        
       | dragosmocrii wrote:
       | What a great article! I specifically like the emphasis on the
       | human touch, like showing empathy and trying to build a
       | connection with the customer and the team, despite the remote
       | aspect.
       | 
       | I also believe that correct use of communication media plays a
       | huge role in the effectiveness of remote work. But personally,
       | unlike the author, I believe that written communication is much
       | better for remote teams. Shameless plug, I've wrote an article
       | specifically on the topic of communication for remote work
       | https://dragoshmocrii.com/remote-work-and-efficient-communic...
        
       | yrgulation wrote:
       | Barking at the wrong tree. In my view, most experienced software
       | engineers can self organise and self manage. Not saying everyone
       | can or that everyone should do remote work but many that enjoy
       | and prefer remote work can.
       | 
       | "This Viewpoint is intended for remote software engineers who are
       | facing new challenges to thinking about routine, responsibility,
       | and goal setting."
       | 
       | This viewpoint should be intended for non technical managers as
       | they are the ones who tend to clutter project delivery with time
       | management tools and meetings. This applies to onsite work as
       | well. I feel like there is a lot of effort put in educating devs
       | on doing the right thing while management is educated in the
       | opposite direction.
        
         | morelisp wrote:
         | Most software engineers are not experienced software engineers.
        
           | notJim wrote:
           | Hmm, is that true? Just from a numbers perspective, it seems
           | like there would be far more experienced software engineers
           | than brand new ones.
        
             | ectopod wrote:
             | There would be far more experienced software engineers than
             | brand new ones if the field was stable, but it has been
             | growing exponentially for years.
             | 
             | The answer to the original question depends on the rate of
             | growth, how you define more experienced, etc. So it's not
             | obviously true or false.
        
             | wnevets wrote:
             | According to Robert Martin 50% of developers at any given
             | time have less than 5 years of experience. [1]
             | 
             | [1] https://youtu.be/ecIWPzGEbFc?t=3055
        
           | lostcolony wrote:
           | Most software engineers become experienced software engineers
           | (enough to self-manage) very quickly in the right
           | environment, I've found.
        
             | codingdave wrote:
             | Most software environments are not the right environment.
        
               | morelisp wrote:
               | Excellent point. Small details about your working
               | environment, or lack of a routine, can hugely throw off
               | your workday, and thus your productivity. You should
               | generally pay attention to the lighting, noise level, and
               | comfort of a work space. If you find yourself distracted
               | by anything, you might consider changing your
               | environment. Habitual repetition by way of thinking about
               | your environment or making explicit choices can lead to
               | the establishment of longer-term habits.
               | 
               | Someone should write an article with that advice in it...
        
             | jzoch wrote:
             | That's probably survivor's bias and not true at scale.
             | "Right environment" is shaky - we should strive towards
             | defining what makes an environment the "right" one and how
             | can we increase the number of engineers that successfully
             | acclimate to their new way of working.
        
             | morelisp wrote:
             | I disagree (my anecdotal estimate would be around 1/3 do
             | quickly, and 1/3 do "slowly" i.e. within 3-5 years), but
             | those who do can still accelerate the process by reading
             | documents like this, no? People who can self-teach still
             | benefit from learning materials.
        
         | jzoch wrote:
         | I think its pretty clear there are problems on both sides.
         | Managers need to learn the correct approach to facilitate
         | acclimating their team to remote work but each individual also
         | could improve how they work so that remote settings are more
         | optimal. Nothing is so black and white.
        
       | solosoyokaze wrote:
       | I feel like most engineers are pretty good at working remotely
       | (c.f. all of open source).
       | 
       | Managers however seem to have a very hard time adjusting. If I
       | were to give some "best practices" for remote management, they
       | would be:
       | 
       | * Don't worry about how your reports are spending their time. If
       | someone doesn't get back to you, they are busy.
       | 
       | * Don't factor an employee's location into their compensation.
       | 
       | * Minimize meetings (this is for non-wfh too, but it's much
       | easier when people are remote).
       | 
       | * Allow people to leave their cameras off during calls.
       | 
       | * Don't worry so much about flying people to meet IRL. It's
       | expensive and disruptive. It may also introduce politics that
       | won't exist if everyone stays remote.
       | 
       | * Realize that a lot of what people think of as "management" is
       | actually unneeded babysitting that's a vestigial cargo-cult from
       | the industrial revolution. Your job is to hire, motivate and
       | unblock. That's pretty much it.
       | 
       | I wonder if the role of manager will go away and be replaced with
       | more specialized roles. I actually think it might be nice for a
       | company to provide a therapist for people to to privately talk
       | to. That's always been a weird roll that managers often play. It
       | would be nice to vent to someone who doesn't get to decide your
       | next raise. Between some level of HR outlet, product management
       | and mentorship, I don't really see a dedicated role for what we
       | now call "manager".
        
         | morelisp wrote:
         | > I feel like most engineers are pretty good at working
         | remotely (c.f. all of open source).
         | 
         | Most engineers are not on GitHub or any of the other social
         | coding sites, let alone contributing to or managing an open
         | source project. And anyone who is managing an open source
         | project can tell you how much _work_ it is to help other
         | engineers contribute constructively.
         | 
         | Your idea of a managerial role doesn't seem to leave much room
         | for technical or team leads, only "product management".
         | Sometimes your role is to hire/motivate/unblock - and sometimes
         | the motivational role is make sure someone spends those three
         | hours writing unit tests everyone agreed were important even
         | though no one wants to.
        
           | solosoyokaze wrote:
           | Open source is just one example. In general I would say
           | engineers work well in a quite place with no distractions and
           | minimal bureaucracy. It is creative work after all.
           | 
           | > _Your idea of a managerial role doesn 't seem to leave much
           | room for technical or team leads, only "product management".
           | Sometimes your role is to hire/motivate/unblock - and
           | sometimes the motivational role is make sure someone spends
           | those three hours writing unit tests everyone agreed were
           | important even though no one wants to._
           | 
           | I did include mentorship in my list of things needed to help
           | engineers grow. I'd also add "everyone agreed" in a
           | traditional management setting is pretty much identical to
           | "the person who decides how much people get paid, said so".
           | Good devs will typically write the appropriate amount of
           | testing unprodded.
        
             | morelisp wrote:
             | Engineers (and everybody else) _like working_ in places
             | with no distractions and minimal bureaucracy. But that
             | doesn 't mean they all _work well_ them.
             | 
             | > I'd also add "everyone agreed" in a traditional
             | management setting is pretty much identical to "the person
             | who decides how much people get paid, said so".
             | 
             | Absolutely no one on our team deciding what people get paid
             | has any say in how many tests we write. The engineering
             | manager has some say (mostly as a tie-breaker) in technical
             | decisions but does not "decide" how much anyone gets paid
             | (outside of salary range for new job postings), but can
             | choose to advocate (or not) for a particular person's
             | salary with higher management. The senior developers have
             | the most say, and they determine no one's salary.
             | 
             | > Good devs will typically write the appropriate amount of
             | testing unprodded.
             | 
             | Qualifying this with "good devs" somewhat begs the
             | question. I would rather avoid judging the developers and
             | just say, no, _most_ developers will not typically write
             | the appropriate amounts of tests by without some friendly
             | reminders.
        
               | solosoyokaze wrote:
               | > _Engineers (and everybody else) like working in places
               | with no distractions and minimal bureaucracy. But that
               | doesn 't mean they all work well them._
               | 
               | I don't think evidence exists to suggest they don't. From
               | a burnout perspective alone, making people work in an
               | environment they don't like will cause attrition.
               | Especially now that there are plenty of WFH options.
               | That's not even touching on how stress impacts
               | creativity.
               | 
               | > _Qualifying this with "good devs" somewhat begs the
               | question. I would rather avoid judging the developers and
               | just say, no, most developers will not typically write
               | the appropriate amounts of tests by without some friendly
               | reminders._
               | 
               | Our personal experiences are diametrically opposed to
               | each other then. I've never seen lack of tests be an
               | issue on any team I've worked with. I have however seen
               | unproductive teams create tests in place of being
               | productive.
        
         | TigeriusKirk wrote:
         | >I actually think it might be nice for a company to provide a
         | therapist for people to to privately talk to. That's always
         | been a weird roll that managers often play.
         | 
         | It would be interesting to break down what percentage of 1:1
         | time with employees is spent in therapy-like discussions. It
         | feels like this role isn't recognized enough, except perhaps by
         | the managers themselves.
        
           | ketzo wrote:
           | Two great managers I've had both regarded this as one of
           | their highest duties.
           | 
           | As an engineer, having someone above you in the chain of
           | command who regularly asks things like "how are you feeling
           | about work? Bad? Good? Are you stressed or content?" is a big
           | deal. Even if the answer is a totally noncommittal
           | "everything's fine" 99% of the time, that 1% is absolutely
           | critical to be aware of.
        
       | littlestymaar wrote:
       | #0: a standing desk
       | 
       | #0': external monitors & desk mount
       | 
       | #0": an ergonomic keyboard
       | 
       | Do work on a laptop on your kitchen table, you're harming
       | yourself!
        
       | [deleted]
        
       | philangist wrote:
       | I was just having a discussion about this with my manager during
       | 1:1. I'm curious how any fellow devs with ADHD have managed the
       | transition to remote work over the last year? I love the freedom
       | and ability to focus that working from home provides, but I often
       | find myself taking advantage of that freedom and focusing instead
       | on podcasts or reddit for 3 days to avoid 3 hours of writing unit
       | tests.
        
         | joncp wrote:
         | I'll do your unit tests if you'll take my build scripts! :)
        
         | brotherofsteel wrote:
         | Pair and mob programming
        
           | edabobojr wrote:
           | In my experience, pair and mob programming are just yet
           | another scenario where neuro-atypical people are punished for
           | approaching their work differently.
        
             | whateveracct wrote:
             | I just recently started working at a place where mob
             | programming is commonplace.
             | 
             | It is easily the most wasteful use of time I have ever seen
             | in my professional career.
             | 
             | 1.5hr session * 6 devs = 9 hours down the drain.
             | 
             | Only one person can speak during a Zoom call! It's a
             | single-threaded, low throughout, low latency communication
             | medium.
             | 
             | So it always ends up being one or two people talking - the
             | one or two driving what is being mobbed on.
             | 
             | Due to this, I try to only jump in when I have something
             | valuable to add. Which isn't often given the situation I
             | described. If I'm driving or directly involved with the
             | design or w/e of the mob session's focus .. sure of course
             | I'll talk. But I'm not going to sit around trying to get a
             | fluffy word in edgewise for 90 min just for its own sake.
             | 
             | And yet a frequent driver of this mob culture (a
             | "principal" engineer if you can believe it) loves to
             | mention how I'm not "engaged."
             | 
             | ??? I sit in your dumbass meetings and pay attention for 90
             | minutes! My time is 100% focused on the meeting!
        
               | mym1990 wrote:
               | Being a junior previously I derived a lot of benefit from
               | light pair coding every now and then to learn something
               | from a more senior developer. I have also been in code
               | reviews where 2+ people are of equal relative skill, but
               | have different approaches to a problem, and it almost
               | becomes a stalemate or some kind of power struggle to 'be
               | right'. 6 devs seems very excessive and an expensive use
               | of time heh.
        
               | ipaddr wrote:
               | I had an admob interview once. I don't understand why
               | this would ever be used. It seems so costly, slow and
               | disrespectful of everyone's time.
        
               | sodapopcan wrote:
               | It's slow at the beginning, but the payoffs are huge.
               | With mobbing, everyone knows how to do everything. Far
               | less design mistakes are made. No one ends up "owning"
               | certain parts of the system. It's also very humbling as
               | everyone succeeds and fails together, discouraging
               | "heroics". Pairing is also great for this (but you have
               | to switch every day).
               | 
               | Obviously, if you're working in a feature factory,
               | pairing and mobbing are pointless. If you care about code
               | quality and de-siloing, they're incredibly valuable.
               | 
               | Obviously, it's not for everyone, but it works incredibly
               | well where I work and I will never accept another job
               | that doesn't encourage pairing by default.
        
               | nitrogen wrote:
               | Think of it as a chance to pick up editor and language
               | tricks you might not have known, or to socialize "best
               | practices". The metagame is still part of the game. If
               | you can't change the practice, try to make the most of
               | it.
        
               | bmm6o wrote:
               | For "normal" mobbing, 6 people is too many. If I had 6
               | devs coding (which I often do) that's very rarely going
               | to be a single mob. It could split up 2/2/2, 3/3, 1/2/3
               | or whatever, but a single group of 6 is really
               | inefficient.
        
             | jacques_chester wrote:
             | I won't say it's for everyone. But for ADHD specifically,
             | my personal experience is that pair programming is a
             | godsend. I am able to use half my regular dose of ritalin
             | while pairing.
        
               | edabobojr wrote:
               | I am glad it works for you. Maybe (hopefully?) I have
               | just had an abnormal experience.
        
               | wernercd wrote:
               | I'd say I can get behind pair-programming to a point...
               | it helps get new ideas, different view points and leads
               | to rubber-duck-programming like effects.
               | 
               | I'm not sure I'm a fan of Mob programming... as others
               | mention, over a phone/video conference, it seems
               | inadequate. Turns more into an ad-hoc video lesson by the
               | stronger personalities (for better or worse - I happen to
               | be one of those in my small group at work).
               | 
               | Do you have problems with both? 2 vs 3+? or is it one or
               | the other?
        
               | sodapopcan wrote:
               | To do mobbing effectively you should be switching the
               | driver very rapidly. It's a bit tough remotely, but it
               | can be done. There are probably other ways to make it
               | effective, but if only a few people are contributing,
               | then the mob has failed and should either be recalibrated
               | or stopped altogether.
        
               | jacques_chester wrote:
               | No, anecdotally a lot of people struggle. It is an
               | intensive experience and places different pressure on a
               | person than soloing does. For me it works great, for many
               | people it works great, but not for everybody.
        
         | koboll wrote:
         | I don't think you're going to find the best time management
         | tips from people who are on Hacker News in the middle of a
         | Monday afternoon.
        
           | avgDev wrote:
           | _slow clap_
        
           | lliamander wrote:
           | Which is too bad, because those of us reading right now could
           | probably benefit the most from good advice.
        
           | domano wrote:
           | Well there is more than one timezone.
        
           | junga wrote:
           | It's not the middle of the afternoon all around the globe at
           | the same time. Some of us already spent eight hours slacking
           | off.
        
           | jolux wrote:
           | Ouch.
        
         | MattGaiser wrote:
         | Does it actually impact your relative productivity net of
         | everything?
         | 
         | I have done that a few times even without ADHD (presumably).
         | But stripping away all the meetings (or at least the need to
         | stop work to be in them), the chatting, and the distracting
         | questions has made it net out to about the same.
        
         | devoutsalsa wrote:
         | If you can get away with going down a Reddit rathole for three
         | days, no one is watching you that closely. That gives you
         | freedom to chase other things. One option could be writing a
         | library to make your tests more interesting to write. Write the
         | boring tests first, and then look for a way to make the process
         | of writing them more interesting.
        
         | Bishop_ wrote:
         | This (might) help you, It helped me anyways.
         | 
         | https://www.joelonsoftware.com/2002/01/06/fire-and-motion/
        
           | misterremote wrote:
           | I often find myself looking at my website and trying to
           | figure out what is the most important thing I have to work on
           | right now.
           | 
           | But hours can pass by like this.
           | 
           | And I've learned that I need to start with something small.
           | Even a tiny improvement/fix I spend my first 15 minutes on
           | gets me going and into the flow state!
        
         | xkeysc0re wrote:
         | Is that ADHD or are you just procrastinating? You clearly
         | recognize the issue. Maybe try Screen Time limits or changing
         | your hosts file
        
           | nemetroid wrote:
           | Are you suggesting that people suffering from ADHD do not
           | recognize that there is an issue?
        
           | dboreham wrote:
           | Aren't these synonyms?
        
             | PragmaticPulp wrote:
             | No, far from it. The pop culture definition of ADHD has
             | become extremely vague and watered down, almost to the same
             | degree that "OCD" has become a pop-culture term for
             | attention to detail.
             | 
             | Procrastination is a common behavior in people with _and_
             | without ADHD. Procrastination alone is not an indicator of
             | ADHD.
             | 
             | Likewise, someone who procrastinates does not fully
             | understand the struggles of someone with ADHD.
        
           | jjj1232 wrote:
           | Procrastination/lack of executive function is a symptom of
           | ADHD.
        
           | jonfw wrote:
           | Software is absolutely inadequate to prevent you from being
           | distracted... You can block a couple of things but it's an
           | uphill battle, because there are no limits to the number of
           | things more interesting in the short term than writing unit
           | tests.
           | 
           | It's import to identify and address the root of the problem
           | rather than just the symptoms. Do you find your work
           | rewarding? Will these unit tests help you to complete the
           | goals you hold for yourself? Are you healthy enough to
           | faciliate productive work?
        
         | treeman79 wrote:
         | So I have ADHD. Official diagnosis. My kids have it. Official
         | diagnosis. My mom and sisters clearly have it, but refuse to be
         | tested.
         | 
         | If something is sufficiently interesting I can hyper focus like
         | crazy.
         | 
         | For decades any level of boredom was physically painful.
         | 
         | Remote is the worse for me. Staying on task is a nightmare.
         | 
         | What helped? Pair programming. This keeps you engaged and on
         | task. I try and pair as much as possible.
         | 
         | Medication. I was on Adderal for awhile. It works great. I had
         | to stop due to serious side effects. (Strokes)
         | 
         | However it got me past the mental block of "boring is painful"
         | 
         | I function a good better without medication now. It's not where
         | it needs to be to cope with 8 hours of no human interaction,
         | but better.
         | 
         | I tried another non stimulate med. my focus was fine, but I was
         | so sleepy my work was crap.
         | 
         | I'm on Vyvanse now. My kids are on Vyanse.
         | 
         | It works a lot better.
         | 
         | I get some of the same side effects as adderall But not as
         | intense.
        
           | potta_coffee wrote:
           | I'm in the same boat and pair programming has been a godsend.
           | It's so much easier to think about and work on boring tasks
           | with a colleague. We both have the same problem so it's a
           | good match.
        
         | HumblyTossed wrote:
         | I use timers all the time. Basically a slightly modified tomato
         | timer.
        
         | znpy wrote:
         | I kinda made it explicit with myself (not with my colleagues of
         | course, duh).
         | 
         | I'll fuck off most of the morning, well aware that I'm doing
         | so, and I'll work non stop in the afternoon.
         | 
         | Some important things though: during the morning I mostly spend
         | time on stuff I find interesting, usually tech stuff not
         | directly related with my job. A few times non work stuff. But
         | seriously, it's a joy to be able to spend the morning to get
         | better at something about your job.
         | 
         | I spent last week mornings playing with the kubernetes APIs and
         | the client-go libraries, with only vagues ideas. Turns out, a
         | colleague is findin one of the toy tools I've written useful.
         | Wasn't expecting that. Last month I spent another week mornings
         | diving into AWS IAM and now I finally finally understand stuff
         | and I'm reporting problems to our head of it security, and
         | we're fixing stuff before they become problems.
         | 
         | The key, imho, is to be self-aware: I'll fuck off in the
         | morning, and I will work in the afternoon, no interruptions.
         | 
         | Important edit: I might be slacking, technically, but I always
         | keep an eye on the company chat. If anyone or anything needs my
         | attention, I drop my slacking off and be readily available
         | (most often you only have to be able to hear the Slack client
         | beeping)
        
         | jwdunne wrote:
         | I have quite the story.
         | 
         | I was terrified I wouldn't be able to focus. Terrified I'd get
         | distracted by home life. That my productivity would plummet.
         | 
         | But it didn't happen. In fact, the opposite. I never realised
         | how much commuting and office noise harmed my productivity and
         | energy levels. I was buzzing.
         | 
         | And I did what any ADDer would do.
         | 
         | I got drunk on it. Then burnt out.
         | 
         | In typical ADHD fashion, I thought all that new energy was
         | permanent and I could work insane hours. Sometimes from 7am
         | until 1am.
         | 
         | I was warned. But I didn't listen - not to my mrs, not to my
         | old man, my sister and colleagues.
         | 
         | And then, once the dust of lockdown settled, I burst.
         | 
         | After making damn sure that the company I worked for and my
         | sisters business didn't go bust, I couldn't anymore.
         | 
         | The code I wrote only a few weeks before? Hieroglyphs. But not
         | that I'd lost understanding. I knew I could read it if I wanted
         | to.
         | 
         | But I _really_ didn't want to. Like my very being rejected any
         | attempt to focus on the task at hand.
         | 
         | I was reduced to attending scrums. And playing video games.
         | 
         | It took a weekend away, a week off and a bit of advice from Dr
         | Feynman.
         | 
         | Thankfully, work was understanding. I was given a project where
         | I could play, and still deliver value. And so I played, got
         | something small done. Then I played some more. And so on.
         | 
         | Now, a colleague works on the project with me. I played so much
         | that I was prone to rabbit holes. My hyperfocus was out of
         | tune.
         | 
         | But then I took stock and was able to focus. We found a way
         | forward, took some advice, got speaking to the users and
         | focused development on fast iteration and feedback.
         | 
         | The past few months have been the most productive of my life.
         | All remote.
         | 
         | I learned a lot of hard lessons in lockdown. The lessons I
         | could not predict.
        
         | slaymaker1907 wrote:
         | It definitely helps me to have at least some working in the
         | office. I can work on something that is cool/exciting from home
         | no problem such as implementing new features, learning some new
         | API, etc. from home no problem, but going back to the office is
         | very helpful for stuff like going through email.
         | 
         | Also, thank you for speaking up! I feel like a lot of the
         | discourse for ADHD folks has been how freeing it has been to
         | get away from the distractions at work. For me, and it sounds
         | like also for you, working from home often doesn't have enough
         | structure.
        
         | animesh wrote:
         | Are you me? One thing that led me to not turn on my desktop
         | workstation is to complete a personal project. For at least
         | half a week, I did not bother to reach out for instant
         | gratification via reading HN, proggit, podcasts etc.
         | 
         | If I can only find the energy and appropriate time to do this,
         | I figure I can save my work and work ethic.
        
         | titanomachy wrote:
         | I stopped being able to get work done at all. It gradually
         | tipped me into a low-self-esteem death spiral. I tried lots of
         | different approaches to fix it: more accountability with my
         | manager, new medication, more regular exercise, therapy, a bit
         | of disability leave, even moved to a bigger apartment where I
         | could have my own office. Nothing got me past the block.
         | 
         | I quit my job, spent six weeks studying and interviewing
         | aggressively, and got hired for a higher-level position at a
         | different company. I pushed back my start date enough that I'll
         | onboard in an office instead of remotely. In the meantime I'm
         | working on my health and personal projects, and spending lots
         | of time with friends and in nature.
         | 
         | I gave up trying to work remotely this time around, but I'm
         | still hopeful that at some point I'll improve my coping skills
         | enough that it will be an option.
        
         | [deleted]
        
         | thestephen wrote:
         | ADHDer here. WFH was a nightmare the first six months, but the
         | past few months have been working out great. My findings from
         | this past year:
         | 
         | * Finding the right medication, in the right dose. Biggest QoL
         | improvement. YMMV
         | 
         | * Whenever I get lost in the sauce and start spinning my
         | wheels, I schedule a call with a colleague and ask them to help
         | sort my priorities out. This also helps me with accountability,
         | in a softer way than accountability-by-authority. This might
         | require some self-awareness.
         | 
         | * Finding a note-taking/task management system that works for
         | me. So far, I've been having the most success with a
         | combination of Roam Research; Apple Notes and Muse for
         | drawing/diagramming on my iPad; and Todoist for hard reminders.
         | 
         | * Getting enough physical activity. My headspace becomes awful
         | if I don't get at least 30 minutes of walking in during the
         | day.
         | 
         | * Finding my context shift to work mode. Most days, 15 minutes
         | outdoors first thing in the morning after checking my task list
         | is enough. For rougher days, I work from the cafe down the
         | street.
         | 
         | * Avoiding social media before lunch, as it stresses me out.
         | 
         | * I found the eureka moments striking at odd times, like
         | evenings or in bed. I rarely regret following these strokes of
         | inspiration, but they can really throw my off my work/life
         | balance. Cutting my days shorter (most days), and allowing
         | myself to work when inspiration strikes (a couple times a
         | week), has really helped in lowering my stress levels.
         | 
         | * A couple days a week without scheduled meetings. I can't
         | focus if I know I'm going to have a meeting in 1 hour.
         | 
         | * Splurging on equipment. If I'm going to spend a lot of time
         | in front of my screen, I might as well get that 4K 32" and a
         | G915 TKL.
        
         | PragmaticPulp wrote:
         | Time management at home is a different ball game.
         | 
         | A good first step is to understand what's fundamentally
         | different about working from home, alone, versus working from
         | the office. Some common differences:
         | 
         | - Context shifting into the office can help context shift you
         | to work mode. At home, if you use the same workstation for
         | games and Reddit and work and entertainment, you lose the
         | physical context shift. If possible, try using your company-
         | provided computer for _only_ work, and your personal computer
         | for _only_ play. Even better if you can have them in different
         | rooms. Start training yourself to associate one context with
         | work, and one context with not-work. When you sit down in the
         | work context, it 's time to work.
         | 
         | - Accountability can feel lessened when no one can see over
         | your shoulder. This can be misleading in the short term because
         | it's easy to get away with it for a while: You can tell people
         | you ran into unexpected difficulties, or you had to spend time
         | on something else, or any number of excuses that work in the
         | short term. Over the long term, the productivity difference
         | starts to show up in your output relative to peers, so avoid
         | falling into this trap. If your company isn't big on short-term
         | accountability, give yourself some daily accountability. A good
         | practice would be to write a short message to your team's Slack
         | channel with what you're going to be working on for the day. At
         | the end of the day, write a short summary of what you
         | accomplished. Once this is routine and public (within your
         | team) you will feel some of the same accountability you did
         | when your team was sitting in the same room and could see you
         | working (or not).
         | 
         | - Offices provide a lot of social exposure that we take for
         | granted. Slack and Zoom can't fully replace it. Make sure you
         | get out of the house and see other people routinely, even if
         | it's just walking around the neighborhood. Simply seeing other,
         | real human beings goes a long way.
         | 
         | - Track your time. Entering the office in the morning and
         | leaving in the evening are natural delineators for your work
         | day. Try to have some similar start and end times at home.
         | Consider using something like RescueTime so you can see where
         | your time is going during the day.
        
           | David wrote:
           | As an alternative to a daily chat message, a teammate and I
           | have been meeting for ~15 minutes at the end of the day to
           | talk about what we did and how productive we were. It's been
           | pretty helpful a few different ways. First, it forces me to
           | think about what it is I'm supposed to be doing and figure
           | out the next step. Not knowing how to approach my next task
           | is a huge cause of procrastination for me. Second, it's a
           | chance to notice when I've gone astray, and identify factors
           | that lead to low productivity. (Like that I procrastinate
           | when I haven't broken down my next task into small enough
           | pieces.)
           | 
           | I think for this to work well, it needs to be with someone
           | you don't feel the need to impress. Maybe you have a teammate
           | you trust like that, or maybe you can find a coworker on a
           | different team who doesn't impact your performance
           | assessments. If you have that, this feels different than a
           | standup. Standups easily devolve into signaling to the team
           | that you've done work. Instead, a 1:1 meeting with a coworker
           | who you don't feel the need to impress makes it way easier to
           | be vulnerable and admit when you screwed around on the
           | internet for a lot of the day.
        
           | kingsuper20 wrote:
           | I used to live in a commercial building (the only living
           | space) that had a separate office suite. When in the office
           | doing billable hours sorts of things, 0% of time was spent on
           | non-work issues. Work computer = a big honkin' loud
           | workstation. Home computer = a laptop.
           | 
           | It wasn't too hard a discipline to keep, I think it helped a
           | lot to use physically different space and hardware.
        
           | lostcolony wrote:
           | That accountability step is part of the intent for daily
           | standups in most agile disciplines. The five minutes it takes
           | for everyone to say what they worked on since the last one,
           | what they plan to work on, and what obstacles they have, is
           | great both for forcing people to focus a bit, as well as for
           | managers to help point out when someone is stuck (i.e.,
           | "you've been working on that the past few days; is something
           | wrong?")
        
             | deckard1 wrote:
             | The flip side of this is what I would term standup-driven-
             | development.
             | 
             | You work just enough to have something to say that day.
             | Rinse and repeat for the next day. The incentive isn't to
             | do more or better work. The incentive is to have something
             | impressive to say at the next meeting.
             | 
             | The other issue with standups is if it's not "on the board"
             | then developers are disincentivized from doing certain
             | things (proper testing of code, code reviews, etc.) in
             | favor of things that show up.
        
               | PragmaticPulp wrote:
               | Standups can help close the short-term feedback loop, but
               | they don't replace long-term management involvement.
               | Teams with standups still need proper performance
               | management and performance reviews from a hands-on
               | manager, along with clear communication of goals and
               | expectations.
               | 
               | > The other issue with standups is if it's not "on the
               | board" then developers are disincentivized from doing
               | certain things (proper testing of code, code reviews,
               | etc.) in favor of things that show up.
               | 
               | If important things are missing from the board, that's a
               | problem with the planning process.
               | 
               | It's easier than it sounds to simply put those things up
               | on the board. If engineers realize something important is
               | not on the board, they need to get it up on the board.
               | Communication needs to go both ways in planning sessions.
        
             | tikhonj wrote:
             | This is why I find standups (and other ceremonies)
             | patronizing and exhausting. It's like you have to publicly
             | defend yourself and your work every single day. There's a
             | massive difference between setting up accountability for
             | yourself and having your manager/team/etc impose a _public
             | accountability ritual_ on you. Doubly so because it 's
             | usually billed as being about "visibility" or "alignment"
             | or something else, as if it isn't about mico-level
             | "accountability".
        
               | cdogl wrote:
               | I couldn't agree more. The feeling you are describing is
               | felt particularly acutely by individuals who are junior,
               | or for one reason or another (low self esteem, flagging
               | mental health, membership of a group that experiences
               | disproportionate marginalisation in the workplace), and
               | in my experience it subtly but profoundly warps
               | developers' motivations and drives. Tasks can become all
               | about rushing to get some progress made so you have
               | something to say in stand-up or the weekly showcase, and
               | not about actually patiently thinking problems through at
               | whatever level of detail is appropriate at their org
               | scale or product lifecycle stage.
        
             | fartcannon wrote:
             | "Yes, I can't stop worrying about tomorrows standup and, as
             | a result, I'm incredibly inefficient."
        
           | danielvinson wrote:
           | This is amazing advice. Thank you.
        
         | gibrown wrote:
         | A coworker of mine (our company has always been "remote") has
         | written a lot about ADHD and working remote.
         | https://aaron.blog/?s=Work
         | 
         | https://aaron.blog/2016/03/25/how-working-remote-probably-sa...
         | is a good place to start.
        
         | femiagbabiaka wrote:
         | I have. Some keys:
         | 
         | - Lists.
         | 
         | - Checkins for accountability.
         | 
         | - Distinguish work space from other space.
         | 
         | - Develop routine around work start and end times. Block off
         | heads down work as opposed to meeting time.
         | 
         | - Use the time flexibility that remote gives me to my advantage
         | -- if I want to start later and work later that's fine. But
         | keep routine.
         | 
         | In other words, all the same stuff as before. An office just
         | gives you a sociotechnical system in which doing all of the
         | above is easier.
        
         | nomy99 wrote:
         | I'm not sure if it's wise to publicly post this "taking
         | advantage of that freedom and focusing instead on podcasts or
         | reddit for 3 days to avoid 3 hours of writing unit tests."
        
           | weird-eye-issue wrote:
           | At least he is honest and wants to change. Better than 99% of
           | people out there.
        
             | nomy99 wrote:
             | Honesty doesn't replace accountability. Wasting three days
             | is a long time to just be "procrastinating"
        
               | weird-eye-issue wrote:
               | I can tell you've never suffered from ADHD.
        
               | nomy99 wrote:
               | So you are telling me a person suffering from ADHD is not
               | accountable for the $ lost in productivity. If I had
               | ADHD, just for survival, I wouldn't ever let my boss know
               | that I have this condition which is costing his company X
               | amount of dollars a year.
        
               | tikhonj wrote:
               | It sounds like you believe time and productivity are
               | fungible. That's the real problem, not people being on
               | Reddit during "work" hours.
        
               | titanomachy wrote:
               | Most knowledge workers are paid for impact, not hours
               | worked.
               | 
               | If your results-based performance is deemed adequate,
               | that means either the company is getting good value for
               | the money they pay you, or they have a broken performance
               | management system.
               | 
               | ADHD doesn't really factor into it. If ADHD leads an
               | employee to have subpar performance, they will be fired
               | just like anyone else.
               | 
               | Caveat: the best companies think like this. Most don't.
        
               | sodapopcan wrote:
               | Yep.
               | 
               | I've worked with people who come in late, leave early,
               | and make huge, disruptive, positive impact as well as
               | slow, positive change.
               | 
               | I've also worked with people who work 15 hour days who
               | don't work well with others and are constantly picking up
               | after themselves as their silo'd work breaks daily (yet
               | from management's point of view, everything is running
               | smoothly not realizing they have a giant bus factor on
               | their hands).
               | 
               | So ya, nothing to do with hours worked and, if you're
               | working for a decent company, there should be reason not
               | to be upfront about this.
        
               | weird-eye-issue wrote:
               | By not letting your boss know, you are making it harder
               | on yourself, and then leading to less productivity in the
               | future, as opposed to getting better. Also it isn't that
               | it actually costs the company money. They could very well
               | make up for that lost time by hyper focusing and
               | finishing it quickly later. So it could be the same
               | result for the company but much more stressful for the
               | person with ADHD.
        
         | mandeepj wrote:
         | > avoid 3 hours of writing unit tests
         | 
         | Why? Unit tests are our closest allies
        
         | sublimefire wrote:
         | There are a couple of things that allow me to get past these
         | bottlenecks. First, let it go. Then do something else, get
         | outside, have a cup of something. Instead of thinking about "3
         | hours of writing unit tests", start with "write just 1 unit
         | test". Then get back and try to find something interesting
         | about this depressing piece of work you need to do. Just one
         | tiny thing, like "how fast does it take to run a test" or "how
         | does this utility method is implemented". I do this a lot -
         | trick myself into something small, and then let myself go with
         | the same work, just like reading "one post in HN" leads me to
         | write this response LOL.
         | 
         | In my case, it is just a pure absence of motivation and
         | interest that causes the attention to go somewhere else. And
         | this is all right, as it's a signal that the shit I do is not
         | worth it. I have to make it worth it in some way, worth it for
         | my soul sake.
        
           | bradstewart wrote:
           | Agreed. Creating small, achievable tasks to start my day
           | gives me some easy "little victories" which provide some
           | confidence to tackle harder problems. Often tiny things like
           | "send an email to X" or "write JIRA ticket for Y".
           | 
           | Sounds stupid, but it really tricks my brain into not
           | procrastinating on the more important tasks.
        
         | nomel wrote:
         | I've been using Immersed VR with some good success. I use
         | different virtual environments for different tasks. The coffee
         | shop for deep work, space for emails, etc.
         | 
         | Part of my problem is that my "office" is in my bedroom. I'm a
         | strong believer in "physical" mental spaces, so it really helps
         | me.
        
       ___________________________________________________________________
       (page generated 2021-04-26 23:00 UTC)