Live data from Hacker News

Best practices for remote software engineering

cacm.acm.org

111–120 of 205 posts

Re: Best practices for remote software engineering

#111

Lots of whiteboards. Clean, tidy desk. No visible cables. Sunlight. Fresh air. Caffeine

This is a common list. So common it makes me wonder how unusual it is that I have no trouble focusing with visual distractions.

I'm using the basement bar as a gigantic standing desk with tons of monitors, a desktop, and cables everywhere. Streaming setup stuff adds a lot well with the mic, lighting, camera stuff, etc... Its literally chaos.

I don't drink any caffeine.

I do have 2 whiteboards in the basement, plus another upstairs though, so I check that one at least.

I really do miss sunlight though. Need to go on lunch time runs to get a bare minimum daily dose.

Re: Best practices for remote software engineering

#112
post #100

Earlier quoted context omitted.

If you don't mind me asking, how did you find programming on meds? I can't do it.

Not OP, but I have ADHD and would love to chime in here. I love programming on meds and I hate programming on meds. Meds connect the dots, but meds also over-engineer everything. Then the meds wear off and I am stuck with a huge solution and I have no idea what I just did.

As a person without ADHD that sounds weirdly similar to my experience of studying or coding on amphetamines (from brief experiments in college that I quickly decided were not worth it). Is there actually any difference between ADHD meds and speed?

Re: Best practices for remote software engineering

#113

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.

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,…

[deleted]

Re: Best practices for remote software engineering

#114

Earlier quoted context omitted.

what makes you think that Slack must be synchronous and that asynchronous == email?

I’m curious now, what would you view then as examples of both synch and async communication?

I think async and sync is more about expectations, with the caveat that a non-recorded zoom meeting is sync, while a recorded zoom meeting can be async. That being said, I feel it's my responsibility to have my notifications tuned properly so I'm not interrupted.

So to me synchronous comms are comms that can't be consumed asynchronously. The only text version of that I can think of is an exploding Signal message or similar. Any non-recorded video message is synchronous.

Re: Best practices for remote software engineering

#115

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.

This might sound pretty laughable but seriously try a standing desk. If you have a bookshelf or something that you can prop a laptop on to just try it without buying anything, do it. I find that when standing I'm able to get my brain to engage in problems or boring work that I otherwise wouldn't do and would instead avoid and watch YouTube. The ability to fidget and move around (calf raises, jumping in place, pacing back and forth), and not having the ability to sit back and relax has actually made a huge difference in my productivity.

It's also important to not do leisure activities like watch YouTube or browse reddit at the standing desk. Make it a work-only space.

Another thing to consider is ADHD and the emotional wall. When confronted with the idea that you have to do 3 hours of unit tests it seems daunting to start, because it's going to take so long! Instead, start by doing 3 unit tests (or something that will take 15 minutes). Even if that's all you get done today, do 3 again tomorrow. If you can make it through a much smaller task you'll likely have the momentum to keep going. And even if you don't, that's okay because you made some progress and can do a little more tomorrow.

Re: Best practices for remote software engineering

#116

Earlier quoted context omitted.

Not OP, but I have ADHD and would love to chime in here. I love programming on meds and I hate programming on meds. Meds connect the dots, but meds also over-engineer everything. Then the meds wear off and I am stuck with a huge solution and I have no idea what I just did.

As a person without ADHD that sounds weirdly similar to my experience of studying or coding on amphetamines (from brief experiments in college that I quickly decided were not worth it). Is there actually any difference between ADHD meds and speed?

Depends on the meds, but Adderall is a combination of different amphetamines and dextroamphetamines. Some of which are added just to make it uncomfortable if you take too much.

The greatly simplified idea is that people with adhd have trouble using parts of their brain at the time they need to. So by increasing all brain activity the parts that are normally diminished are about normal. The side effect is that all the rest of the parts are amped up.

Re: Best practices for remote software engineering

#117
post #100

Earlier quoted context omitted.

If you don't mind me asking, how did you find programming on meds? I can't do it.

Not OP, but I have ADHD and would love to chime in here. I love programming on meds and I hate programming on meds. Meds connect the dots, but meds also over-engineer everything. Then the meds wear off and I am stuck with a huge solution and I have no idea what I just did.

I had a coworker with ADHD and I'm pretty sure he was prescribed stimulants although he was discreet about it. His patterns of focus were idiosyncratic, and occasionally he wrote code that just oozed "hopped up on addy" stylistically — particularly spurious and superfluous abstractions.

Re: Best practices for remote software engineering

#118
The most important thing is the whole team being in the same time zone. Even a 1 hour difference is too much. That may seem extreme, but I've had so many important discussions happen around 5pm near end of day when everyone's done with their main task and meetings and have time to think about something else. Then they realize it's really important and need to chat right now. If the team is not in the same time zone, this kind of communication simply can't happen. Asynchronous communication can only do so much. Sometimes you just need to talk to someone with a screenshare. Even during the day, different time zones means the lunch hour is mismatched which also affects communication and meetings. And it doesn't matter if those in the negatively impacted time zone say they're ok with super early mornings or late hours. No one wants to be the jerk who is making someone get up early or stay late. The time zone difference has a chilling effect in addition to adding friction.

You can still hire in other time zones, but each time zone team must be an independent unit. So you can have a team that has members in Vancouver, Bay Area, and Los Angeles. And another team in New York, DC, and Atlanta. But these teams should rarely need to communicate and work with each other.

Re: Best practices for remote software engineering

#119

Earlier quoted context omitted.

what makes you think that Slack must be synchronous and that asynchronous == email?

I’m curious now, what would you view then as examples of both synch and async communication?

A key example of async communication are tickets/issues and merge requests.

Slack can be both depending on the situation

Calls are definitely sync, although I guess voicemail is async

Re: Best practices for remote software engineering

#120
post #100

Earlier quoted context omitted.

If you don't mind me asking, how did you find programming on meds? I can't do it.

It's ok, although I have a tendency to wear myself out mentally when I take stimulant meds. Certain kinds of programming have a very high activation energy. In each programming session, it can take a lot of time (sometimes hours) before I've gathered enough context to start making progress on a problem. Once I start making progress my motivation is usually self-sustaining. Sometimes I can't focus long enough to get t…

Just wanna say I relate strongly to these posts. Sometimes it just feels like i'm trying everything to manage my motivation and adhd and it just doesn't work and I just gotta breath get outside and be unproductive for awhile.
Post reply on HN