10 ms·
Distractions Cause Bad Code (2018)
- 1letterunixname 3y agoCorollary 0: inexperience Corollary 1: rushed insistence on shipping Corollary 2: unclear requirements Corollary 3: supporting too many features and systems Corollary 4: isolation, poor diet, messy surroundings, lack of exercise, work-life imbalance
- Xcelerate 3y agoWait, what are these corollaries to? This sounds like my life over the last month...
- MrOwnPut 3y ago> Corollary 1: rushed insistence on shipping This one is an epidemic and the worst one. Shipping just to ship. > Corollary 4: isolation I disagree with the isolation part, that's subjective. I work better with no human contact, even for long extended times. Humans are distracting, that's why I prefer working at late at night. I assume people are on a spectrum of how much "isolation" is optimal for them.
- CM30 3y agoCorollary 2.5: Constantly changing requirements Nothing like a mid project design overhaul to send a codebase crumbling to the ground.
- cirrus3 3y ago> You cannot live in a vacuum: you have to talk to users and stakeholders and your teammates and your manager. But that should be done on your schedule, not on theirs I don't disagree with your post or this part... but this part, you may need to get a reality check on. You are not the only and most important contributor. Your users and stakeholders have a lot going on too. If you are finding that your throughput is diminished by distractions, that should be quantified and accounted for in your Sprint (or whatever estimation method you are using). This is hard to actually accomplish IRL, I get it. But just demanding that everyone else adjust to you is not productive.
- sublinear 3y ago> You are not the only and most important contributor. Hardest disagree possible. I don't know where you work or what your role is but many teams have the people in technical roles practically writing the emails back to the clients. There's a huge swamp of talking heads to be drained after the layoffs and other "organizational change" that's occurred over the last few years. Ideas will always be, and necessarily by definition, less valuable than implementation details. Any attempt at refuting that is insanely delusional. The chickens have come home to roost at so many workplaces. Who gets to have their meetings at the end of the day instead of first thing in the morning? The execs? Sad.
- GuB-42 3y agoI think that "first thing in the morning" meetings are the best (after "no meeting") when it comes to interruptions, because it means that you won't be interrupted later during your day. In fact the point of these meetings is usually to know what you will spend the rest of the day doing, so that managers won't have to bother you with that during the day. Also, as a night owl, the start of the day is mostly dedicated to finishing waking up and waiting for caffeine to take effect, so I wouldn't be very productive anyways.
- sublinear 3y ago> it means that you won't be interrupted later during your day I've never worked in a place like that. What usually happens is that you're getting asked "quick follow up questions" throughout the day as your statements bubble up the rest of the hierarchy throughout the day. Inevitably someone wants to call you and steals 15 minutes and all your flow.
- GuB-42 3y agoI must be in an unusual company then. I rarely hear about my managers if I have done a meeting in the morning. I get my share of interruptions later, but these are usually technical questions from other developers or testers, or emergencies, but almost never regular project management stuff.
- thealchemistdev 3y agoAgreed. Which is why I work in silence or low brown noise if I have to. Hours of silence is very peaceful.
- manojr13 3y agoA result of gen Z syndrome https://nypost.com/2023/04/21/gen-z-is-the-most-difficult-generation-in-the-workplace-poll/ https://nypost.com/2023/04/21/gen-z-is-the-most-difficult-ge...
- commandlinefan 3y agoOld people complaining about young people? Well, that's just unprecedented.
- onion2k 3y agoBut that should be done on your schedule, not on theirs (most of the time) so that when you are done talking to them and you have a good idea of what to build, you can go crank out a high quality first version. This version will be on the right track, technically: good architecture, usable performance, well-tested, with minimal bugs. This is a first iteration you can go take to users to get concrete feedback and keep iterating. This is wrong. If you think you can build the right product from the outset, and then just refine it by talking to users, then you'll end up with a garbage product. What good architecture and usable performance look like depends on the user feedback. You need to get something in front of users as soon as humanly possible - if that's something that's well-architected, with few bugs and good perf then you've already spent too long on the app. This is something that first-time founders find really hard to understand. They're scared of 'losing potential customers' by showing them something that's truly bad. They should actually be scared of wasting time and runway building the wrong thing. There's every possibility that the first version of an app you show to users is totally wrong. It doesn't matter how good the code is. If you're focused on building good code from day one then you're getting it wrong. High quality code comes waaaaay later in the process.
- MrOwnPut 3y agoI disagree. Users generally have no idea what they want, especially related to novel things. If you waste time listening to the masses and have no initial vision of your own you'll end up with a Frankenstein project. Build something great and they will come.
- onion2k 3y agoBuild something great and they will come. They won't stay though, because their opinion is unlikely to be the same as your opinion, and people only spend money on things that they think are good. You might believe your app is the greatest thing in the world, but that doesn't matter at all. You're not trying to persuade yourself to buy; you need to persuade your customer that the app is good. Clue: They're not looking at the code. Also, 'good' is a measure of usefulness rather than quality. People will spend a lot of money on absolute trash if it solves a problem that's costing them more money or time than your app, no matter how bad your app is.
- oofnik 3y agoSemiconductors are at their least efficient when they are neither on nor off, neither here nor there. I think humans are the same. Workplaces (read: managers) have an obligation to foster a culture of deep work - it's unreasonable to expect individual contributors to constantly be fighting a culture of disruption, to be expected to be available to respond to an endless flood of alerts, requests, notifications, interruptions, and direct messages while also maintaining some semblance of productivity. The inevitable result, at least for mere mortals like me, is burnout. On most days, I spend more time trying to enter 'the zone' than actually in it. At the end of the day, I feel exhausted despite having accomplished very little. It is indeed a miserable experience.
- JohnFen 3y ago> On most days, I spend more time trying to enter 'the zone' than actually in it. On a good day, it takes me about 20-30 minutes to enter "the zone", but only about 5 minutes of distraction to be pushed out of it. This is the main reason why I quit my job when they moved to an open-office layout. The constant disruptions were absolutely destroying not only my productivity, but my happiness.
- agumonkey 3y agoMemory capacity too
- thecodeboy 3y agoI agree. Ever since I started working remotely, I've seen an increase in the quality of work I produce. This is partly due to having a quiet environment at home. Also partly due to having more energy to put into work because of having no commute. I do think people should disable unnecessary notifications and setup blocks of focus time on their calendars.
- Bluecobra 3y agoI like the Slack = open office analogy. One thing that drives me nuts with apps like MS Teams is there is no way to throttle notifications and I have to constantly mute/unmute chats/people. Some of my peers have a hard time communicating in complete sentences and instead send a constant stream of word pellets. This gets really distracting as you then get a barrage of notifications. It would be great if I only got a notification every X minutes.
- celeritascelery 3y ago> Some of my peers have a hard time communicating in complete sentences and instead send a constant stream of word pellets. I never had a word for this, but word pellets is perfect. You get pinged by someone (breaking your train of thought and forcing a context switch) and then have wait for them to send you 10 messages to get their thought across.
- whstl 3y agoI abide by this rule here: https://www.nohello.com/ https://www.nohello.com/ Older than the hills, but some people still need to be shown. I personally don't care much when people do this to me, tho. I just use Slack asynchronously, so I will take up to 30 minutes to answer the first hello, and then 30 minutes to answer the question. ¯\_(ツ)_/¯
- JohnFen 3y agoIf I haven't messaged a person for a long while, I'll say "hello". I just can't bring myself not to do it. But what I don't do is make it a separate message from the one I really want to send (as that web page suggests). So it's like "Hi Joe! I need to find out about <x>. Can you help me?"
- JohnFen 3y ago> MS Teams is there is no way to throttle notifications and I have to constantly mute/unmute chats/people. I have disabled all notifications entirely because of how disruptive they are (not only from Teams, but from all applications). Now I just remember to check the little light on the Teams tray icon when I have space to handle chats.
- skipkey 3y agoAbout 10 years ago I was working for a game company. Most folks came in a few minutes before 10am when the daily standup was. I would come in at 6am, and generally get all the productive work I would get done before anyone else got there. But after that, I would generally just circulate and see who was having problems, and help them. And honestly, helping the kids and teaching them was something I really enjoyed. So I see both sides of this debate. But on the other hand, at one point the manager told me he thought our productivity was a direct result of our open office setup, and I asked him who the top 3 developers were. He named them, and I had to point out that all 3 had noise canceling headphones on to block out all the collaboration.
- agent281 3y agoI feel like open offices are sometimes implemented by oblivious extroverts at the expense of introverts (and real productivity). I remember working with some extroverts who loved war room calls because it made them feel like they were doing something productive. When there was a problem they insisted on sitting in a conference call for hours. So I was trying to get the work done while they were talking about weather. They were feeling productive because they were on an important call and I felt unproductive because I couldn't tune out the noise and get the actual work done. Made the whole process really painful.
- slowmovintarget 3y agoOpen offices were implemented because they were cheap. "Collaboration!" was the excuse to sell a far less pleasant working environment for developers. If you really want to enable collaboration, everyone gets their own office, and there are a few dedicated conference rooms for the team. Collaboration is maybe no more than 20% of the job. Focus is the rest.
- bsder 3y ago> Open offices were implemented because they were cheap. Specifically because warehouse-type space in downtown SF was cheap right around 1998-2005. The most productive space is an office with a door that closes. IBM studied this. Bell studied this. Those studies haven't been invalidated.
- black_13 3y ago[dead]