This is exactly the problem with open-plan offices: they always do really stupid stuff like this, putting mostly-quiet teams very close to very talkative and noisy teams, with no barrier between them. Then everyone wants to work from home where at least they won't be tormented by listening to the obnoxious sales guy yap on the phone all day and can have their pet keep them company.
There was no sales bell, but there was an outage gong. Any time we had an outage affecting the “Book It” flow and revenue stopped flowing that gong rang out. Hearing the gong meant engineers would abruptly leave meetings or lunch to come help fix the issue.
As we scaled and hit the limits of various systems we had periods where the gong rang out semi-regularly (a few times per month). These were hard times for engineers.
Soon, engineering started to push back on Product requests, took the time to re-architect and build better systems, and calm was achieved. Months went by without hearing the gong ring out, then years passed. People joined the company and got promoted, never having heard it ring. Until one day in 2018.
I was working near a pod of project managers, and I hear the gong. Like Pavlov’s dog, it triggers an immediate wave of anxiety in me: something is very wrong. But my blissfully unaware PM colleagues have no idea, it’s the first time they’ve ever heard the gong.
One lady looks up from her laptop and asks: “oooh, did the Food team make cookies?”
All your other points are fine. People are motivated by a mix of external and internal triggers, and you are clearly skewed to the external side.
The thing I quoted is however why anyone geared towards the internal side of things will HATE to have to go to the office while you are there.
Programming requires deliberate thought gathered slowly into a complex matrix in your head before it finds its way to the pc through your keyboard.
Even though I am an extrovert through and through and strongly identify with the motivational aspects of being in an office, me not giving you an answer until an hour has gone probably means more overall productivity for the project than your instant unblocking at the office.
You are saying that devs need to stay "in the flow". But when you are in the flow and suddenly you have something that blocks you because you have a simple question, the best way to stay in the flow is to ask the question and get the answer immediately. If I have to quit my flow, go on slack, ask on slack, wait 10 minutes, then re-explain because the other person did not get it, then re-wait, ... my flow is ruined.
What you are saying is, at the end of the day, when caricaturing a little bit, that you want your flow to be maintained, but you are happy to destroy the flow of others.
'To keep my own flow, I need to destroy the flow of all my colleagues'
And not:
'My colleagues destroy my flow when they can't babysit me and respond to my questions asap, how dare they'
It's like driving and then going like: 'Gee, all these other drivers are sure in my way, I need them out of the road so I can get places'. Guess what buddy, they also gotta get places, so damn right follow the laws, wait for your turn patiently and you will get there when you get there. Your colleagues also have stuff to do, and the world doesn't revolve only around YOUR flow.
So write down your questions and observations in a coherent list, stop pinging people one question at a time, or search harder in the docs provided that they exist, sometimes that's even better as a learning experience.
Where is this "6" coming from?
Again:
1) You may be incapable of doing work when someone walks next to you, but this is not the case of a lot of people. It's like driving and then going like: 'Gee, when these cars are putting their blinking lights on and it is distracting me, they should all quickly park before I arrive'.
2) My flow is fine, thank you very much: I don't get distracted by people passing by AND I also rarely ask quick simple questions (people needs to understand my work rather than me needing to understand theirs). It's telling that you cannot conceive that someone may disagree with you without themselves participating to a caricatural behavior that you have in mind.
3) THAT'S EXACTLY MY POINT: the world doesn't revolve only around anyone. If you are inconvenienced by something that is convenient by someone else, then, outside of your little person, THERE IS NO REASON TO CHANGE THAT. If situation A means that employee X gets 6/10 and employee Y gets 8/10, and if situation B means that employee X gets 8/10 and employee Y gets 6/10, then situations A and B are the same.
4) I know that your argument is that your inconvenience is huuuuuge and touch everyone in the office and that the benefice for the distractor is smaaaaal and that the distractor is a terrible human being that should be thrown in jail. That's what self-centered people tends to believe.
All scheduled meetings have to happen in disturb time.
Now, that doesn't really work for a customer-facing role, at least not without the cooperation of your customers, but having managed a customer-facing team before, I'll say I encouraged my people to schedule office-hour time with their customers to try to channel the interactions in a more predictable period of time.
…Set an expectation that the turnaround time for an email response is 24 hours…
My solution is: Bob should try to ask with moderation, and Bob and Alice should work together in a situation where Bob does not need to distract Alice. If Bob needs to distract Alice, then Alice just needs to live with it. If Bob has questions but does not need to distract Alice, then Bob should not ask the question and just needs to live with it.
What confuse me is that some people here just answer: obviously Alice is right and Bob is wrong, all the time except exceptional cases.
> What confuse me is that some people here just answer: obviously Alice is right and Bob is wrong, all the time except exceptional cases.
Joking aside, I do agree with your point. It's not black and white and there shouldn't be fear/hostility connected with simply asking a question. However, 100% being open to questions all the time is simply disruptive for everybody.
No! Because the accepted thing is to use your turn signal, as it's acceptable to do some research on yourself before asking somebody, or try to keep your voice down in shared rooms, or to not tap people on the shoulder when they have indicated deep work (headphones).
I am upset from people who DON't use their blinkers, who tap you on the shoulder while you have headphones, and who discuss Game of Thrones loudly next to you while you are trying to work, and I have every right to be. People like that make their lack or desire of understanding or following etiquette everybody else's problem. And that's not okay!
The etiquette of new workers is to try to follow the onboarding documents, and the guidance from their assigned "buddy", and if something is missing, distill the questions they have and go over them with the "buddy". If that's what OP's post saying, fine. But I got the impression they simply like to ask questions cause it's more convenient for them. Let the company, however, use that as a learning and drag itself kicking and screaming to update their onboarding.
> That's what self-centered people tends to believe.
The people who don't use blinkers ARE the self centered people, making their hurry everybody else's problem. A person who asks questions can be doing so for many reasons: not complete documentation, getting bad understanding of something, wanting to clarify some info or to be in the same page as the team, etc.
But if they do so incessantly, then there is a problem, and the problem shouldn't be simply solved by saying: "Yeah, just ask John, he's always available and ready to help". As senior devs and leads and VPs of Engineerings or CTOs, we should foster a place where most questions can be answered easily in a self service manner, and our meetings have clarity on at least the big picture stuff.
If all that is already there, asking many questions all the time can rightfully be labeled a "disruption". In that situation, the person asking questions always makes their problem (not wanting to do some work themselves) the problem of everyone else, and that's what self centered people do. In much the same manner, people not using blinkers (illegal, by the way) make their refusal to follow rules everybody else's problem.
Again, nobody is pretending that they want to do that.
> I am upset from people who ...
And I'm upset from them too. In fact, I'm upset from people who have childish behavior and ask other people to adapt to their needs. In this conversation, you call "toddler" someone who did not propose anything that corresponds to what upset you. You just work differently than this person, so you childishly reacted.
You are clearly not better than people who don't se their blinkers or discuss Game of Thrones loudly: you also don't have considerations for the needs of others around you.
As I've said in my first comment on this thread: what if someone is in their flow and just need a quick and simple answer to a quick and simple question. You call these people "toddler" even if they will never ask someone they know does not like to be disturbed.
> But if they do so incessantly
Who is proposing that they do it incessantly?
All I'm saying is that when A needs to ask a question and get an answer immediately and B needs to not be distracted, both to keep their flow, then, logically, there is no solution where someone doesn't lose their flow. And my point is that you act as if someone here has more right to their flow than the other, which is just self-centered childishness.
> and the problem shouldn't be simply solved by saying: "Yeah, just ask John, he's always available and ready to help".
Should it be solved by "if you have a simple and quick question and Jack told you several time that he loves answering these questions and that you should not hesitate, you NEED to book a meeting, otherwise, according to ath3nd, you are a toddler"?
> If all that is already there, asking many questions all the time can rightfully be labeled a "disruption".
WHO IS SAYING INCESSANT QUESTIONS IS NOT A DISRUPTION?
This is very simple:
yes, incessant not pragmatically useful questions is disrupting, and people who do that are self-centered.
yes, asking people to "book meetings" or "write a message and wait hours before getting the simple unblocking answer" is disrupting, and people who do that are self-centered.
Just be a grown-up and accept that, no, people have no reason to cater to your little comfort. Someone tap you on your shoulder when you hear your headphone? Though sh*t little baby! Are you really arguing that these people are the problem when you are the one not able to deal with that. There, a little trick to you: "hm, John, next time, maybe you can ...", and problem solved (and if John does it again, guess what: WE ALL HAVE THESE KIND OF PEOPLE IN OUR LIFE, you are not special enough that the human condition should not apply to you. And based on you calling "toddler" someone while not even saying anything bad, I'm pretty sure you are the "John" of someone else)
And I (and most other people in this thread) am fed up with them and trying to actively remove them from my life. Hence, when people suggest I should deal with it, I tell them that I will most certainly not deal with it. That there are things that can be done to make their and mine life easier.
There are people who put their soda cans on the ground, there are people who talk loudly in the train, there are people who park their cars wrongly. Yes, it's a mild inconvenience. But I won't be dealing with it and accept it, I will actively shame them for the spoiled babies that they are, making a spectacle of their needs and accepting everybody to cater to them. Follow.Societal.Rules or get out of society!
> Just be a grown-up and accept that, no, people have no reason to cater to your little comfort
Me putting out all possible social clues that I don't want to be asked questions at the moment is not people catering for my comfort. It's people going through my boundaries so they can get their little comforts themselves.
> Are you really arguing that these people are the problem when you are the one not able to deal with that.
Yes, because they are breaking established social norms and work etiquette. I have clearly indicated by wearing headphones that it's not the time to be asked questions and I have indicated what's the best possible way for me to be asked questions: email, slack, a scheduled meeting, and many questions in bulk.
I most certainly will not cater to how somebody prefers to ask ME questions just because it's more convenient for them to do it ad-hoc. The same way developers of open source want you to use THEIR issue tracker, and fill THEIR code of conduct, and follow THEIR coding guidelines, and not you doing whatever the heck you want.
If you want something from somebody (like information), better follow their preferred approach of how to be asked, and not act like a spoiled little baby when you are told NO.
And OP does that too, but suddenly, when OP does that, they are a toddler, but when you do it, it's fine.
> There are people who put their soda cans on the ground, there are people who ...
and there are people who will call "toddler" people who have just a different way of working and are not imposing nothing bad to anybody else.
> Me putting out all possible social clues that I don't want to be asked questions at the moment is not people catering for my comfort. It's people going through my boundaries so they can get their little comforts themselves.
Again, the person YOU called a "toddler" has done nothing wrong. YOU are the toxic person who jumped on the conclusion that just because they have a different way of working, they will "ask you incessant questions even after I've said it's not how I work".
It is very very difficult to believe that you are not a little baby just after you acted like a little baby when no one proposed anything that has any negative impact on you.
> because they are breaking established social norms and work etiquette.
Breaking established social norms and work etiquette is one thing. Throwing a tantrum because someone has broken established social norms and work etiquette is something else.
Personally, I would say that the socially handicap person that get upset because someone tap them on their shoulder is the one who is breaking the established social norms and work etiquette: socially, the etiquette at work is to try our best to get along, even when the person in front does not deserve it (I dislike this norm, but it exists).
> I most certainly will not cater to how somebody prefers to ask ME questions just because it's more convenient for them to do it ad-hoc.
Let me use an as stupid and as caricatural view as you here:
I most certainly will not cater to how ath3nd prefers to be communicated to just because they are incapable to provide proper onboarding and proper documentation. If someone tap you on your shoulder, it is because you are not able to do your job. Why someone will have to adapt to your failure?
End of the caricature view, now something more meaningful: you deserve to be communicated with in a way that is respectful of your needs and ways of working. BUT you need to respect others people needs and ways of working too and accept that sometimes they will not read your mind.
You keep coming back to the caricatural picture of someone asking incessant questions after you explain them your way of working. As I've said, these people are disturbing and we should not cater for their childish behavior. The problem is that you are treating EVERYONE that way (as proof is you treating OP as a "toddler" when OP did not show at all any behavior you complain about here), and it makes you a child also.
As already said, 2 things can be true at the same time: 1) people asking incessant questions are toddler, 2) ath3nd is a toddler.
> If you want something from somebody (like information), better follow their preferred approach of how to be asked, and not act like a spoiled little baby when you are told NO.
You are talking about people who will say "NO" because they have been tapped on the shoulder. Who is the baby here?
Again, we are talking about tapping someone on the shoulder _once_, and not doing it again if you explain you don't like it. You are just a grumpy baby, the existence of other babies will not change that.
I don't think I should be touched in the first place. I have put a clear signal that I am deeply working: headphones. The accepted social norm is NOT to bother somebody when they have indicated they don't want to be bothered. I am, of course, going to answer the questions, but can't you simply wait until I indicate I am ready to accept your questions?
The benefit of remote here is palpable: you simply don't have the option to tap me on the shoulder, and you can only call me (in which case it's important enough to call), write me an email (which forces you to have a coherent point, and I can respond to it later) or slack me (which, again, I can postpone for later).
> You are just a grumpy baby, the existence of other babies will not change that.
I don't know about babies, but do you know who doesn't like being said "NO" to and who throws a fit ever time when somebody expresses a boundary? Bullies! People who gets upset when you express a boundary and expect that you should just submit to THEIR way of answering, those are the real babies!
Occasionally asking questions (for which it doesn't matter whether it's office or remote) is okay, especially when starting your job. On the other hand, expecting others to be readily available for your ad hoc queries repeatedly, day in and out, trying to actively persuade them that it's okay, and guilt trip them to continue doing so because it's "their work duty", and throwing a fit when people express a boundary to you, that's what real babies are made from!
Learn to ask questions like a decent worker, batch them, write them down, and with as little disruption as possible, and don't bother people who are deeply focused. Your question can wait, the world doesn't revolve around you, and value your coworkers time! I won't back down from this!
OP said "asking quick questions and getting an instant answer. vs chat where I may not get an answer for hours"
It's ALL they have said.
They did NOT said they will "touch your shoulder", they did NOT said they will "interrupt you when you clearly don't want to be interrupted", they did NOT said they will "interrupt you after you made clear you don't like working like that", they did NOT said they will "ask incessant questions that are easily found in the doc", they did NOT said they will "ask you to answer day in day out", they did NOT said they will "guilt trip you to do something obviously unreasonable", ...
And, YOU, YOU called them "toddler". YOU DID THAT. If now you are changing the goal post to "people who guilt trip other people are not nice", yeah, everyone agrees with that, but WHY DID YOU CALL OP TODDLER?
WHY
DID
YOU
CALL
OP
TODDLER?
What is the thing that OP have said (really said, not something in your mind) that according to you is not compatible with a respectful and sane work relationship?
> who doesn't like being said "NO" to and who throws a fit ever time when somebody expresses a boundary?
Yep.
Me: your colleague needs to work, if they are blocked by something that can be easily solved with a simple quick question and that they are being reasonable with their requests, they should be authorized to just ask you. They should not have to walk on egg shells to cater for ath3nd social inabilities, it's not their work, it's not their mental charge on their shoulders, there are boundaries.
You: NO, they should just submit to MY way of being asked a question.
The situation is EXTREMELY SIMPLE: just don't be a prick. You and everyone else.
Don't ask incessant questions.
But also, don't ask people to care for your fragile person who is not able to get one or two questions a day that will help everyone progress.
Not liking question is fine. Just act like an adult about it: discuss and tell them. Don't jump on the first person who passes and says "I find quick question convenient" and yield "well then you are a toddler" without even knowing if this person is a prick or not.
ALL your explanations, ALL OF THEM, they are ALL about YOU, YOU, YOU. You only present situation when you are reasonable and when the interlocutor is a prick. Yes, we know, incessant questions are disruptive (daaaah, it's obvious). But there is more than one way to be a prick. One other way is to be a self-centered idiot who is incapable to help the team because they view everything into distorting glasses (like when you call OP "toddler" for behavior they never had) or because they view their work relationship in a competitive way instead of collaborative (like when you say that the person who ask the question "owns" something to the person who has the knowledge)
…right, but the world doesn't revolve around you either though. You should be willing to sacrifice your time to help your coworker and value their time as well.
Headphones, in my experience, tend to indicate a person is listening to audio, not that they don't want to be bothered by anyone. Maybe your expectations do not line up with societal norms? Just something to think about.
You could consider adding a visual indicator to your workspace that says "focused on something, please do not interrupt" or "available for questions". Our offices have little stoplight things by the door that can be used to tell someone whether or not it's a good time for an interruption. Having something easily visible like that can communicate more clearly to your coworkers that you're trying to focus without interrupting your focus.
the question can also be useful for one other person in the room, so instead of being distracted, the person has been helped.
Instead you want to interrupt your own flow as well as that of others to get immediate feedback on simple issues?
Your last sentence is incredible. No, I don't want my own flow to be preserved at the expense of others'. That's why I ask async and do something else while I wait for them to be free. But neither should I be a necessary component of someone else's flow at the expense of my own.
That’s really not that obvious. Things like this (being able to ask questions) and allowing other people to focus when they need are not incompatible.
It should be pretty easy to infer for most people whether it’s a good time to start a conversation with another person or maybe you should wait for a few minutes/hours/until the lunch break/whatever
> asking quick questions and getting an instant answer. vs chat where I may not get an answer for hours.
Basically like having a toddler around. Sorry for the negative take here but how it's written it feels like you don't necessarily realize that some people do need deep work, and prioritize your quick satisfaction to other's focus. Or I might be projecting, but I simply can't stand incessantly being asked questions, I view it as a type of interruption.
> running ideas by others. This doesn't happen on chat for me, and VC is too scheduled.
Yes, because who needs oder in their time when somebody just wants to ask the group from their opinion, without even bothering to write it down. Also, whoever is sick that day and missing from the office, that's on them, whatever discussion happened, no evidence of it, so sucks to be them I guess.
> I don't feel connected to me team at all working from home
I...am sorry.
> Basically like having a toddler around.
I changed jobs during lockdown. When I've joined other companies earlier, everyone knew to step in to help the new guy. So people would constantly ask me how I was doing, see if I were struggling and ask to help me, or I could just poke someone in the room.
But getting onboarded remotely during lockdown (in a non-remote-first company), I didn't know who to ask. No one could see me being stuck. I couldn't just ask out in the open room. Writing a message in a chat channel meant it could take ages before I got any help to get going.
Yay to me for at least not "disturbing" people. But the tradeoff here is that the whole team suffers as a team, just so people can have personal productivity. Which I think lessens speed in the long run. We're not code-monkeys picking Jira-tasks and dishing out features. We're working on a project together.
I advocate for a culture where onboardings are mostly self service and most documentation is up to date, frequently available, and easy to access. A culture where people are not afraid to ask questions, but they rarely have to, because most of the stuff is at the docs, and they never wonder who to ask, because they've been told who their onboarding "buddy" is. The person being onboarded is also aware that it's probably a good idea to batch their questions into a list, so they can discuss them with their buddy during their scheduled meetings, but is also not afraid to ad-hoc ask questions, because no documentation is perfect. If these ad-hoc questions are too much and too often, it might be that something in the self service is missing, and that is remedied accordingly.
In the culture I advocate, everybody's satisfied, learned well, and mindful of each other's time and flow, and it has nothing to do with being in the office or not. In fact, I have anecdotally noticed that in-person companies are more likely to use existing people's time and attention as crutches for compensating for a the lackings of a comprehensive on-boarding plan, which is what I believe the OP experienced and wrongfully thought to be the solution.
At the very least they should have assigned someone to be your mentor for coming up to speed.
That way you have someone you can ask (and you're aware you should) and you're not just forgotten about and left to you own devices, which is rarely successful.
For me, you are the one who sounds like a toddler who asks everyone around them to be less efficient just because otherwise you are mildly inconvenienced.
The number one problem I see at my work place is devs that are good at coding but that are very bad at even understanding what is the goal of the code they are doing. Between a great coder and an average coder, the one who is good at being interrupted is a better dev. Coding in itself is just part of skill, but it is not the most important.
Judging by GP comment, they sound like they are heavily inconvenienced. Am I reading it wrong?
But in fact you are right, "mildly inconvenient" may not be the best way to put it, it could have been "because otherwise you are as inconvenienced as they are if they follow your wish". After all, that is my point: I don't say it's not inconvenient for you, I'm just asking why should a group prefer the solution where A is inconvenienced and B not inconvenienced over a solution where B is inconvenienced and A not inconvenienced.
There is a simple difference here. We have:
- a person who HAS the knowledge
- and we have a person who WANTS the knowledge
Let the person who has the knowledge decide how to teach it to the person who wants it. DEMANDING that the knowledge is given to them, pronto, is not the proper, or even ethical way, to approach this.
If I wanted something out of you, and you need to take of your time to give it to me, I sure as hell shouldn't act like YOU owe me something. And yes, that's within a work context, so I won't say no, it's a part of my job to teach you, but still one side is taking, and one is giving. The side that's giving is the one that determines how the dissemination of knowledge will be done,. In this case, I want you to come to me only after you have distilled your questions to a coherent list and scheduled a meeting with me and added the questions to the agenda. That allows me to prepare with materials, have clarity in my head how to approach your teaching, etc.
You are not a toddler that needs constant handholding, you are a grown adult starting in a company, so try to act like one and have a coherent agenda and questions and search at least a bit for answers before going to the parental figure with your questions.
That's it, that's how it's gonna be, deal with it and stop crying!
But more importantly, a grown-up would say: the two persons are collaborating, they are not fighting each other. The person who has knowledge is a grown-up, they will want the work to progress correctly and they will want to see their colleague succeed professionally and socially. The person who needs the knowledge is a grown-up, they will not ask over and over again when they see it disturbs the person who has the knowledge (and no one here is against that, obviously).
That's a sad way of seeing professional relationship, but also not a very smart way too: in real life, your own position is biased: when Mr X asks Mr Y a question, it is because Mr X truly believe it's a legitimate question. But maybe Mr Y has written the doc somewhere and Mr X missed it (which can and will happen). In which case, Mr Y will think Mr X is "wrong". But how Mr X can be sure he is not "wrong": Mr X does not know what he does not know. Or maybe Mr Y has written the doc, but badly. In which case, Mr Y will incorrectly think Mr X is "wrong". Or maybe ...
In short: grown-ups understand that communication is messy and that "counting points" is just ridiculous, inefficient and just something that a person who has poor understanding of the reality will think is fine.
Hard agree!
> But more importantly, a grown-up would say: the two persons are collaborating, they are not fighting each other. The person who has knowledge is a grown-up, they will want the work to progress correctly and they will want to see their colleague succeed professionally and socially. The person who needs the knowledge is a grown-up, they will not ask over and over again when they see it disturbs the person who has the knowledge (and no one here is against that, obviously).
Hard agree!
> In short: grown-ups understand that communication is messy and that "counting points" is just ridiculous, inefficient
Agreed. However, as engineers, if we see communication within the team being messy, you also need to judge is that okay, or could we improve it, by setting some ground rules or improving some process or maybe having more dedicated sessions for creating a good shared understanding. OP's thread, it felt to me, thought that messiness in communication was solvable only by being on-prem and able to ask quick questions, while I am convinced it can be solved far more elegantly and with less overall effort with a good, focused onboarding experience and even (or especially) in remote settings.
I think it doesn't really have much to do with what anyone wants. It's funny that I am inclined to think OP would be annoying, but this comment almost is doing the opposite of what you intended and swaying me the opposite way. Knowledge should be shared, and not under a list of very capricious conditions.
But, I get it, that's how you work and we've all got our things. I've never worked at an office, and I'm just realizing that all the discussions here could be solved by simply having a guy like OP paired with a guy who enjoys sharing their knowledge and unblocking these problems ASAP. A people person, which I get coders tend not to be. A guy whose flow is that, not just being an island out of a krazam sketch.
Sorry for the adversarial tone, but "we should just force people" to me shows you deserve to be chastised a bit. First of all, you are not an employer (luckily), so there is no "we", each company decides for itself how to handle remote, and luckily, many have weighed on the benefits and have decided to go with that.
Second, the premise of you saying "oh come on, stop behaving like babies" shows to me that you think that "behaving like a baby" means:
- not wanting to waste an average of 2 (unpaid) hours of your day stuck in traffic commuting (which, by the way, is also bad for the environment)
- wanting peaceful and quiet atmosphere where you can focus on your work without noise and people tapping you on the shoulders
And I don't want even to argue with that, it's that bad of a take. Based on your views you are either young and full of energy (not having children), or old enough (boomer) and with people taking care of chores for you (wife) that to you it is the norm and we are all snowflakes unreasonably complaining. I don't see our views and incentives aligning on this.
> The number one problem I see at my work place is devs that are good at coding but that are very bad at even understanding what is the goal of the code they are doing.
That's just bad developers. They can't be good at coding if they don't understand the goal of the code, that's an oxymoron.
> Between a great coder and an average coder, the one who is good at being interrupted is a better dev. Coding in itself is just part of skill, but it is not the most important.
Doing good work, for which you require peace and quiet and a focused state of mind, is what being good at coding is all about. Also, most of the times it's better if a discussion is in a written form (e.g slack/PR/ticket) so others can use it as a reference in the future, rather than a chat you and Josh had at the whiteboard. Being a good coder also means being able to document well what your reasoning are, what your design is, and how to implement it, both things which require you to write it the HECK down.
> For me, you are the one who sounds like a toddler who asks everyone around them to be less efficient just because otherwise you are mildly inconvenienced.
The premise that everyone is more efficient with constant interruption and questions pouring from every direction, all the time, is laughable at best. There is ton of research that office interruptions drag down the productivity of the group, while all you have is some boomer's feeling that people are working better where they can observe them.
I started this response by saying I am sorry for the adversarial tone of my response, but the more I think of this now, the more I am not sorry. I see opinions like yours as a part of the problem why the rest of us can't have good things and a quiet and productive work life. If you want to go the office to get immersed in the beautiful, inspiring atmosphere of rows of desks with guys with headphones click-clacking away on their keyboards and discussing the last season of Game of Thrones, be my guest and go for it, but I am happy that the rest of us can choose not to.
https://www.psychologicalscience.org/news/minds-business/eve...
https://juliety.com/effects-of-distractions-at-work
https://news.harvard.edu/gazette/story/2019/11/why-open-offi...
From someone who called other people "toddler" ...
> - not wanting to waste an average of 2 ...
If you read my comment, you see that I called it a "knee-jerk reaction", it is not sometimes I will really defend. It is just when I see people like you, self-centered and unable to accept that someone can like interacting at the office without calling them "toddler" and inventing that these person will interrupt you for no good reason after you make clear you don't like it.
> Based on your views you are either ...
None of these descriptions correspond to me. This just confirm my feeling that you "think you know all" but don't really.
> and we are all snowflakes unreasonably complaining.
Let's be clear on that: I have nothing against you complaining. My problem is that you are complaining about what others are doing to you but you are also complaining that others don't accept you doing the same thing to them.
> They can't be good at coding if they don't understand the goal of the code
That's my point: people need to communicate A LOT, ask questions, interact. Bad developers are the ones who quickly create a picture in their head and then run with it. I see that a lot in my work (I'm a scientist in the R&D of my company, working with developers to create implementation of the models and algorithms my team design).
> Doing good work, for which you require peace and quiet and a focused state of mind, is what being good at coding is all about
And yet, I see developers focusing only on that and yet producing shit software.
> ... written form ... document well ...
But this is not what we are talking about. No one here is saying that this should not exist. But is not sufficient.
Let me demonstrate to you why. In software development, the whole process is based on the fact that bugs will happen. There are linter, code reviews, version controls that allow reverting, logs built in the code, advanced ticket system to deal with bug raising, ... Coding perfectly in one go is hard, impossible. Documentation and communicating things are obviously worse. Code are logical instruction with mathematical significance. Communication between person A and B can easily be misunderstood with both "being right", simply because human being cannot read minds and consider the thousand of possible mental pictures that the interlocutor has in mind. Because of that, documentation is bound to be more often incorrect than the code. It does not mean it should not be done, but it means that we should continue to continuously fine-tune our understanding, and it includes asking quick and easy questions.
Again, you are misconstruing the situation: no one here is arguing that writing things down is bad or should not be done. Simply, different mode of communication have different purpose and different pros and cons. Asking questions is sometimes the correct and smart thing to do.
> The premise that everyone is more efficient with constant interruption and questions pouring from every direction, all the time, is laughable at best.
WHO IS SAYING THAT. Can you show ONE, ONE person here who is defending that?
GP was simply saying that they like solving quick problem with a quick question, it avoids a lot of problem down the line or a lot of useless inefficient process.
Your reaction was to invent that GP would bother you all the time for information that exists somewhere else. You just have to realize that the world is more diverse than your own little person: some team works with little questions and it works very very well. The fact that you have to call GP toddler because their way of working is not the same as yours is why I think you are the toddler here. In fact, it is not even that their way of working is not the same as yours: you even seem to be asking people to do things that you will refuse to do yourself.
Hard agree!
I do, however, believe there is lots of merit in establishing proper communication channels and protocols. Things written down do tend to stick more as institutional knowledge, and can be referred to later by other newcomers or when you simply don't remember why something was done. Contrast that with: "Oh yeah, Barry told me to do it like that last week while you were sick".
> But this is not what we are talking about. No one here is saying that this should not exist. But is not sufficient.
Also hard agree! Written docu and knowledge bases can never (and probably shouldn't) fully encompass all the institutional knowledge. Talks and clarifications are constantly needed. But let those work in an async manner, or in a focused effort, not random questions flying around. When you are done refining something, and the questions keep pouring in, sit together again to create a shared understanding, update the shared understanding, and 9 times out of 10 you will see the questions subside to a reasonable volume.
> Let me demonstrate to you why. In software development, the whole process is based on the fact that bugs will happen. There are linter, code reviews, version controls that allow reverting, logs built in the code, advanced ticket system to deal with bug raising, ... Coding perfectly in one go is hard, impossible.
Hard agree. I'd go as far as to argue that pre-planning everything in advance is insane as reality hits back pretty hard.
> Because of that, documentation is bound to be more often incorrect than the code.
Also hard agree. Tbh, I don't believe in documentation too much (gets too stale, quickly) unless it's autogenerated (API docs, for example) or set of often tested instructions what to run, or even loosely describing what this repo is all about. Another type of useful documentation out there is "aggregator" documentation, which simply gives you a list of all relevant things to do/check/read to get a good understanding of a problem at hand.
> It does not mean it should not be done, but it means that we should continue to continuously fine-tune our understanding, and it includes asking quick and easy questions.
Agreed 100%. However, if you see the quick and easy questions coming at too high of a volume that it overwhelms the team, then the team's institutional knowldge is being used as a crutch, or somebody is unsure of their understanding, and we should address that, rather than simply accepting it as an unavoidable fact. Maybe the person is too junior and needs dedicated handholding and going through the docs/repos/code together for a longer (scheduled) time? Maybe the docs are wrong? Maybe the consensus of last meeting was not really a consensus? All of these are things to be addressed, and not simply accepted that your colleagues always need to be there to enable your flow.
> In fact, it is not even that their way of working is not the same as yours: you even seem to be asking people to do things that you will refuse to do yourself.
I am asking for being mindful of other peoples' times and not advocate for people being at their disposal because of a bad onboarding experience they had. The OP is, in a way, advocating for returning back to an old way of working that was deeply inefficient to me and my team, just because they like it, without providing a notion whether his team mates liked it (I guess some did, some didn't).
I am simply sharing the viewpoint that while some people really LOVE to ask questions and to immerse themselves in the office space, some don't, because it cab be really disruptive to their own flow and wellbeing.
Nobody disagrees with that. What are you talking about?
A quick and simple question can also be "naturally" followed by documentation. For example, when someone asks about an ambiguity in the doc, they will naturally immediately amend the doc after the clarification. Another example, they will write the code and the own existence of the code will clarify the situation for other users.
Some small questions are also not worth documenting. For example: "yesterday you said you will work on X and Y this week, and we are the middle of the week. Today I realize I'm interested in X because it is related to Z, did you started working on it already?". At the end of the week, the information answering this question will not be relevant for anyone ever.
> sit together again
This is very very inefficient to book meetings all the time at the first simple question. I really cannot see how you are able to work in such conditions where communication is over-burden with so much process.
There is pros and cons in a lot of way of communicating. Your position that quick and simple questions are not fit for any purpose is not really realistic, and you now need to grasp at straws to find argument to defend this position. Even if "a hyper-planified communication plan where everything is written down" would be ideal (which is still arguable), I doubt the benefice of it are big enough to be perceptible.
> However, if you see the quick and easy questions coming at too high of a volume that it overwhelms the team
Which is a dysfunction. You had someone talking about a process that you seems to now agree makes some practical sense, but you call this person "toddler" because of the remote possibility of pushing this process in absurd direction.
> I am asking for being mindful of other peoples' times and not advocate for people being at their disposal because of a bad onboarding experience they had.
You are calling other people "toddler" based on something that only happened in your head. It's a bit ridiculous to then talk about "being mindful of other peoples' [stuff]". Nothing in OP indicates that they are not mindful of other peoples' times.
> The OP is, in a way, advocating for returning back to an old way of working that was deeply inefficient to me and my team, just because they like it, without providing a notion whether his team mates liked it
No, OP just said he like one way of working, nowhere I see they advocate for forcing other people to do as they like. On the other side, YOU are calling names to people who don't do as you please.
> I am simply sharing the viewpoint ...
You are calling other people "toddler". You are now backing up on that now that you have to admit that your initial position was self-centered childishness.
Honestly, I think forcing people to work at the office is a very bad idea, but, karmically, for people like you, while I don't wish that upon yourself, you just don't have the ground to complain: you are a self-centered individual that calls other people "toddler" at the first occasion, if you end up with a boss that has a similar behavior and ends up coming up with the bad idea of forcing you back to the office, how can you criticize your boss?
Unnecessarily condescending response to the OP, to be honest.
I am not trying to be condescending here, but it's hard to view this behavior as anything but overly disruptive.
https://www.businessdit.com/distraction-work-statistics/
Instead of "just a quick question", the OP could prepare a list of their questions, and ask them all at the allocated time. A scheduled deep dive into the questions the OP has might even be more productive than multiple unscheduled disruptions of others' time.
And in an open office, even if you ask only a single person something, others might hear it too, despite the question not being intended to them.
We are talking about multiple people's brain cycles being dragged out their focus space, we are talking multiple conversations happening next to you, we are talking about click clack of people's keyboards next to you, and people moving going to take a coffee in your peripheral vision. It's a nightmare.
https://theconversation.com/returning-to-the-workplace-heres...
> And in an open office, even if you ask only a single person something, others might hear it too, despite the question not being intended to them.
I guess I'm special, because when I'm in a "deep work", I just don't hear people around me. I know it's not the case of everyone, some of my colleagues just put noise-suppression headphones, which is yet another easy way to solve your problem without forcing others to cater to your needs.
Of course, open space can be bad, and there are numerous examples of crazy open space situations. But what OP was describing is clearly not to the extend of what you are talking then.
Great. Now the rest of us have to put up with even more noise.
People wearing headphones make a lot more noise themselves. Presumably because they don't hear the noise they make. Suddenly there's heavy breathing, sighs, grunts, moans, inaudible and sometimes disturbingly audible mumbling, humming &c.
The "normal" state is to be able to tune those out.
Normally people are conscious about the sounds they make and restrict them a bit. If you're coughing in a group, you try to do it softly, or you leave the room. Things like that. When people wear head phones this kind of subconscious self control seems to be a lot less effective.
I'm certainly not the only one to have made this observation.
That’s aside from tapping I might not realize is making noise with headphones on, or a particular motion in my chair that’s making it squeak and I don’t know it because headphones, et c.
For me it varies on a day to day basis. Some days I could focus through a hurricane while others people buzzing around me is enough to make it difficult to think at all, let alone deeply. It averages out to normal productivity but I’d rather have fewer low productivity days, if I had the choice.
Yes! I believe the OP should write down all their questions in a structured format, and then schedule a meetings with 1 person helping them onboard, where they can discuss the questions at length and go on any tangent, rather than interrupt colleagues ad hoc. That's a normal, grown up thing to do, and it will also help them crystallize and distill what knowledge is missing.
> I know it's not the case of everyone, some of my colleagues just put noise-suppression headphones, which is yet another easy way to solve your problem without forcing others to cater to your needs
I do put noise suppression headphones, but they can't stop the people moving in front of me nor the taps on my shoulder.
> without forcing others to cater to your needs
Not wanting to be interrupted is not forcing others to take care of your needs.If you are unsure what I mean, let me call you in the middle of the night because I want to have a conversation with somebody and discuss economics. You not wanting to pick up is completely normal, right, or are you forcing ME to cater to your needs of being left the heck at peace? How dare you forcing me to have normal boundaries and call you at reasonable times!
No, it's the people who interrupt others and forcing to drop everything else so they answer "just one tiny question" and expecting it to be done on the spot. That's forcing people to take cater to their needs! Hence me liking the OP's behavior to that of a toddler.
Let me guess: that 1 person will of course not be you, right? Because if it is you, I bet you will complain even more.
Also, it's ridiculous to pretend that all questions require deep dive at length. Some do, and, yes, I agree we should do that for those. But what about the majority of the questions? If these questions still exist, then you will still be interrupted, so it will not solve the situation.
Also, it is quite telling that you did not also consider another solution: if they need to ask you a question, you could have avoided that by properly sharing the information before hand. But of course, it's always someone else's fault. (just to be clear: it is sometimes someone else's fault, but your way of reacting of just thinking that everyone else should adapt is just giving me the impression that you don't care about solving the problem in a fair way)
But it does not answer my question: what you ask them to do is very inconvenient and inefficient, as the large majority of questions do not correspond to big dangerous lack of knowledge that needs 3 hours lecture course to be solved. So we still have the problem: why should the company pay for one person being less efficient because of needing to do all this useless process, instead of paying for you being less efficient?
> I do put noise suppression headphones, but they can't stop the people moving in front of me ...
As I've said, I don't understand how people can be in "deep flow" and be so easily distracted by people moving around. People are different, so I can understand it can be a problem for you. But my problem with this reaction is that everything is centered around what is best for you, without any considerations of how it affects others. I reacted because you first mentioned that GP was behaving like a toddler, but in your reaction and the description of the problem, you seems to focus on you, you, you, which does not look very grown-up either, don't you think?
> ... nor the taps on my shoulder
If they tap on your shoulder, you should simply answer, like a grown-up does.
> Not wanting to be interrupted is not forcing others to take care of your needs.If you are unsure what I mean, let me call you in the middle of the night ...
But you are not complaining about being interrupted in the middle of the night to talk about things that is not related to you, you are complaining about doing your job: working with colleagues and sharing information so that they can progress.
What I'm saying is simple: 1) you can be a toddler and interrupt someone constantly for no good reason. This is not good and unprofessional 2) you can be a toddler and cry when someone interrupt you for a good reason. This is not good and unprofessional 3) the good situation is in the middle: you WILL have some level of interruption, it is just unreasonable to expect otherwise and it is childish to ask people to jump through hoops to care to your need to never be interrupted.
> How dare you forcing me to have normal boundaries and call you at reasonable times!
You don't have normal boundaries. Grown-ups at work know that they will interact with other people. You inventing that people should not interact with you, or interact only in your own terms even when it is inconvenient for them.
> Hence me liking the OP's behavior to that of a toddler.
OP's behavior did not even mention if they interrupt people that have inform them they don't want to be interrupted. As far as we know, OP's behavior is 100% compatible with what you want.
I don't mind it being me, as a matter of fact, it's often me, as I am in a more senior position and have a lot of historic context. However, a lot of time has been spent on documenting most things, so often I am just going over the docs with the new onboarder, which is okay, as long as it's done in a structural manner.
> You don't have normal boundaries. Grown-ups at work know that they will interact with other people. You inventing that people should not interact with you, or interact only in your own terms even when it is inconvenient for them.
I don't mind interacting at all, nor do I mind onboarding. I do mind, however, being interrupted all the time, on information, that could easily have been condensed in an onboarding package if the company gave people the space, time and initiative to create such a package.
What I am pointing out is that the OP experienced bad onboarding and thought the solution to that is being in-person in the office. I would argue what they simply had was a badly planned onboarding, with randomly shared responsibility across the team, and an ad-hoc learning plan. If the OP's company uses that lesson and makes a better onboarding process, that'd be great and they might even reconsider the need to be there in person.
> you are complaining about doing your job: working with colleagues and sharing information so that they can progress.
I would love share the information, but I want to do it in a structured manner, and not in chunks and without disruptions.
That's why schools and unis have classes, and classes have predictable and scheduled time frames. It's not just a building with teachers, and random children entering ad hoc and asking whatever question came to their head, then leaving, and coming back 5 min later.
And what's wrong with wanting lots of this information to be self-service? That's the whole idea of knowledge bases, of onboarding docs, of developer handbooks. What does it have to with people being in person or not? I'd argue if the OP's company spent the effort in actually putting all that knowledge in writing, they will have an easier and less disruptive onboarding to the team, with reduced bus factor, and clearly documented steps.
I'm not in sales at all. Having an overview of the different bits of the business isn't a sales attribute. It's just an example of "what your job is" - which might range from weeks of uninterrupted detailed technical work at Microsoft Research, to presenting to clients, to running teams, to making technical decisions and getting agreement, to writing code.
Thinking every engineer's job is "writing code" and anyone who thinks wider is wrong is what the pushback in this thread is all about.
My fault.
> Thinking every engineer's job is "writing code" and anyone who thinks wider is wrong is what the pushback in this thread is all about.
Writing code is not the only activity of an engineer that requires focus and concentration. Most of my activities require that.
But 90% of the time someone taps on my shoulder, they want me to think for them. You can do that by yourself. Just send an email.
We might have the same access, but rather than dig through 20 medical textbooks, I'll go ask a doctor. Access is a really poor way of thinking about things.
> But 90% of the time someone taps on my shoulder, they want me to think for them. You can do that by yourself. Just send an email.
Why send an email when they're thinking for themselves?
Because, the act of writing down a question --- with the necessary details to state the question precisely --- is often enough to find the answer yourself. Unless it is simple matter of a missing fact. But that is rarely the case in my line of work.
Some businesses have huge depths of technical content to understand that can't all the memorised in a training session. Nothing difficult can. Even knowing who to talk to about an issue is going to be found out via a question.
You get an appointment. Here noone is against appointments, here people discuss the notion of going to ask a doctor in the middle of a surgery a "quick question".
It also
1) forces (or at least encourages) laying the whole thing out in a coherent order
2) leaves a record of both the question and the answer, so that the asker can refer back to it if they forget
3) leaves a record so that if the asker is asking obvious questions, or repeatedly asking the same questions, or failing to formulate their questions in a sane and coherent manner, there is documentation to take to their supervisor, not only to prove it, but to show exactly the shape of the problem, and have a possibility of getting them the kind of help they need
Need help? Send an email or make an appointment and he will respond with help.
How is it your assumption that the team member asking the question can’t possibly be delayed 30-45min for them to be available. Seriously? Are they in an active shooter situation and need to phone a friend or something. Lives on the line?
So, according to you, no one would ever need to ask you a question. So, obviously, GP will never ask you a question (they will ask other people if they want to).
So why are you calling them "toddler"?
> I do mind, however, being interrupted all the time, on information, that could easily have been condensed in an onboarding package if the company gave people the space, time and initiative to create such a package.
This is not at all what OP was presenting. You realize that?
> What I am pointing out is that the OP experienced bad onboarding and thought the solution to that is being in-person in the office.
That is not true. Plenty of people are having a very good onboarding and still like to fine-tune their understanding of the situation, which is arguably a very good way to reach good software.
> would love share the information, but I want to do it in a structured manner, and not in chunks and without disruptions.
But that is exactly the point of my initial comment about workflow. When your colleague Johnny needs the quick and simple information X to allow him to finish his code (for example "I've read what ath3nd has written in the doc, but it is ambiguous because sometimes it is, obviously ath3nd is not a god who can read mind and think of all the interpretation of their comment, especially when ath3nd is also not expected to not introduce a bug in the code from time to time"), you are asking him to break his flow, write some kind of ticket, wait for it to be triaged and come to you and wait for you to answer.
Your initial point is that you need to not be interrupted when you are in your flow, and you are now arguing that we should use a very flow interrupting process for the other participants.
> That's why schools and unis have classes ...
Are you seriously pretending that GP that just said "asking quick questions and getting an instant answer" is in fact in favor of not having any structure at all?
In fact, guess what, in a lot of classes, students are allowed to ask questions during some part of the lecture, even during exercises. Yes, incredible, right: some students are concentrating on solving the exercises while others _talk_! They _talk_! In the same room! Instead of writing a written letter to the teacher and wait for the post return so they can proceed with the exercise they have a question about.
> And what's wrong with wanting lots of this information to be self-service?
No one here is arguing against that. Simply, you can have as much self-service you want, it will never make a quick and simple question not the most efficient way to go.
It is just incredible that some people are so self-centered that they cannot understand that asking simple and quick questions is just, SOMETIMES, a super pragmatical and efficient way of progressing.
Your argument that you need to maintain your flow by actively interrupting other people is incredibly selfish and frankly just ridiculous. Also, flow is overrated. If you are in flow-mode, you are probably not doing the hard parts of your job. Not having to context-switch is different from flow, but more important, I would say, but you are forcing that on your fellow developers. If they don't mind, that's fine! If they do, you should respect that.
My point is that we had a situation where at least one person is going to adapt. The person self-centered is the one saying "the good solution is to have the other person adapt".
I'm NOT saying that the good solution is to have the other person adapt, I'm saying "why are you saying that having the other person adapt is the best solution? That's self-centered".
You answer me by saying "you are asking me to adapt to you, so, you are self-centered".
But I don't ask that. I don't force anyone. I'm just saying "why are you upset that this guy is forcing you to adapt to him but think that you forcing him to adapt to you is not self-centered".
I see the situation as very very symmetrical:
Some people needs A to be efficient, some people needs non-A to be efficient.
One aspect of the problem is that some people say "I like A, so let me just do A, and I let you non-A". But in reality, they don't let them do non-A. If you are a team of 2, and that you like not receiving questions but that your coworker like to ask question, there is no situation where we satisfy both.
The only solution is to act like adult and accept that I will do less A than I would have liked, but my coworker will do less non-A that they would have liked.
But here, some are saying "no! I want to do all A and it's to my coworker to adapt fully".
Unless 90% of the questions you spend time coming up with become entirely irrelevant after you receive the answer to the first one
The funny part here is that the companies expect you to help onboard new employees AND do your other work at the same time, while at the same refusing to give you the time to build on a proper onboarding, with documentation to read, what software to install, etc.
In my current company we assign a "buddy" to the new onboarders, we have a handbook + a (supported and tested) onboarding installation toolkit, and pretty good documentation. The buddy does the handholding via scheduled and ad-hoc sessions, the onboarding material does the rest. During the pandemic we got to test this approach out on people who haven't even visited the office, and we improved it iteratively on every new onboardee. It's surprising how just improving such a small thing makes onboarding so much more pleasant for everybody, and how this, when done well, works both for office AND remote new employees.
Surely there must be ways to balance these things?
When you want to ask someone a question it shouldn’t be too hard to infer whether it’s a good time to do that now or you should wait (if it is, well it’s exactly a very hard skill to learn if you put in some effort)
If I'm deeply focused on something else, I'll just ignore the notification, if I'm available I'll respond.
Bonus points for just posting it to a team group chat or CC-ing everyone involved so someone else might be able to handle it.
If someone taps me on the shoulder and says they need a few minutes of my time looking over problematic code or whatever, I can say "sure just give me about 15 minutes to finish off this X/Y/Z"
When someone is relegated to doing this over Slack/Teams/whatever, the other person might have their notifications muted and rarely check for new ones. So it could end up being several hours of waiting.
Just because someone checks in with you IRL and asks if you have time to help with a question doesn't mean you need to be interrupted from "flow".
The latter is a full context switch to me. It will often leave me having to try to remind myself what I was just thinking and having to rebuild that thought.
This is very one-sided. If you can unblock someone now so they don't spend 3 hours searching through the local intranet for some information, then that makes your team faster. There's a balance to be had, of course, but your team's overall delivery is what's important.
> I view it as a type of interruption.
It's not your view. Of course it's an interruption. That doesn't make it bad.
Assuming your company even has an intranet.
Past your training period you are responsible for your own productivity. Don't make it the problem of your peers.
Of course, people are responsible for their own productivity, but there is also such a thing as a team. And the team itself will benefit if people are less disruptive of each other.
My point is that teams should retrospect aggressively on where they spend their time, and if they find that lots of their time is spent on answering questions to onboarders or big knowledge gaps between one another, they should do something about it.
I won't waste space here outlining what can be done, but there ARE things that can be done. Do those things, and then the argument that you:
A) "must" be in the office to do good collaborative work
B) and you "have" to ask 5 min questions all the time
loses any validity and becomes just corporate laziness and bad management.
The goal is to make the team succeed, not to be individual rockstars.
This is the problem: you've invented this scenario. There is a gaping middle ground between what people are describing and your stereotype of what they "must really mean"?
Too many people are too un-self-aware to recognize that their "just a 5-minute question" is being asked because they have not internalized the knowledge, rather than because it's genuinely something that they haven't had an opportunity to learn—too un-self-aware to recognize that this situation is unnecessarily stressful and it's their fault.
Of course this has nothing to say with selfishness or else. It's simply that each Group project their own ideas to the outward world -- so people who like to outreach think other people like that too, while people who doesn't think the inverse. But taking a step back as a third party, we would realize that Group 2 is usually more harmed than benefited.
This is just assumptions though. Too many? Compared to what? Narrators are just as unreliable as anyone; some will be unreasonably opposed to any questions. Complaints aren't all 100% trustworthy. And complainants can also be un-self aware in that when they were more junior, or new, then they also asked questions. They just maybe had people answer them who were more happy to invest in them.
I'll be blunt here. I have very little interest in how the team I'm part of performs in general. Trying to make one person feel guilty that someone else can't do independent study is very toxic in my opinion, and I usually remove myself from under management that approaches leadership like that.
Asking questions should always be done, in my opinion, _after_ you tried to unblock yourself by RTFM-ing. If people feed you information every time you're stuck, it seldom sticks to your mind as well as going through the motions yourself.
Your job security is extremely dependent on the health of your company and team. If the structures which provide your employment contract start failing, and you do nothing about it, don’t be surprised if you get bitten.
I don’t expect appeals to empathy will work based on your posts, and I hate “we are a big family” smoke and mirrors too, but let’s be pragmatic here. The fact that your job even exists is predicated on a social and legal contract to provide your expertise for the benefit of a multi-person entity.
Team health does also depend on nudging those who can’t RTFM to do so… you can be an asshole, but you need to be a prosocial one as far as the company is concerned.
In a lot of situations that would be considered fairly toxic itself. :(
Why do you think that a whole team of people should be responsible for the inability of some? I have empathy for individual people that start their careers and struggle, but I also believe that if you apply for a job, you should be qualified to do it independently.
i do not want to be just a cog in a machine that grinds out work without any consideration for the project as a whole.
it is also needed to allow new team members to get onboarded faster.
as a hiring manager i find your attitude unwelcome.
Also I don't dismiss camaraderie that appears spontaneously between coworkers, I was complaining about the company enforced fake camaraderie that gets pushed down everyone's throats with trite team building exercises, company parties, team goals and other methods of hammering people into conformity.
> it is also needed to allow new team members to get onboarded faster.
Of course, it's fine to have team members absorb domain knowledge through interactions with their peers, but if that's the only way to on-board them, I most definitely don't want to work for you, but again, that's fine, I'll just look elsewhere.
This is nothing to do with what you said before, about not wanting team performance to be important. Unless you're there to do a very specific job, a lot of performance is actually about team performance. If nothing else, the bus factor on people who want to do things solo makes them an automatic liability.
it's fine to have team members absorb domain knowledge through interactions with their peers, but if that's the only way to on-board them, I most definitely don't want to work for you
ok, you lost me here. what other way is there? it's not possible to assess all the knowledge a new hire has. if i have to hire a trainer to get them up to speed it will just cost more money and they will not learn the company specific domain knowledge.
in my experience specifically onboarding can only be done by others on the same team. it's a teams responsibility.
for more thoughts on this topic, see the discussion here: https://softwareengineering.stackexchange.com/questions/1190...
Don't be surprised when others show the same level of empathy towards you, then. It's not about making you feel guilty, it's about making you do you effing job. Unless you're in a very junior position, your job is not to pump out code day in and day out.
It's a little disconcerting to see someone make such self assured inferences about me, based on a single comment.
I mean, sure, that's fine if this is stipulated from the start, but if you expect someone to solve leet code, do programming homework, and then when they get hired they have to also navigate your extra requirements and teach people the basics of their job (because probably you couldn't be bothered to pay enough) then in my opinion you're taking advantage of these people pure and simple.
And to top it off, I know managers sometimes fools themselves that the team is invested in the "project moving forward", but that's rarely the case. As an individual I probably don't give a damn about the project, unless we're solving one the big issues of the world. The bullshit CRUD application you work on, or the latest cryptocurrency is just a means to get a paycheck for most of the people, and if you expect anyone to fake enthusiasm for it you're just deluded.
you seem to prefer working on your own, neither willing to teach nor learn from others. that's fine if you can find a job as a lone developer, but i don't consider this a suitable attitude for working on a team.
Not all jobs are simple enough to hire people into with generic skills. People need training. Even if it's just "I think that other team should prioritise this feature for us; who do I ask?" People need to ask questions and bed in over time. If you've just done simple CRUD apps in small orgs you may not have seen this, but that doesn't make it not the case.
> And to top it off, I know managers sometimes fools themselves that the team is invested in the "project moving forward", but that's rarely the case. As an individual I probably don't give a damn about the project, unless we're solving one the big issues of the world. The bullshit CRUD application you work on, or the latest cryptocurrency is just a means to get a paycheck for most of the people, and if you expect anyone to fake enthusiasm for it you're just deluded.
You seem to keep on inventing things no one is saying to respond to. If you have a load of unrelated things to get off your chest that's fine I suppose, but it seems you actually think people are saying this and you're making points in response to them.
How about you encourage the team to actively monitor where onboarding takes time, year by year, learn from that, make onboarding materials which encompass institutional knowledge, and make the process as much self serve as possible?
Or assigning a "buddy/mentor" like persona that is responsible for this specific onboarding, so the rest of the team don't get distracted + the expectations on delivery are lowered for the "buddy"?
> it takes that is in their capacity to move the project forward
It takes quiet and uninterrupted work and focus time, and spending effort on making onboarding as smooth as possible. Just hoping your devs will do all the work of onboarding + their own work, and you doing nothing, that's just...what I expected I guess.
being that buddy/mentor is part of your job, and i expect everyone on the team including me to be able to take on that role as the situation demands.
moving the project forward takes quiet and uninterrupted work and focus time
and it takes making sure that all team knowledge is shared with everyone. where do you get the idea that i do nothing? it is my job to allocate resources properly, but it is also my choice how to to do that.
you seem to look at onboarding as a kind of burden that i throw onto you on top of your other work that you'd rather not have to deal with. i see onboarding as part of the process to grow our team, exchange knowledge and experience and enable us to do ever better work.
when i am starting a new team then i onboard/mentor everyone myself, until the team is grown enough and some of the team members have enough experience to share that role. eventually, the team will be large enough to divide up into multiple teams, but i am still the one doing the hiring, and i'll be involved with onboarding until the company grows so large that it no longer makes sense to do that personally. but at that point i'll still make hiring decisions because i feel that hiring the right kind of people is to important to completely delegate.
the attitude that i expect from my team is that everyone is made welcome and we all do our best to get them integrated. onboarding materials can't replace that attitude which i see as necessary for the team to work well together.
WFH comes with a lot of issues, when it comes to a timely response from people.
I had many of colleagues in the WfH world, that just ignored me for a month...
The idea that all engineering is highly focused and non-social just feeds the rockstar developer culture. And most of us aren't even close to rockstar status.
There is always a balance between collaborative discussions and focus time. I thought that we learned it 20 years ago, that devs should not hide away in cubicles?
Managing or working with ICs with this perspective is also a lot like having a toddler around.
People that state what OP said should go into sales or customer service. Want to talk all day? There's your new job.
I'm always confused by people who struggle so much with being able to quickly answer a question and get back to what they were doing.
Also, here you're prioritising your work over someone else's.
> I simply can't stand incessantly being asked questions, I view it as a type of interruption
Well, you are being interrupted. But you're being paid to be interrupted.
> Also, here you're prioritising your work over someone else's.
That's what the whole article is about. The struggle is that holding a context in your mind is easily broken by small interruptions. It's not by choice. So the question is how do you reconcile people on both sides working together.
When management evaluates my performance, delivering my projects carries much more weight than helping yours (which they might not even be able to measure).
1. Your project is generally the same as those you work with. 2. Management often care about how you work with others. If you have someone who is helping everyone else, they're a lot more important than the person who just focuses on their task. Not just on team work but overall their knowledge is generally better than others.
Also, please don't post in the flamewar style generally. It's not what this site is for, and destroys what it is for. We want thoughtful, curious conversation in which people are open to learning from one another.
We detached this subthread from https://news.ycombinator.com/item?id=38693114.
I hate open office space as much as the next person, but small team rooms are great. Can have the walls plastered with post-its, screens, drawing boards etc. If I hear two coworkers discuss something, I can chip in if relevant. Information flow just happens by itself.
I wonder how many of these remaining 5 people have a take similar to me. WFH is where I'm most productive and most happy to work. Doing the kind of work you describe above "with 6 people on one project" is for 90% of the time an exercise in babying the least up to speed team member at the cost of distracting everyone.
I get it, some people just like being around people and doing stuff "together", and some types of work may even benefit from that when stars align(brainstorming etc). Most types of work I do in software don't. Especially now, post covid when WFH became normalised and people who were opposed to it on various grounds were forced to learn how to use it effectively.
>* asking quick questions and getting an instant answer. vs chat where I may not get an answer for hours.
That's what the phone is for, with additional benefit of status from everyone. If I see someone is busy I don't phone them I look for someone else, If I see they are "green" I do and I get my answer instantly without disturbing anyone.
>running ideas by others. This doesn't happen on chat for me, and VC is too scheduled
Again, same thing. Pick up a phone. If you just want to run something "by everyone". Wait for your daily/weekly team meeting and ask then. Yes, it forces you to write ideas down not to forget them (if they can wait), but it's massively more convenient to everyone else.
> * brainstorming. Same as above
I had many a good brainstorming session online (mostly with voice). What do you need to accomplish it is: - good audio equipment, Internet access and a quiet location for everyone. No calling into a meeting "from my car, while going to the doctor", or "from the office while people are talking in the background", no "crappy headphones etc". All this ruins productivity for everyone. If people are using cameras(which is nice) everyone has to have the bandwidth for it. Also if you have more than 5 people in your meeting, make use of the "raise hand" feature. Then brainstorming can happen very well. Especially while looking at a document/whiteboard together with systems that show you in real time what everyone does.
In fact above a certain number of people (8 maybe) brainstorming sessions seem a lot more effective to me online than in person. Why? Because you have few communication channels. You have the shared whiteboard/document, voice, and chat so while someone is talking you can post a question to the chat without interrupting.
>getting a feeling for what everyone is up to
That's what regular planning meeting is for.
>feeling part of a team, working on the same thing
I suppose that's a personal thing, but I always felt that including during my 7 years of WFH 100%.
Edit: there is only one real disadvantage to WFH, and it's for junior people wanting to learn. It's much harder to gather knowledge by osmosis, just by being in the office if most senior people are WFH. But then as a leader one has to decide what is more important.
* i dont want to be connected with you, get a life
Let me work
There is no evil master plan. The processes that lead to self-exploitation will sound reasonable and well-intended. (If this wasn't the case, people would refuse to adapt it. Most people don't like exploitation when they see it.)
For example, in most of Europe there is a law that requires employees to record their working hours. This law was created to prevent (unpaid) overtime, and it does that. Now company X implements this by making you write down how many hours each day you worked towards which task. Doing this every day makes you think where you put this one-hour chat you had with a co-worker. It was nice, but which task did it contribute to? (It didn't...?) If you bother to ask, everybody will actually encourage you to have those talks, that it is even in the interest of healthy company culture, and remind you that maybe it's part of the paid break (you didn't forget you have that, did you? it was never anyone's intention that you skip your break). Nobody will be responsible for nudging people towards efficiency. It's all the fault of the individual who feels pressured into efficiency. It was never anyone's intention to prevent you from having those occasional nice chats, and nobody will stop you if you keep doing it.
Still, every day you get to think about how long it took and which task it belongs to, and it feels a bit like lying to just add the time to a random task. This kind of habit can shape your thinking.
Do you just want to sit in silence all day making money for the company? Do you never need to blow off steam? Do you never need help?
> i dont want to hear your quick questions
I'm not trying to be hateful with this next sentence, but I struggle to even understand who would act like this, and for what reason that isn't a diagnosis.
Asking quick questions in such an environment is also not that much of a disturbance because most people are working on similar features at the moment and there's a high chance that they don't need to do the whole context switch to assist you. It's really highly productive.
For the times where you really needed some time for yourself, headphones work just fine. I wouldn't want to wear them all the time as even the best ones become uncomfortable after few hours, but that's also not really needed in a small shared room.
This is untrue for even small teams in my experience.
> For the times where you really needed some time for yourself, headphones work just fine.
Also not my experience.
Personally, I've experienced open office, fully private office etc. Private office/remote are my favorites, followed by small room with a few people (I also had that in the gaming industry, it wasn't too bad) and, in a distant and humiliating last place, open office.
Online games work well, because you have a visual and full engagement.
Compare that to work communications... You are totally async on slack, it's just a simpler version of email at this point. Just because people are online in Slack today, doesn't mean that they'll respond within minutes.
If someone is online playing a game, you know that they're there. Old IRC was pretty much the same.
Making that solid foundation requires a lot of work though and not everyone has the communication (or empathy) skills to make it work.
Has worked for me, but I'm an outlier in that I grew up on IRC chatrooms before more rich-text and composite media communication methods were available.
Most people on this site in particular are likely to be outliers too: as the way we are communicating right now is as stripped down as possible and people will self-select for this.
I work in a large company, and team is spread out over multiple cities.
We actually will often to group video calls to have a similar thing to what you describe - being able to ask a quick question, run ideas by other, etc.
However, going to the office I'm just with people who are working on different things, often doing calls which I find distracting...
That was an unwritten rule the last time I worked in an open space.
There would be a large room off of a hallway, divided into 8 offices, arranged like this:
+---------+---------+
| | |
| | |
+-----+ -+- +-----+
| |
| | | |
+-----+ +-----+
| | | |
| |
+-----+ +-----+
| | | |
| |
+-------| |-------+
Each office had floor to ceiling walls, with a door and a large window. Need to be left along to do some deep work or deep thinking? Close your door. Want to be more sociable? Open your door. Put nice chairs or small sofas in the common area in the middle so people can hang out there when not doing something that requires being at their computer (e.g., reading printed documentation).The larger offices at the top can be used for more senior people, or the group manager, or for a lab, or a library, or a break room.
You could extend this to two teams working on different projects but under a common manager or senior engineer by putting them in separate clusters side by side, and merging the adjacent top offices so that the common manager or senior engineer's office is part of both clusters:
+---------+---------+---------+---------+
| | | |
| | | |
+-----+ -+- +-----+-----+ -+- +-----+
| | |
| | | | | | |
+-----+ +-----+-----+ +-----+
| | | | |
| | |
+-----+ +-----+-----+ +-----+
| | | | | | |
| | |
+-------| |-------+-------| |-------+
What we were doing was video games for early consoles, mostly Mattel Intellivision but later also for Atari VCS, and also later for the Commodore VIC-20 computer. That kind of work required a mix of brainstorming and collaboration with periods where you really need to concentrate without being disturbed to figure out how to actually make it work on the hardware (weird processor, weird graphics chip, under 200 bytes of RAM (although later cartridges could have RAM which allowed some games to have more), a couple K ROM, and all programmed in assembly language). That office layout supported that quite well.If collaboration occurs spontaneously and your door isn’t closed, it’s easy to join in. If it turns out that someone is essential, turn it into an actual design meeting.
The best teams I’ve worked on had this arrangement and developed their own cadence - morning walks for cofeee, water cooler tv show commonalities.
Having the refuge of a known private space made group participation easier - I would seek out and benefit from the social technical in person interactions, as opposed to an open office plan where I would start out with determination of defending my personal mental space at all costs.
Having people around me working on the same project is invaluable for me for
* asking quick questions and getting an instant answer. vs chat where I may not get an answer for hours.
* running ideas by others. This doesn't happen on chat for me, and VC is too scheduled.
* brainstorming. Same as above
* getting a feeling for what everyone is up to
* feeling part of a team, working on the same thing. I get that others have different opinions and/or want to work from home. Me, I was lucky to work on things I wanted to work on with people who wanted to work on them (video games) for most of my career. It was super fun. It would not been even 5% as fun at home by myself.