15 ms·
I worked in a remote team once helping a company in Seattle (that perhaps had a bit of a jock culture problem). I could be stuck for days because following the
by dep_b 9y ago
I worked in a remote team once helping a company in Seattle (that perhaps had a bit of a jock culture problem). I could be stuck for days because following the README in a repo just wasn't enough to get the project to compile and run. Every standup I was telling "I'm completely blocked for the last two days because I cannot run the repo, so I cannot run any tests and at the moment I'm doing absolutely nothing.". To be sure to repeat a message like that every four hours in channels like Slack.
Managers read it, my teammates in Seattle read it. Nobody ever helped us (because you know pair programming is so much more efficient if you can have two programmers blocked when you could just have one staring out of the window and typing "help" to invisible people). If at all I would be unblocked after a few days usually the problems was some kind of unguessable piece of configuration that should have been part of the README and/or code, a problem completely unsolvable without knowing what to do. Only then I could continue doing a minor change like updating a CSS file for the next Safari or IE quirk, usually just 5 minutes of work.
Apparently helping remote teammates to get unstuck in their work just wasn't an interesting performance metric.
Until this day I still can't believe that everybody was just throwing tens of thousands of dollars of work out the window because helping stuck teammates wasn't counting towards some kind of bonus.
- KKKKkkkk1 9y agoWhat makes my stomach turn is the interpersonal aspect. How can all your teammates see you fail through no fault of your own for days and pretend they don't notice. Unfortunately in my experience, that's not a rare occurrence.
- derekp7 9y agoI can give some insight from my own experience. In my current position, there are a large number of "things" that I've had to figure out, either by reverse engineering, reading code, or intuition. So I get constantly bombarded with helping others get unstuck. Well, when it comes time for a project meeting, those on the meeting are far removed from the other groups that I constantly have to help out. And it sounds like I'm just giving excuses of why my work isn't done. So if there is a micro-crunch coming up (i.e., I need to have an SOP drafted, tested, etc by this afternoon), the entire morning I tend to blow off other peoples issues. Until I can get a chance to come up for air. But that makes me feel bad, so what I end up doing instead is I go home at the end of the day and work till past midnight just to get caught up on what I couldn't do in the daytime. For any outside-the-box work I tend to pull 20-30 hours stints over the weekend. After 25 years of this, and as I need more sleep since I'm getting older, I can be a bit snippy when someone breaks me out of my concentration because they can't figure out something, and they have a down customer that needs service "right now".
- jartelt 9y agoIt is also easy to get irked when people are seemingly unwilling to do any digging or reverse engineering on their own and go straight to asking for help. Allowing someone to search for an answer for several hours may seem like a waste of their time, but it also could allow them to learn how to figure out a problem on their own. Of course their is a fine line between being a jerk and not helping someone because you want to maintain your technical superiority and not helping someone because you want them to learn how to problem solve. Clearly you do not want to leave someone roadblocked for 48 hours when they are trying hard and you know the fix is some stupid bug. But, it's not always super straightforward either.
- saltcured 9y agoYes. Unfortunately, by the time you start to think people are asking for fishing lessons just to get lunch, it can become difficult to recognize a true student. I started out as the eager mentor, even when it was among my peers in university. But somewhere in my ~25 years of R&D, I started to notice how coworkers would become dependent. They would ask for help on types of things that I knew I had figured out myself, even when I was a novice. They develop the plea for help as a first reflex to avoid any learning tangential to what they consider the task at hand. So, I found myself swearing under my breath and refusing to be their search engine or man-page. Depending on my mood that day, I might tell them I have no time and they should google it themselves, or I might pretend I don't know the answer either. Sometimes I relished the time to sarcastically school them on the mundane deductions it would take to answer their question from the very screen full of error messages they pasted at me. But, I already knew they would miss or ignore the hint, and be back again next time they stumbled. Sadly, I think this cultivated impatience leaked out into my attempts to mentor a very junior staff member we had a couple years ago. I could no longer really distinguish "too lazy to try" and "drowning". They found a new job after a year or so, and it was probably wise for them. I am still trying to visualize how I can do better the next time we try to onboard somebody far junior to our current team...
- sdhgaiojfsa 9y agoYes. I would never have become the engineer that I am if people had always helped me when I asked.
- NutriSugar 9y agoHaving been the 'goto build guy', I've had to cut people off who were seeking me out for very self explanatory issues. For example, when the build threw an error because it couldn't find a file, pointing out where in the error to get the file, but the person seeking help didn't even try reading the error. Basically I limit my intervention to prevent enabling helplessness. The amount of help given also depends on the role of the person as well, junior devs get more hand holding then senior devs.
- hackbinary 9y agoIsn't the Toyota's idea of Kanban supposed to alleviate this? As in if there is some problem with the production line, anyone can push the stop button, and everyone assists?
- amdavidson 9y agoJust to clarify your point, I believe you are referring to andon[0], the system of alerting people to an issue, rather than kanban[1], a system for inventory management. In a manner of speaking he did pull the andon cord by speaking up in his team meetings and alerting people in Slack, but the cord means nothing if there is not a culture supporting the alert. 0: https://en.wikipedia.org/wiki/Andon_(manufacturing) https://en.wikipedia.org/wiki/Andon_(manufacturing) 1: https://en.wikipedia.org/wiki/Kanban https://en.wikipedia.org/wiki/Kanban
- matte_black 9y agoNo, the equivalent would be as soon as he raises the issue, no one can type even one more line of code, not even a character, and their editor would be completely blocked. That’s what these companies need. The entire business comes to a screeching halt. And if they really needed more motivation, production servers could be shut down if the issue was not resolved in 24 hours. That will really hold their feet to the fire.
- logfromblammo 9y agoThe cord rings a bell In a room no-one enters; Snow blankets roadblock.
- dosethree 9y agoI don't think calling an all stop would necessarily help. Usually people just ask for help at standups
- NTDF9 9y agoThis is endemic to our industry. The problem really is short-sighted management. They only value something that shows themselves in good light with their superiors. Managers absolutely don't seem to care about actually building a team and cultivating a culture of success. Engineering managers are way way worse than Soccer managers in this regard. I would put this all on the hiring processes right from how we hire engineers and managers and what gets a promotion. But unfortunately, our industry would rather remain blind.
- jvagner 9y agoI'd add another component: The people usually tasked with figuring these things out are new to the team. There can be all kinds of politics and interpersonal baggage with helping the new person with old configuration/ compilation/ deployment stuff. Often, it'll take one of the legacy leads to step in and clean things up. By then, everyone's annoyed at the new person, and the failure of this effort will get saddled on their back for some time more. I had this exact issue at a recent gig, and the application architect spent months poking at jenkins to get a clean build. Once he quit in frustration, one of the legacy leads re-engineered the whole thing, in a different language, in a few days. Legacy lead was one of those "untouchables" in the eyes of the CEO, so there was no influencing him to help earlier, and his reticence cost us a good application architect. To my mind, this is often a sign of a poisoned, political company culture. The work can be done, but there are non-technical reasons why progress can't be made, even by earnest effort.
- NTDF9 9y ago"Non-technical reasons" is the way to stifle growth. I completely agree. If only there was a way for employees to rate their Manager instead of the other way.
- zdragnar 9y agoEvery company I've worked at for software development has had review / feedback opportunities for my manager. I can't imagine working at a company where feedback from direct reports wasn't a major factor in someone's job performance evaluation. Then again, I've been very selective in where I work. People like to bash the "culture" stereotype, but it's definitely something I consider when I'm looking for a job... you know, how people are expected to interact with other people, not whether there are ball pits and the like.
- Vinnl 9y agoOn the one hand it is indeed disappointing that nobody would help you with this. On the other hand, there's a more pro-active role you could have played yourself in this as well. "When everybody is responsible, nobody is" - what often helps is specifically asking people, by name, to sit down with you for a bit and help you get through it. In fact, there are many social group situations in which asking specific people is far more effective than asking questions "to the group".
- slezakattack 9y agoThis is similar in emergency situations. When you need somebody to call 911, don't ever say "Somebody please call 911!". You have to look at someone, point at them, and tell them "I need you to call 911". Most people will either stand in shock or think that someone else is on it.
- sangnoir 9y ago> Most people will either stand in shock or think that someone else is on it. The bystander effect is real, but I wouldn't expect to see it in organisations with explicit hierarchies. Can you imagine this happening in the armed forces? If this happens under your watch as a leader, you're not good at leading.
- greedo 9y agoIt occurs in explicit hierarchies all the time. Watch the opening scene in "Saving Private Ryan." Most of the troops are scared shitless, waiting for someone to tell them what the hell to do. And these were troops who had been trained for 3 years before hitting Normandy.
- dgreensp 9y agoIf a manager of some kind were to notice the Slack messages and ping someone specific to help, that would be a perfect example of the kind of management that is so sorely lacking at so many companies. Many employees are too burned, or proud, to even put out an SOS... so a cry for help is actually a gift to management. If only it were someone’s job to think for a few minutes each day about each employee and notice if there is some small action that would help them. Nah, let’s just alternate between micromanaging and being totally absent; fret about lack of productivity or lack of progress; maybe institute a daily stand-up.
- fahayekwasright 9y agoThey were waiting for you to solve your own problems just like they did. Your job at that point was to make the README better.
- bdhess 9y ago> I could be stuck for days because following the README in a repo just wasn't enough to get the project to compile and run. Every standup I was telling "I'm completely blocked for the last two days because I cannot run the repo, so I cannot run any tests and at the moment I'm doing absolutely nothing. Certainly it might've been more efficient if one of your colleagues helped you debug the issue. But in the absence of help, it's not clear why you didn't dive in and start debugging on your own (rather than doing nothing). You'll learn more that way too.
- dep_b 9y agoOne example that springs to mind is that I needed some some registry keys with database passwords for a closed source component.
- bdhess 9y agoThat's not really undebuggable. Process Explorer shows registry calls, and IIRC even marks them in red when the key is missing. Again not arguing that this is efficient, just that doing nothing is less efficient.
- geofft 9y agoI generally assume that when someone says "blocked" they're not literally staring out the window, they're just not operating with anywhere close to the efficiency they should be. Also it's not clear to me that learning how to use Process Explorer + using it, when that's not your job, is actually meaningfully more efficient than staring out the window all day.
- indemnity 9y agoSounds harsh but this is my take too. I’ve generally heard “blocked” from weaker team members when it pertains to working on our stuff. Sure, you can be blocked due to infrastructure / external dependency, but if you have the source code, unblock yourself, mate. Programming is going to be a frustrating career for you otherwise.
- mistermann 9y ago> Every standup I was telling "I'm completely blocked for the last two days because I cannot run the repo, so I cannot run any tests and at the moment I'm doing absolutely nothing.". This happened to me once a few years ago, once I finally figured it out I put all this silliness into one single bootstrapping function you could call to get the pig of an application to run, and asked the lead dev to add it to the core library. Later that day I got called into my manager's office as apparently my behavior was disruptive and problematic.
- emiliobumachar 9y agoMaybe it's not the initiative per se. Did you name the function silliness(), runPig(), or give any other blatant display of contempt? It's dripping from your comment. (not saying it was necessarily about something real, just that it could be)
- zdragnar 9y agoI'm assuming that "pig" was an autocorrect typo for "pid".
- MrLeap 9y agoThis comment gave me a rather nice maturity flashback. Maybe I shouldn't have called that function "bobfuscate()"
- mistermann 9y agoNope, any contempt would have only been after the other developer displayed his contempt for productive use of shareholders money. I always find it funny how so many people seem to think that is a matter of opinion rather than a matter of fact.
- MadBohr 9y agoThis to me sounds like a complete lack of self-ownership on your part. You literally sat blocked doing nothing for days, without reaching out to an individual to help with this? Instead you just spammed Slack saying you're blocked? While I agree that it would have been nice if somebody helped you, you are in control of your own destiny. If nobody is helping you, you need to personally escalate it and reach out until you get the job done. If somebody did this on my team, the first question I would ask them was why the hell they let themselves sit blocked for days. ...and of course my team would have been more proactive on helping you because one of our core values is help your co-worker, but that is besides the point here.
- ct520 9y ago100 percent agree with your post. Unfortunately most people I have met do not think like this.
- SiempreViernes 9y agoThe reason is pretty clear, the worked remotely and so had no means to physically reach out but instead had to wait for people to reply on mail.
- kolpa 9y agoDirect message doesn't require physical contact.
- SiempreViernes 9y agoWhen I mentioned mail, I meant email which is exactly as easy to ignore as a DM.
- MadBohr 9y agoOP said slack. DM is as simple as doing "/msg @joe.blow I'm blocked, can you please help me?". If no response, go to @joe.blow's colleagues. If still no response, go to their boss. If still no response, go to their bosses's boss. Repeat until you run out of people to escalate to, at which point you find another job.
- marssaxman 9y agoI have generally chosen to deal with this problem by refusing to acknowledge the existence of bonuses or promotions. It is harder for a warped incentive structure to warp your behavior if you refuse to be motivated by its prizes.
- T_D_K 9y agoThat's noble, but many aren't inclined trade personal profit for the company's profit. I don't think they should be, either. It's the company's job to ensure that their success is aligned with their employees'. Raise the issue to management, and if no action is taken, then you've done your due diligence. I can imagine situations where you should care about the company's performance, like a non-profit or certain startup situations, but I think the majority of enterprise developers fall under the above.
- walshemj 9y agoNobel ideals but might get you targeted when a RIF comes around.
- marssaxman 9y agoI'm not worried about that. If that's the way they are going to treat people, I probably don't actually want to work there.
- chocolatebunny 9y agoThere are other issues at play when it comes to helping out remote team members. When you're co-located with someone you develop better comradery with that person. You'll know them better and they'll come right to your desk when they ask for help so you're more likely to help them. And you sit with them as they execute commands so you can see exactly what's going on. remote coworkers are easier to ignore, harder to help, and harder to socialize with.
- ashelmire 9y agoAre you a junior dev or was the work in a domain unfamiliar to you? If not, you should be able to at least start debugging. You should get some error message (maybe that indicates some env variables not set, something not installed, etc). It seems odd to have not spoken directly to your supervisor or product owner to say "hey, this isn't working because X. What do I need to do / who can I talk to for help?"
- klenwell 9y agoIf the standup was part of a scrumesque process, this is a case where a scrum master could have really come to the rescue.
- wufufufu 9y agoWhat's a jock culture problem? Where everyone talks about sports and it's alienating?
- deleted 9y ago[deleted]
- darepublic 9y agoI can't say for sure but your mention of 'CSS' makes me guess this is a web application, in which case you should be able to read the source code and figure out how to build it. If people aren't helping you then according to their cost benefit matrix it isn't worth it. Maybe they are supposed to be doing other work and they can't calculate how many hours they would have to spend helping you. Maybe they are just afraid of not knowing how to get it running either and will get entangled and implicated in what is currently YOUR ignorance alone. (I've worked with plenty of these crappy apps with undocumented dependencies where if you get the AUTHOR of the repo to try to build THEIR project on a machine other than their own it craps out on them in which case they fucking bail or defiantly say 'it works on my machine'. These same people will snort derisively if any junior tells them of problems building their project, with a line like 'its not rocket science you know' -- until you confront those mofos with the demand to actually build their own fucking project. At that point you discover that not only did they not document all their dependencies, but they can't even read a simple node error message complaining about how node-sass is not defined, because their project depends on node-sass being globally installed and they didn't realize it themselves.)
- wingerlang 9y ago> I can't say for sure but your mention of 'CSS' makes me guess this is a web application, in which case you should be able to read the source code and figure out how to build it. Not necessarily. In my case, we have a web application where it eventually turned out that the variable was read from an environment variable. On a server where I didn't have access.
- voltagex_ 9y ago>your mention of 'CSS' makes me guess this is a web application, in which case you should be able to read the source code and figure out how to build it pfft. If it's a web app (from 2015-2018) I have even more sympathy for the OP than on any other platform. Here's an example from last year-ish: * Get repo from external contractor (let's ignore the 1+ weeks trying to get an install of Git approved) * Try to get npm working - can't get through our firewall * Figure out the right chaining proxy to use * Spend a non-zero amount of time trying to work out all the right bits to flip to turn off ALL SSL verification from npm because interception proxy * Hit the Windows MAX_PATH limit and have to spend ages trying to delete files that NPM's created (original developer used Linux) * After npm starts downloading stuff correctly, suddenly it needs a binary dependency (and thus more build tools) * Give up and check in said binary dependency from elsewhere * Finally build all the CSS and minified Javascript and check it all into source control with a warning to other devs not to rebuild it unless absolutely necessary
- daddosi 9y agoBut it was! It was excluding you! Your lack of performance made everyone else look more productive.
- dosethree 9y agoMost jobs I've been at if you're the first new hire in a while you are going to experience something like this, and it's important that you spend a lot of time adding to the documentation to make it easier for the next new hire.