Nicely put. I upvoted this story so I could see what you guys think in the comments. I read it and, and yeah, any combination of a) b) c).
One clue that poor communication might have been an issue, is that you and I are left here standing feeling like we are missing out on something in the story. That is not good storytelling, AKA it is poor communication.
Wu, more details! Maybe the "need to get a drink guy" was really ill and could barely stand up? For instance.
There are many reasons why the "need to get a drink guy" could have done what what he did, for example poor social skills (not his fault) or being socially drained (as somewhat of an introvert, I experience this)
Author here. Sorry you (and many others) felt that way... I was trying to put together these moments without rambling on too much.
To offer my perspective on the things you mentioned:
a) I absolutely agree, there's always two sides of a coin. I can only describe how I felt at the time.
b) Again, I agree, and communication is a two way art. Having said that, some of those moments I feel there were very little I could do in my end to turn them around.
c) I did not claim those to be stories either, my intention was to share these things that have happened to me in the past and made me felt uneasy at the time, and perhaps make more people (including myself) to be more aware of their surroundings...
I think the OP would feel better writing a blog post of gratitude: the same number of vignettes, except that they're stories were coworkers were extraordinarily kind or generous.
The way other people behave is often a reaction to how they perceive they're being treated. Perhaps the OP should introspect on how he appears to other?
Thank you, that inspired me to think about writing another "moments" piece for the kind ones. :)
In recent years I have started gathering feedback for myself from my peers, direct reports and managers. The issue I find is that only certain type of people are willing to be completely honest, for the rest it really depends on how much rapport you were able to build with them. I guess what I'm trying to say is that I try, but it's hard. :P
So most people are normal. :). Some are thick skinned, or confident, or just socially oblivious and will just tell their mind. Complete honesty is a dangerous thing. It's like walking nude.
> 2) Considering that so many companies slavishly build their whole culture on servicing engineers, color me skeptical.
Look deeper at the respect, and its most common proxies – money and hours: some places do seriously try to tackle developer productivity but there are quite a few where e.g. the average mid-level manager makes more than the most senior developer or the free food / foosball table is expected to make up for routine 60+ hour weeks or inability to fix long-term structural problems.
This is particularly of interest for younger developers: look at what happens to the older people at your company – do their careers mysteriously stall after their mid-30s, do they start getting flack for leaving on time to pick up their kids or actually using vacation/sick leave, etc. Most places say they value a good working environment but some of them are banking on you not taking them up on it.
That is crazy. I have been in the industry for over 15 years and only can think of two episodes that would even compare to anything on the list. And they were both far milder than what OP encountered.
Most places I have worked there has been a recognition that software is hard and that developers need to be respected. (Not worshipped but respected.).
I am a white male, so maybe that plays a role? I don't know.
Not sure where the OP works (SV?) but wow. Hope he finds his way to a less toxic environment. I certainly would have considered leaving the industry after such experiences.
Funny, his post seems like a barely toxic environment to me. But then, here are things that have happened to me in the defense industry across several different jobs...
* Being asked to bill to one project while working on another; both projects were for the US government. Mischarging on contracts is illegal, immoral, and unethical, and I refused to do it. Later that day my boss pulled me into the office and gave me the old "Well we don't want to fire you but we might have to if your attitude doesn't improve" speech. I asked if this speech was related to my refusal to mischarge labor. The answer: "Yes, absolutely."
* During the Fall 2013 US government shutdown, I was on travel. The contractor I was working for told me to keep working. Everyone else at the home facility was furloughed. I kept working and kept getting paid. The company gave all employees a $2500 Christmas bonus for "staying loyal" to the company. Except those of us on travel, because we had not had to lose any salary. Okay, fine. But later on the company did return the leave that people took during the furlough. So, effectively, everyone else got a paid vacation from work PLUS a $2500 bonus and I got neither.
* Regularly cursed at by aircraft crew chiefs when I ask for access to perform inspections. I have been told, "Fuck you, we don't need your shit to fly, get the fuck out of here." Funny, the flight clearances say my system has to work!
* Yelled at by a very senior manager because I did not make a significant engineering change based on a poorly worded post-it note. I had asked the note's author for email clarification and formal documentation of the change. The author refused. I notified my managers -- including the manager who yelled at me -- of the situation. They promised to take action but did nothing. Uncertain of how to proceed, I kept raising the issue at status meetings but was ignored. The failure to take action on this almost cost us a launch opportunity.
And I have many more stories of similar things. But I think I have it good compared to huge numbers of people.
I don't think the OP, or many of the posters on this board, realize just how good you have it.
No, I'm pretty aware of how bad my working conditions are relative to, say, some of my friends who work at Apple or Facebook.
Things regularly happen in my world that would top anything the OP has posted about. I hate to engage in one-upmanship, but this post just seemed very silly to me.
> I'm pretty aware of how bad my working conditions are relative to, say, some of my friends who work at Apple or Facebook.
May I ask why you stay in your current working conditions then?
Are you doing work you consider to be really important? Challenging? Lucrative?
Do you see the light at the end of the tunnel? Are you able to make suggestions to improve the conditions for yourself and others? Are you locked in because of external concerns (location, family needs, etc)?
No job is perfect (they call it "work" for a reason) but I am curious why you'd stay at a job that is so tough.
I should note that only one of the stories I told is from my current job (being cursed at by crew chiefs). The others are from my last job, which I left in 2014.
I'm beginning to ask myself the same questions.
Partly I am locked in due to family concerns. My wife and I have moved 3 times in 4 years of marriage and we're both tired of moving (Each of us also moved a couple of times in the two years immediately before becoming a couple, so we are very tired of moving). We've just had a baby so stability is paramount. Therefore I don't want to leave this general area. But, this is a very large testing/research base, so there is other employment available.
The work I am doing is important, to me, but not particularly challenging. It is very lucrative. And my suggestions are taken seriously. I pretty much determine what I do on a day to day basis.
So it's not as bad as it could be. I do have agency here. But I'm also a little bored.
"It was near the end of the working day, around 5pm, as the person coordinating the developer recruitment in our area I ping’ed our Slack channel to encourage our developers to start reviewing some code tests from job candidates. One person replied: “My end of day activity is doing the stuff I should have been doing all day instead of the other things that came up.”"
What was the treated poorly part? Someone priorized some other work over his assignment, or something? I personally think overtime should be avoided, but often people do it voluntarily.
"A senior software architect who I used to respect walked close by in a meetup. We worked for the same company a while back so I smiled, said hi and was about to start a conversation, he quickly cut me off with “I need to get a drink” without looking at me and wondered off."
Seriously? Everyone has a bad day now and then. This is of course not nice behaviour, but I wouldn't consider it worth remembering or mentioning as "being treated poorly".
"The general manager who is non-technical, asked me to investigate options to uplift our ageing bespoke ecommerce solution. Upon delivering my findings, I was told that “your findings are biased.”"
What would be the proper way to communicate this? If the manager thinks that the findings are biased, would it be better not to say that, or communicate it in some other way?
Author here, I can see why you have these questions. I tried to keep the moments short so left out some details.
For the first one, it was the passive aggressive tone and the fact that it was posted in a public channel. This person in one other occasion, stormed out of a meeting room whilst another colleague was trying to explain something.
For the second one, later on through mutual colleagues I realised that he essentially thought very little of me because at the time I was a junior developer so I made lots of mistakes in my code base. In my defence though, I was on my own and I had to learn Rails myself.
For the third one, I put the "non-technical" part in to indicate that my manager does not have the technical capability to determine whether my findings were biased. It was more so that he had his agenda and just wanted me to confirm his approach from the technical perspective.
These stories kinda make it sound like you keep getting reprimanded for shelling into servers and installing random packages. If you aren't somehow resonsible, keep your chin up, not everywheres filled with those kinds of people.
To be honest I think you should give people a little slack and relax. You are taking things too personally. Everyone has a bad day now and then. Based on your descriptions to me it looks like "not treating people poorly" would require almost superhuman capabilities from managers and coworkers. They probably have also lot of other stuff to worry about as well.
I think I do, hence I put this sentence in the article: "There are a few of these moments that I still find hard to swallow, but most of them I simply chuckle whenever I think about them. ;)"
For most of these moments, it was more a reflection of my personality if anything - under the same circumstances, I know I _wouldn't_ treat others the same way I was treated back then. I much prefer to use softer tones and more positive ways to start those conversations.
"under the same circumstances, I know I _wouldn't_ treat others the same way I was treated back then"
I wouldn't dare to make that claim. Every situation is different and also everyone's mood varies from day to day. It is very difficult to be that nice guy all the time.
It should not be difficult to be a nice person all the time.
We are building software, and/or managing a product/team. It's a communal effort that requires empathy, kindness, and love. If you are one of the few who can't love your fellow coworker/subordinate/boss then you are toxic.
Unfortunately, bullies existed on the playground and they exist in the software industry too.
To put it differently: if you interviewed those people from the blog post, would they say that they do the things described in this article? Likely not!
> I put the "non-technical" part in to indicate that my manager does not have the technical capability to determine whether my findings were biased.
In what way were your finding supposedly biased? Why is it necessary for the manager to be technical in order to detect that bias?
Even presuming that you would need to be technical (a big assumption, non-technical people aren't necessarily idiots because they're non-technical), how do you know a senior technical person didn't already talk to them and warn that bias of a certain type could result in $YOUR_FINDINGS?
I thought the first one was the other way around: that he was being treated poorly, with people having him put out fires all day and not giving him time to do his real work. I see nothing bad in his response.
Im curious, if someone thinks very little of you and you try to start a conversation and that someone does not want to talk you ever - then what would be the correct behaviour for you? Because the "i need only coffee" seems to me quite neutral.
Well to be honest, anytime people are asked to work on something new at 5pm it typically represents a monumental failure on management's part. If reviewing those code tests was important, you should have made time for them to do that during the day.
It sounds like they were constantly getting hit with new "top priorities" that needed to be handled "right away" on top of their new duties.
It seems like you're attempting to form an opinion about circumstances based on knowledge you acquired past the time they happened.
At any rate, I don't see how either #1 or #2 constitute poor professional treatment. I can see how it can be a bad experience - I've been on both ends of such behaviour, frankly - but I don't think it's unprofessional. #1 actually points out a serious problem, too!
#3 and #4 from the blog post, however.. I would be livid.
This is mostly normal stuff from people who are stressed and work with each other all day. Being short is simply needing to get things done. I have seen things that are huge problems though.
Years ago at this little company I saw the CTO punch the CEO and basically knocked him out. The CTO walked out and we never saw him again. Keep in mind, these were grown men (I was still in college).
I've seen full on yelling and screaming with personal insult after personal insult. This was a normal occurrence on how IT and the business communicated. I never really got used to it, so luckily I worked from home 99% of the time.
I was in a meeting once with a bunch of contractors from different companies, all were yelling at each other about whose fault something was. The gov. PM could not get control and I finally stood up and said it was my fault personally so can we move on now.
And these only scratch the surface. One guy I worked with would always storm out of meetings saying he was going to get you fired if you disagreed with him on anything. That was almost comical though :)
Especially the last one I find interesting, I have the perspective that if someone did dismiss me and didn't say anything or gave me a clearly bullshit reason I'd find that much more offensive than telling the truth to my face.
Maybe the person wasn't biased, but obviously the manager thought so.
The "you're biased" line is a dismissive remark in a sense though. Everyone's biased, to certain extents, and keeping bias out of research is really tough sometimes. But:
1. A lot of times, this statement is used as a weak crutch by someone who had a different idea, but can't properly explain their side of the position and work towards why there was a difference in conclusion. Usually it's because the person that said "you're biased" is actually carrying a ton of bias into their viewpoints.
2. Even if someone was biased, do you think telling them that they're biased is going to bring resolution? Of course not. See point #1.
The correct response to being accused of bias is to step back, review your finding, your possible biases, and either adjust your findings or have an argument for why you don't feel they are biased.
I don't know what the guy did in the moment, but you're right about how you should react in that moment.
That said, bitching about bad managers is a time honored tradition as old as management itself, so I don't really see the big deal with blogging about it.
The "investigate options" one was one of the few situations that I could see a possible slight. I've seen managers who play this dumb game where they put people on a research problem, and the job isn't for the engineer to do unbiased research & prototyping, but it's instead to reinforce whatever argument they were originally pushing for (but your "job" is to actually bring facts in). I've heard the "you're biased" line enough from those kinds of people to just shrug it off and move on, but I've also seen engineers who become paralyzed trying to figure out "what the boss really wants". For my biased point of view, these managers fit into a category called "the worst" anyways, so getting worked up about it is probably not worth it.
As an aside on the not understanding front, what was the deal with the team lead scenario? In my experience team leads aren't managerial positions so I don't quite understand why the guy was so concerned with other employees salaries. There was also a lot of missing details there, the author could have been making significantly more, and so the raises were treated differently? That was definitely a peculiar one.
Yeah, generally at any company large enough to have a dedicated HR function, dev leads usually don't get informed or consulted in salary decisions. I was confused by that one too; his expectations were out of line on that one IMO.
The reason for this is that it's not at all uncommon for dev team members to make more than team leads if they have a specific skill set that the market values more.
Yeah; unfortunately at startups where roles / expectations aren't clearly defined, this type of stuff happens. Honestly I doubt it was out of malice; it's simply easier at a small company for the CEO to make all the comp decisions themselves than have to consult half the company about information that's supposed to be confidential. He may have thought he was doing the right thing to do -- startup CEOs are usually just winging it.
To me, it seemed clear that he had nominal responsibility for salaries, but was being routed around and undermined. Whether a "team lead" should have responsibility for salaries seems beside the point--if you've told someone they have responsibility they should have it until you relieve them of it.
>> The "investigate options" one was one of the few situations that I could see a possible slight. I've seen managers who play this dumb game where they put people on a research problem, and the job isn't for the engineer to do unbiased research & prototyping, but it's instead to reinforce whatever argument they were originally pushing for
My manager asked me to interview a guy for our embedded software team. The guy was working for our internal customer and was already well liked by the team, but he wasn't creating software. I asked if my input would matter or he already had his mind made up, and he said that yes, this was a real interview. So I asked the guy a few questions and then decided to just give him "FizzBuzz" in the language of his choice. He spent the rest of our time and more trying to solve it but no full success. Then I was in the awkward position of taking him to lunch since everyone else had gone already. So I go back to the boss and say "the guy can't code, don't hire him". Boss hires him anyway. Kid figures out FizzBuzz later that afternoon - he's got determination, and people were ultimately happy with him being on the team. Lessons: 1)Boss's mind was already made up. 2)FizzBuzz is not necessarily a good test. 3) No matter what people think of you, if you fuck up that test your nickname around the office will be "Fizz" from then on.
> "It was near the end of the working day, around 5pm, as the person coordinating the developer recruitment in our area I ping’ed our Slack channel to encourage our developers to start reviewing some code tests from job candidates. One person replied: “My end of day activity is doing the stuff I should have been doing all day instead of the other things that came up.”"
The developer is being treated poorly and gave a response to indicate why s/he was being treated poorly. I don't see the problem other than the person coordinating developer recruitment should respect people's time more.
> "A senior software architect who I used to respect walked close by in a meetup. We worked for the same company a while back so I smiled, said hi and was about to start a conversation, he quickly cut me off with “I need to get a drink” without looking at me and wondered off."
If I knew the person well enough, that one is actually a "I need to talk away from here" or a warning to not talk here. I've had friends go with that, but it really is not clear from the context what is going on or has gone on.
"If the manager thinks that the findings are biased, would it be better not to say that, or communicate it in some other way?"
Describe the points of the analysis that seem biased, without even using the word "biased".
"Looks like you only considered..."
"I don't see any mention of..."
"But you didn't mention [superior feature] of [other product]."
"Biased" is an accusation against the presenter, as opposed to asking questions or making comments about the analysis directly. Making a personal attack does not help in making a good decision.
At the risk of a tremendous backlash, I have to say that with the vast majority of these I was left looking for the punchline. There were clearly some very upsetting situations, but in nearly every case I could potentially see both sides of the equation. It was hard for me to consider these examples of poor treatment. Rather sometimes just examples of poor judgement (also from the developer's side -- for example not leaving the premises after being dismissed).
This stuff is hard. In my experience you have to cut people some slack and be understanding of difficult situations. If you are able to succeed at that, you should find opportunities to help. This will, in turn, make you more valuable to your employers and also make you much happier.
Of course, it's hard to give good advice from the other end of a comment box. I wish you the best of luck in your current endeavours!
> There were clearly some very upsetting situations, but in nearly every case I could potentially see both sides of the equation.
Nearly, sure but not all.
From the article (emphasis mine):
"A new big shot executive joined the company as our new CTO. He had no agile background and our company was transforming and pushing for a lot of agile principles at the time. Two weeks into his new appointment, the new CTO published an internal document titled “Controlled Chaos”. After reading the document everyone immediately realised that he was describing waterfall. The document was shared as a Google Doc and was open for comments, so people started asking hard questions. Weeks later, many of us who were vocal about his document were let go."
Asking for feedback and shooting the messenger(s) is pretty up there on the "How to make sure you never get honest feedback again and screw things over the long term" scale.
The development team at the company was a hot mess. The company brought in a CTO who stumbled a bit out of the gate, and a few developers made it very clear that they were uninterested in working with him or following his lead. Because the company felt it needed to go in a new direction with the development team, they had to let most of those developers -- who were clearly a bad fit at this point -- go.
Yeah, it's hard to say. I can share one particular horror story from my past (because it is fun ;-) ). I worked on an internal tools team and did not get on terribly well with my manager. I was very critical of him when he made mistakes (which he did fairly often -- some of them really serious ones). When my yearly review came up, I submitted a list of all of my accomplishments for the year. He said, "Ordinarily if someone gave me a list like this, I would give them a very good review. However, I just don't like you." And he gave me the worst possible rating.
I actually hung around at that job for several months (I was young and stupid). We had a reverse review system for our managers and our team of 9 developers gave our manager the worst rating in the entire company (a company of 100K employees!!!). My manager was incensed and locked us up in a meeting room for an hour to lecture us on how disappointed he was in his review.
At one point he said, "The thing I am most disappointed in is that I had no idea things were this bad. Why didn't anyone tell me?"
I replied, "I've been trying to help you ever since I got here. That's why I keep yelling at you. Nobody else will open their mouth because they see how you treat me."
We looked at each other and I like to think that we both learned something very valuable. I quit my job soon after that and I heard that he improved as a manager (at least a little bit). After a lot of soul searching I realized that "helping" someone when they can't understand what you are saying is quite a bit like stomping on their face ;-)
> After a lot of soul searching I realized that "helping" someone when they can't understand what you are saying is quite a bit like stomping on their face ;-)
Thanks for this. Put in this context and thinking back it makes some things in my past career clearer to me. I have often been the person "helping" and getting penalized for it as well. It's often difficult to bridge the divide between the factually correct and the politically? socially? correct.
"My manager, who was the general manager, wanted to fire two of my developers. His tactic for firing the senior developer was to make the senior developer role redundant and offering the dev a junior developer role instead."
I didn't read it all, but I think this one can be described as poor treatment against the author's coworker
Difficult to comment on with these light details, but is firing also poor treatment? Sometimes companies need to fire, for whatever reasons. I think it is good if some other role is offered instead.
"His tactic for firing the senior developer was to make the senior developer role redundant"
How do you make a role redundant? Usually it is about what the business needs, the people inside the company don't make roles needed or redundant, but the business and how it develops defines the needs for varying roles. For example, if customers suddenly stop buying and decide to go ellewhere, everyone inside the company can be considered redundant.
Um no in theory its the role that is redundant not the person it helps avoid accusations of unfairness in the redundancy process - yes i know that this can and is abused.
Unless the law has changed recently, if you make someone redundant in Australia (where the author is from), you can't fill the role again for 6 months (I think it's 6 mo) - ie: it's illegal to use "the role is redundant now" to fire someone and immediately fill the role again, which includes promotion-from-within. Of all the excuses you can use to fire someone, that one you actually have to mean.
Of course, you can work around the law by having the same duties performed by someone with a different (scare-quotes) "role".
Saying "you clearly don’t understand this feature, do you?" in front of everyone is a straight dick-move. Whoever said that should go back to kindergarten and learn how you're supposed to treat people.
"The head of HR who is female and a big advocate for workplace diversity walked into my exit interview. The opening line was “Ordinarily I only do exit interviews with female employees…“ "
These anecdotes seem a little light on detail, so it's hard to really see how Fred was treated poorly.
Through the course of my career there have been personality conflicts. I think this is natural and common. In the world of startups it can be even more dramatic.
The bottom line is that you should be confident in your skills, but not be an asshole (and you should expect the same from your colleagues). And, unless you have an equity stake, you can always move on.
It sound like Fred did this - he dealt with some standard workplace BS, then moved on when it was untenable. Good on him.
I just wish the examples were a bit more detailed and illustrative of the post's title.
If these are the worst experiences someone has had as a developer, they've had a great career. Most of these aren't even bad and many are in fact totally what you'd expect.
> As the team lead, I was told by one of my team members that they had gotten a pay rise.
Depending on the company structure, "team lead" might not make you their manager. Of course you won't know their pay if you're not their manager.
> "Ordinarily I only do exit interviews with female employees…"
It makes sense that the HR head would generally not personally engage in exit interviews, but would do so when it's directly related to an initiative they're personally pursuing (diversity).
The thing that bugs me the most aren't incidents like these (which honestly don't seem all that bad) but general "patterns". One I've seen pop up again and again is "ask me about something > I give you my professional advice > ignore it > come to me after you screwed things up by ignoring my advice > now I have to fix it". Have seen this at every one of my jobs as a developer/manager.
Everyone, every employee, contractor, founder, just anyone could exactly say this sentence at some point. All of us experienced unfair, grueling situations in the past and it's tempting to tell this everyone.
But not everybody would tell that they have been treated poorly or write a blog post about it. They know that there're every day people around you who make mistakes. Mistakes which make their life harder and sometimes these mistakes are not mistakes anymore when looking from both sides, maybe they are just misunderstandings and maybe too many in a short time.
It's the easiest to blame others when facing difficulties but some of us don't do this, they learn, develop empathy and just move on because they know: blaming, complaining and negativity won't solve anything. It makes you just feel even worse.
I don't want to judge about your situation in any way but I just like to express that the most difficult thing career-wise is dealing with people and it's the easiest to blame people when things don't go the way you expected. This is what I did for too many years—blaming others—until I realized that I am the sole person who can be made responsible for my situation.
Interesting read, but some of the entries are... weird. For example, what's wrong with requiring doctor's note for whole-week absence?
Some of them seem to be submitted by someone who may be considered a little bit to much entitled.
Maybe they had to take the whole week off because they were required to come in instead of rest on that first day. Maybe it would've only been two days otherwise.
The author must be keeping record somewhere of those things. You can't just remember that stuff over the years. If that's the case, maybe the problem is with you.
I had couple of those things but can't really tell the details. You're not happy, just let go and move on, don't even need to send notice, just don't show up the next day.
- I was once asked to go to meet a customer with our sales manager and wasn't told why beyond, "we just need a techie there." The sales manager did his pitch and when it came to questions someone said, "you haven't shown us the proposed architecture," and the sales manager points to me and says, "that's why Phil's here." I had to invent one on the spot using a whiteboard and with a bunch of very knowledgeable people firing questions at me.
- One developer I knew was tasked with using a font that cost a lot of money. He was explicitly told by the directors to use the font anyway without paying for it, which he did. Later when the company was sold this came up in disclosure, and the directors blamed the developer saying they had no knowledge.
- Another developer, during their personal review, was told that they weren't getting a pay rise but that, "it's not because you're black." She was in tears.
While these are almost certainly bad, they are not all specifically related to being a developer. Mainly just poor treatment of an employee.
The article had instances where a developer:
- lost essential computer access privileges
- was forced to re-invent technology
- was denied chances to advance his/her careers through academia
- felt group shaming
- was expected to spend most of the day picking up pieces
- was fired without review
The last one is more general but these at least have a technological slant to them, and they do seem to be related to some kind of passive, cultural bias. And each of the stories might have some weak points but the point is that some developers feel they are being treated poorly, which is a big deal. This crowd is very analytical but a dismissive response is not really the appropriate way to address these claims. (Not saying you're being dismissive, just the general attitude of comments.)
Your comment also hints on another pattern which is, every time there are small problems, there are going to be bigger problems underneath.
- As a web developer doing mostly ColdFusion (early 2000s and I was in my low 20s) sent to a customer to "help set up some kiosks." Turns out they needed help running network cable. Did my best but it was such a strange experience, and I felt very unprepared. And as luck would have it, I had wrenched my back the night before, and ended up throwing it out while I was shuffling around under desks - I was very embarrassed by that!
Most of these I read and am, like: "I wonder how the other person would've described the situation?"
For example:
> One of our servers needed to be rebuilt, so trying to be a team player and help, I started installing some basic packages. The senior dev on the team turned to me, straight faced and enunciated in a deep and cold voice: “don’t touch anything on it, this is my server!“
Is this because you're a junior-junior developer with an established history of fucking things up? Who has something else they should be working on? Then stay away from the guy's server.
Anyway, let me join the chorus of wondering what, exactly, is so terrible about most of these little stories. Especially when they're so vague as to be nearly useless...
I've been a developer for twenty years. I can tell you some actual stories of developers being treated poorly. They're generally a little deeper than, "Someone said something uncouth in my general direction."
Author here. Indeed I was the junior dev at the time.
I now regret not making a lot of the points clearer. In this case, I know I would definitely NOT treat my junior devs this way. In my view, using either aggressive tones, or public shaming, is not the right way to resolve things. I wish that senior dev at the time would've talked to me in a way that did not make me feel like I was worthless and intentionally fuck things up - at the end of day, most people try to do good things for their organisation, right? :)
Yeah, I dunno, I think you missed the point. The majority of what I read there was pretty basic. This is how masculine (note, I didn't say male) professionals generally talk to each other. Is it the most optimal way? Probably not, but there is way way way worse.
Like, you know, yelling at someone in a meeting, swearing aggressively, etc etc.
"Masculine professionals" are people, and should always be prefaced with a qualifier like "some" or "many." The original statement is certainly overly general in saying that all masculine professionals (I read it as all "real men" <ha!>) act the same way when women and children aren't in the room.
"Masculine professions" are things that people do, and we can definitely challenge almost all generalizations here. Unfortunately, the person you're replying to never mentioned professions.
> This is how masculine (note, I didn't say male) professionals generally talk to each other. ... Like, you know, yelling at someone in a meeting, swearing aggressively, etc etc.
This behavior will eventually get you fired. It's unprofessional, demoralizes employees, and opens you up to legal embarrassment if one of the people you berated ever sues your company. I will agree that the people who engage in yelling/swearing at employees are generally male, but it's absolutely not true that this is how masculine professionals "generally"* conduct themselves at most companies.
* If you're referring to startups in particular, where a founder cult-of-personality can have a totalizing effect on employees, they are the exception and not the rule.
Life is not roses, and people should learn to have thick skins.
That said, saying "Don't touch my server!" is not at all abusive, especially if there's a history of people messing things up they have no business touching.
I can accept that laying rules like 'Don't touch my server' before people start writing over each other's work does not seem abusive.
It makes me wonder: in case the senior dev did not disclose this policy to the junior dev prior to the meeting, what was the senior dev expecting? If no rules were communicated, it falls to the senior dev to lay them out. At the point that a junior dev does not follow a previously undisclosed procedure, why would that make the senior dev angry? The senior dev can note that the server is on his list and ask why did not the junior dev check who is responsible for the server?
Ask for permission. Failing that, ask for forgiveness. It's rude to mess with other people's stuff, or even shared property.
Imagine it wasn't a server but a conference room he decided to apply his vigilante justice to. The result may have been a positive surprise but being a junior there's also a good chance he was ignorant of the requirements and have made things worse for others.
In an ideal workplace every requirement is documented and every policy is written down and laid out to every team member. In the real world it's better to expect not to know everything -- and that's a fairly valuable lesson to take away in a junior role.
That said, the response may be blunt but it should never be angry, especially not beyond the scope of the actual intervention itself. If you're about to cause significant damage, it's okay to put that in drastic terms to make sure you stop right there. But it shouldn't be personal and it should be considered a learning experience by everyone involved.
Everyone should be allowed to make mistakes. They should just be expected to learn from them and avoid making the same mistakes in the future.
From the context in the blog, it is not communicated clearly who was assigned to rebuild the server and whether the senior dev communicated that he is working on it.
The rule can be a morning stand-up or Jira note, saying that the work is assigned to this person. At the time, developers (probably) were not accustomed to have either.
Of course. There are some general lessons about communication that you can learn from these examples. But nobody will do the right thing in every social situation 100% of the time.
It's not that you don't have valid complaints here. It's that you've taken a huge number of examples that range from the simply ungraceful to outright exploitative, and combined them in one huge file that makes it look like you're seeking reasons for your grudges.
A good workplace isn't one that avoids mistakes and conflict. It's one where the team feels invested and supported in working through that conflict in pursuit of their bigger goal. That goal doesn't have to be some world-changing potential; it can just be doing good work, getting paid, and taking care of yourselves.
You also need to be more situationally aware and/or humble. I'm a junior dev, I probably should ask for permission or guidance before mucking around. That's life.
So lets pretend you're the older developer in this case. You've been tasked with setting up this server and you have a way you like servers to be set up. You and your team will be working on it, you want it set up just so.
One morning before you arrive at work, junior dev Fred -- a nice kid, but definitely junior -- gets ahold of the server and starts monkeying around. It's not his job. It's not his server. And now you're either going to have to wipe the server and start fresh or get a debrief about what he has and has not done. And Fred's junior, as noted, so he doesn't always know the best way to do things (although, like many junior developers, he sure thinks he does!). So now you, senior dev, have this wild card that you just don't want to deal with because you're busy and doesn't Fred have other tasks on his plate? Why is he jumping all over your damned server?
So you snap at Fred. "Get away from that -- it's mine, not yours. Please do your job and leave me to mine."
Actually seems in line to me as a learning moment for the junior dev. It's much like when I get a new puppy who wanders over to the the older dogs food bowl. The older dog gives a slight growl and the puppy has learned not to do that again, and one hopes in the general case (not all dogs are quite that nice).
Hopefully as a junior dev this person learned a couple things here. First, that they do not know everything and second think how their actions will impact the team.
Indeed. Hopping onto a server unasked and installing packages is not being a "team player." It's being a busybody. In this situation being a team player would've been approaching the person actually tasked with the job, asking if there's anything you can do to help, and taking yes or no as an answer.
Author here. This is going to attract a few more downvotes for me, but I have to respectfully disagree. Partially because the scenario wasn't quite what had happened, but more importantly, even in situation exactly like what you have just described, I would not have just lashed out on my junior colleague - to me no matter how junior they are, they are still my colleagues and they still add value. There is no reason why I need to be aggressive to them when they made mistakes.
If someone started installing packages on my server willy nilly I would be very angry. Servers are a personal thing. Furthermore, it is downright unprofessional to be tinkering with other people's servers if they did not ask you for help!
To me, concerns oriented toward authorization and general security would offer a more objective and policy based framework for the discussion. The zeitgeist is servers are cattle not pets and that deploying chaos monkeys helps insure robust infrastructure.
I suppose "personal" might not have been the best word to describe this. What I meant to convey is that Servers are a fragile highly configured entity. It doesn't matter if the server in question is in a corporate environment or if it's your "personal" server - you don't want junior people editing configurations.
Are we talking professional or personal here? You seem to be jumping between the two.
A server purchased for your work is not _your_ server. It is a company asset. If you buy a server for yourself and your little brother messes with it, go ahead and get mad and lash out. If your business has procured a new asset, you are tasked with managing it and someone else gets in your way (junior or not), deal with it like a professional.
So, the assumption that someone adds value because they are a colleague is false...there's a concept called "Net Negative Producer" See here: http://pyxisinc.com/NNPP_Article.pdf
Hi author,
I think you need toughen up. The real world does not need to coddle your feelings and won't. Some of your fellow devs are going to be rude, but surprise! that's not going to get them fired. What counts is job performance.
Sorry if this sounds tough, but that's the way it is.
It doesn't seem out of line, but there's definitely a better way to handle this. As a senior member of the team, you need to swallow hard, take emotion and ego out of the equation, and handle the situation in a positive way.
While "snapping" isn't unreasonable, the better response is more level-headed.
"I like the fact that you took initiative on something that needs doing. However, we have established ways of doing this. There may also be other things you should be doing with your time instead. If you don't, here, sit behind me and let's set it up together. And in the future, check with me before you jump into something like this."
That's the balance. Firm. Corrective. Accretive. And at the end of the process, you now have a junior dev you can trust to set up servers "your way".
It's not necessary to always treat someone as a child. Nor should it be necessary to deconstruct everything.
Quick to the point explanations. No need to dance and coddle.
The junior dev has the right attitude (wanting to help) but if he thinks tweaking a server some else has set up is a way to help without having gotten some okay shows how green they are and have not yet attained necessary decision making skills.
I like the enthusiasm but I don't like the lack of awareness.
You're doing it again. You are using hyperbolic rude language, calling an adult a "child" -- that is being childish.
And you are ignoring the reality that people all have different levels of knowledge and experience -- there is no binary flip between child and adult.
People will extrapolate from their limited interactions with you, because communication is lossy. When you snap "don't touch that" they will obey "stay away from me as much as possible"
Actually, I don’t think he was doing that (calling an adult a child). I believe when he said “it's not necessary to always treat someone as a child”, he was referring to this part of the parent comment:
“"I like the fact that you took initiative on something that needs doing. However, we have established ways of doing this. There may also be other things you should be doing with your time instead. If you don't, here, sit behind me and let's set it up together. And in the future, check with me before you jump into something like this."”
Frankly, that does seem like the sort of response a parent might give their child when they do something wrong.
Someone says "don't touch that" (with cause) and an individual goes on to parse that as "stay away from me until the end of time" then they brought some baggage into the conversation. It's more than questionable to expect others to be aware of said baggage much less expect them to be extra-super-careful to not tip over the emotional apple cart. Far enough down that continuum and you've arrived at emotional hostage-taking. Much simpler to parse what was said at face value and go on with your day.
Let's break down the terse response: "Get away from that -- it's mine, not yours. Please do your job and leave me to mine."
As the junior dev, what am I taking away from this? The core message ("I shouldn't have done that thing I did.") is crystal clear. But WHY. Did I configure it wrong? Is there some process I'm not aware of? Is Senior Dev even right, or is he just a possessive jerk? Are there other rules I don't know about that I'm going to suddenly trip over?
You can play the "figure it out" card and not "coddle" them. That's an approach, but it's not a very effective one. At the very least, tell them what to do, not what not to do.
I'm having a hard time deciding if this is a troll. In a teaching position I'd agree wholeheartedly, but that's not what's being discussed. You're at work. By definition this means you're supposed to have at least some grasp of what your job duties are and it's a given that stuff outside of your job description is to be left to others unless you're given the go ahead before proceeding. Working a drive-thru, framing houses, industrial fabrication, structural steel work, tech support, professional development, they all have that in common. I certainly should not have to have the conversational equivalent of emailing a team member their job description to remind them to stay on their patch.
Not a troll. I'm playing a little bit of devil's advocate, but I also think this talk of dogs and dinner bowls is rediculous.
There's a line here. I've had "busybody" team members who make life difficult for everyone else no matter what you tell them. And my patience quickly wears thin if I have to tell you more than once.
But conversely, someone who's going to twiddle their thumbs and not help because "it's not in my job description"... I don't have time for that attitude either, and I won't stand for my team making it the cultural norm.
As a senior member of a team, one of your jobs is to develop the more junior people. It is a teaching position: always. If you can't do that, or you think snapping at them "teaches a lesson", it's time to have a conversation about the "senior" in your title.
At the end of the day, we're talking about a hypothetical situation. There are exceptions to every rule, but my starting point is, "How can we make this person better?"
> I like the enthusiasm but I don't like the lack of awareness.
Why not communicate that? Otherwise you're shutting down everything, enthusiasm included. Some of this is style: my example response is pretty middle-of-the-road IMO. But there's a difference between a "quick to the point explanation" that helps the green dev develop necessary decision-making (and other) skills, and something that's the equivalent of "Hssss! My precious!"
This is a challenging post, you seem to be getting knocked around with it quite a bit here. Hang in there. As you point out in your since published comment, treat this (and all your vignettes) as a learning experience. To help start you on your path for this post, I'll offer my 2 cents.
First, try to write posts with positive messages (this one has an overwhelmingly negative tone despite your intentions). Perhaps recast the examples as learning experience. Think long and hard about the situations you describe and try to learn something. Then write a post on what you learned. Life's hard. Help others learn from your interactions (and learn yourself).
Second, keep your issues to the real ones. It's okay to make a long list like this in a brainstorming session while a post is in the early draft stage, but try to trim down the stories to a handful of substantive ones (each with a lesson and reason for being there).
In general, it seems you've been in some stressful situations (for yourself and others). People (even the most vaulted professionals) get cranky when things aren't going well - by whatever definition of well is for the context).
You do seem to believe that transparency is a fundamental right. Its not. Noble, sure, but not ubiquitous or even always a good thing. Many times management will shield their reports from the disaster unfolding above them. Some times this is a good thing. It might be very distracting if everyone had perfect knowledge. I find its very important to have a good working relationship with your manager. Understand what motivates them and deliver on the tasks you are asked to (things can get messy when you "help" others (especially at the expense of your assigned tasks)).
Much more to say, but I need to go deliver on some of my tasks now. Hang in there. Good luck. Write a second post with a positive spin on the major things you learned from this one.
Hi bsaunder, thank you so much for the advice and encouragement!
Yep I can see why the negative tone is very off-putting to many people. Had I have a chance to do over I'd definitely do what you've suggested here and tackle it from the positive / lessons-learnt point of view. :)
> You do seem to believe that transparency is a fundamental right. Its not.
I wouldn't frame the issue in terms of rights, but management that hides relevant information is fundamentally dishonest and disrespectful. I wouldn't call it criminally fraudulent necessarily, but it's in the same spirit, though perhaps in a more grey area.
You offer valid criticisms, but I would say over all this post generated a lot of impassioned discussion and seems to have struck a nerve with a lot of developers, whether they agree or disagree.
Which is not necessarily a bad outcome for a piece of writing.
Heat and light are both energy, but not equally valuable in every situation. Whipping people into a frenzy is highly effective for some end, but not worthy.
True, but I personally believe this discussion has been largely constructive and useful. Communicating while being accurate, authoritative, professional, and not unnecessarily combative or personal is a hugely important skill for developers, and the examples presented were a great springboard for discussing the topic.
The transparency part is dangerous thinking. Management isn't perfect, low-ranked people are not clueless cogs, and sunlight is a great disinfected. Trust matters, and secrecy hurts trust.
I think what's missing is some resolution and reflection to each of the anecdotes. For many of them it's not clear to me what the point of the story was, or whether or not you thought you did anything wrong or not, or whether you understood the point of view of the (apparent) antagonist in each story. Context is lacking, too. When did these take place in the progression of your career? Has your perspective changed since the time the event happened?
Yeah if it was properly structured as a business you would never have had access to those resources to begin with. This kind of negative behavior is a relection of poor structure.
"what, exactly, is so terrible about most of these little stories."
That's exactly the point. Everyone hears this sort of thing and mistakenly infuses it with some significant meaning when really, it's just developers talking to developers.
Whether that was the original OP intention, I dunno, but it's the best lesson here.
Author here. I'm glad there are people like you who share the same view. :)
I do admit that I haven't explained things well in my blog post, but some comments here that suggest being aggressive/rude is okay and/or justifiable as long as there's another side of the story is really an eye opener for me and I'm somewhat shocked... Is being kind and decent to another fellow coworker (and a human being for that matter) too much to ask? :\",
I've worked in environments that turned toxic and what you posted is all too familiar. I learnt from it too and the signs that things are perhaps wrong are evident much quicker now. I also learnt a lot about how not to manage/lead from similar incidents.
I mean, regardless of the justification, this is not a very professional way to talk to a fellow colleague. Something like, "it's important that this server is configured correctly, so I think it would be better if I took care of it myself, if that's ok with you" would have been a lot better.
Intentions don't change how an interaction affects me. Your definition of what to take personally is exactly that part of an interaction that is not me. That's absurd.
I try to balance my gut instinct and my empathy and theory of mind.
If someone does something that offends me, but I know after a few seconds' thought that they didn't intend to, for example they were busy or look upset for some reason, then it would be foolish to take offence.
If someone does something that is extra polite and friendly and massages my ego, but I know that they hate me and are being two-faced (for whatever reason) I might take offence.
Of course, everyone's different, but most people's theory of mind is developed to this point past past a certain age. I don't think it's absurd to take some responsibility for your own thoughts. I think it's how society hangs together.
I hope you recognize that your argument is a strawman.
It's absurd to never take any personal interactions personally. It's equally absurd to take every personal interaction personally.
Your argument is basically the twitter problem: stop judging people by individual statements or interactions, understand that there's an entire separate being on the other end of every conversation with concerns and experiences of their own.
Yeah, and on this end is me. Therefore a conversation is personal. This is flabbergasting. Under what conditions am I allowed to judge a personal interaction based on how it affects me?
> It's equally absurd to take every personal interaction personally.
Ok, which personal interactions should not be taken personally? Do you understand how ridiculous that sounds definitionally?
You can't delineate a set of criteria for when to take a statement said to you "personally". For one thing, taking something personally isn't a binary attribute, it is far more complicated than that.
Use your best judgment and try to give people the benefit of the doubt (this requires practicing empathy, which is difficult). Realize most people are usually not thinking about you, because they are too busy thinking about themselves. I find it beneficial to try to act in a way that leaves the most people feeling positively (including myself).
This is still ridiculous. Because someone else is being inconsiderate of how their actions affect me, i should ignore how their actions affect me. I have to admit i am being somewhat coy by taking issue with the post i replied to, which, by the way, makes a general prescription of what not to take personally without knowing any context. I understand the attitude of ignoring things that cause personal discomfort or harm based on intended effect.
I think it's ridiculous, and more often than not people prescribe such behavior for others but are quite comfortable taking personally that which... personally affects them. Silent forgiveness for the inconsiderate instead of numerous means of improving one's relationship with them. Telling someone that they are treating you in an unacceptable manner is, by definition, taking it personally. And being passive and avoiding such conversations is exactly how unpleasant social interactions persist and grow into a climate of alienation and dysfunction.
> You can't delineate a set of criteria for when to take a statement said to you "personally".
Sure i can. When it affects you, personally. People who disagree with me can't come up with a set of criteria. Without such a criteria, there is no justification of the attitude.
> For one thing, taking something personally isn't a binary attribute, it is far more complicated than that.
Taking something personally is binary in this way: you either ignore the personal effects a relationship has on you or you signal/take action based on those personal effects. All of the complication lies in how one proceeds based on their feelings. Mediation and conflict resolution are complicated yes. But you can't resolve a conflict without signaling that it exists and that you have a personal stake in it. That is exactly what taking something personally means.
There are large-scale social implications. People who are lower in status are told to not take it personally more often than people of higher status. When a boss is emotionally abusive, people are far more likely to excuse such behavior than if an underling is being emotionally abusive. In other words, prescribing to people to passively accept uncomfortable or harmful social interactions without protest becomes a mechanism of power. The effects are alienation, depersonalization, stress, and social dysfunction. That shit infests our society.
To be clear, I never said things should never be taken personally. I tried to imply that is impractical to try to come up with super specific criteria when you take it personally, and when you should let it go. It's going to a fuzzy thing that depends on specific circumstances. Sure, you can have some general principles, but I don't see how one can try to formalize it.
I also didn't say you should ignore your feelings. Personally, I make an effort to be aware of my visceral reactions when things happen, and to not let my automatic, gut reaction run away with itself. But I do want to my understand my feelings, not just stifle them.
However, I also try to emulate the mental space of the person who said the thing, and the wider impact of me speaking up, and only say something if I feel it will be received in a productive fashion and will be generally beneficial. Highly personal criticism (even when constructive) usually loses effectiveness if it is overgiven, and is also a socially expensive thing, as it often feels negative for the recipient in the initial instant. It also carries less weight when coming from someone you don't know that well or haven't built up trust with, which makes the expensive interaction to give feedback often times a waste, with little ROI.
I think most people are reading that example and imagining a one-off harsh interaction with someone who doesn't usually snap like that, while the way you describe it:
> how unpleasant social interactions persist and grow into a climate of alienation and dysfunction
is more like someone you expect to be rude to you all the time unless you tell them not to be. If that's not going to happen, then just letting it go could be a reasonable response. There's also the fact that this is being recounted after the fact, which implies not just hurt feelings in the moment but a lasting grudge held over something most people wouldn't be bothered by, which can also be toxic to relationships.
> > You can't delineate a set of criteria for when to take a statement said to you "personally".
> Sure i can. When it affects you, personally. People who disagree with me can't come up with a set of criteria.
Fair enough. Everyone takes offense at different things. But if your threshold is set so low that interactions that most people wouldn't find "uncomfortable or harmful" are "unacceptable" to you, then any interaction with you becomes difficult, and that difficulty will drive people away and alienate you.
That's how you're coming across here, and that's why people are suggesting you try to change yourself, change the way you view these interactions, instead of just insisting that everyone else change to accommodate you. "Don't take it personally" doesn't mean "don't react to things that bother you", it means "don't let it bother you". For things that have no ill intent and don't bother most people (even when it's directed at them), that's good advice.
Don't invest the weight of your entire consciousness into each individual sentence as a standalone universe. Build a greater context over all the interactions.
> Ok, which personal interactions should not be taken personally? Do you understand how ridiculous that sounds definitionally?
If you honestly don't understand how to apply this kind of nuance that is concerning and could indicate an undiagnosed psychological condition (e.g. autism spectrum) -- consider talking to a professional. But I'll try to elaborate:
Try giving people the benefit of doubt. The vast majority of people are not intentionally being obnoxious. There is a multitude of reasons someone might come across as hostile without it being something you should take personal, for example:
* sleep deprivation
* hunger (e.g. skipped a meal)
* bad posture (causing discomfort they may not even be aware of)
> If you honestly don't understand how to apply this kind of nuance that is concerning and could indicate an undiagnosed psychological condition (e.g. autism spectrum) -- consider talking to a professional.
This kind of passive aggressive, ableist bullshit is completely unacceptable.
> Something like, "it's important that this server is configured correctly, so I think it would be better if I took care of it myself, if that's ok with you"
This is worlds better than being rude. In my experience it errs a little in the other direction because it leaves the situation a little ambiguous (and thus invites more conflict) by implying that it is debatable. Especially the "if that is ok with you part"
I might try something like: "it's important that this server is configured correctly, so it would be better if I took care of it myself, I Appreciate the effort though!"
Yes, however, depending on the situation, it might be better to try to figure out why they want to do it themselves and offer an alternative, if possible. For example, if they want to do it because they want to gain experience configuring servers, you could tell them something like "I think I should really do this myself, but how about configuring $NEXT_TEST_ENVIRONMENT_SERVER next week?" or "Ok, then how about us doing it together?".
I find it interesting that both of these revisions include an assumption of incompetence by the junior, while the original was more ambiguous in that regard.
Unfortunately I can very much understand the original snap. I know I've said things like this and I'm sure a lot of people here have, too, even if they don't remember. I'm willing to assume that the original speaker was in some way overstressed, overworked and had just lost patience at that moment. It's easy to know what the better thing to say is in retrospect but usually people just want to get their message across.
Sure you can't prevent snapping. But you can be mature and self-reflect and apologize afterward, which often motivated self reflection and apology from others as well, leading to improved behavior all around in future.
honestly this is not correct from a communication perspective. Literally this is a team lead educating a junior developer who completely oversteps his bounds and does not even understand why this is an issue.
In dissecting your statement, "it's important that this server is configured correctly, so I think it would be better if I took care of it myself, if that's ok with you"
clause one is ok, but does not provide a 'why'. clause two leaves too much leeway as to whether the junior developer action is acceptable going forward. clause three is actively negative as it opens up debate for something that is not up for debate.
a proper communication would have been to take the junior somewhere away from anyone else, made sure that the tone of voice was unagressive but authorative, and stated something along the lines that, this is not a major issue but we need to have an important quick conversation, first explain that number 1 what the issue is, explain number two the underlying why, and explain what will happen go forward, make sure he understands this is not a debate, this is you giving him direction on what will occur going forward, i would give him an oppurtunity to meaningfully contribute in the future if it made sense, finally make sure he understands.
being to flimsy or wishy washy is NOT good communication
I get your point, but I think your management style is very different from mine. People overstepping their bounds getting reprimanded in an authoritative voice away from anyone else is simply not the kind of work environment I want to foster.
If this is a recurring problem and previous, friendlier attempts have failed already then it's necessary to rephrase the message in a clear, authoritative manner but in my experience this is very rarely, if ever needed.
I am going to respectfully highlight why I think this is a mistake.
The original communication does not actually communicate the underlying issue in this particular case. Its not a 'friendly' vs 'unfriendly' communication issue. Its an issue that the communication is NOT actually communicating what the intent of the message is.
The intent of the message is 'this is not your responsibility, although you intend to help you are actually making more work for others not less, do not do this or similar things again, without consulting the person who's responsibility it is beforehand' thats the message.
the way its phrased if the person is a senior he is going to understand what you are 'really' telling him in nice words. if the person is a junior he is going to think you are really entering a debate about how this should be approached, and that you need to reach consensus with him about the approach, and that although you didnt accept his contribution this time, next time or next situation this may be a reasonable way to contribute to the team.
you have communicated the wrong thing to your target audience. its bad communication. its not 'unfriendlier' to communicate directly what you actually mean and to provide clear guidance and correction to a junior.
I think a lot depends on team culture and perhaps that's where these kinds of anecdotes fall down - without the context of the team and personalities behind them, they are just snippets with three sides to every story.
The thing that gets me in medium sized organizations is mixed messages from different sides of management. I feel like poor communication tends to be the rule here rather than the exception. This includes cases where I have been hired as a firefighter.
The thing that gets me in large companies is backstabbing psychopaths that ritually abuse the common assumption that everyone is working together, in order to elbow their way ... somewhere.
If you work with a group of smart people who are able to selflessly say "Hey I don't know about this" or "Maybe I made a mistake there, how can as a team change the process for these decisions so that we prevent making this kind of mistake in future?" ... treasure it.
260 comments
[ 3.3 ms ] story [ 252 ms ] threadIt seems like either
a) We're only getting half the story.
b) There are clues that poor communication was the issue.
c) There is no story to begin with, just some perceived slight in the authors head.
One clue that poor communication might have been an issue, is that you and I are left here standing feeling like we are missing out on something in the story. That is not good storytelling, AKA it is poor communication.
Wu, more details! Maybe the "need to get a drink guy" was really ill and could barely stand up? For instance.
Author here. Sorry you (and many others) felt that way... I was trying to put together these moments without rambling on too much.
To offer my perspective on the things you mentioned:
a) I absolutely agree, there's always two sides of a coin. I can only describe how I felt at the time. b) Again, I agree, and communication is a two way art. Having said that, some of those moments I feel there were very little I could do in my end to turn them around. c) I did not claim those to be stories either, my intention was to share these things that have happened to me in the past and made me felt uneasy at the time, and perhaps make more people (including myself) to be more aware of their surroundings...
The way other people behave is often a reaction to how they perceive they're being treated. Perhaps the OP should introspect on how he appears to other?
In recent years I have started gathering feedback for myself from my peers, direct reports and managers. The issue I find is that only certain type of people are willing to be completely honest, for the rest it really depends on how much rapport you were able to build with them. I guess what I'm trying to say is that I try, but it's hard. :P
2) Considering that so many companies slavishly build their whole culture on servicing engineers, color me skeptical.
Look deeper at the respect, and its most common proxies – money and hours: some places do seriously try to tackle developer productivity but there are quite a few where e.g. the average mid-level manager makes more than the most senior developer or the free food / foosball table is expected to make up for routine 60+ hour weeks or inability to fix long-term structural problems.
This is particularly of interest for younger developers: look at what happens to the older people at your company – do their careers mysteriously stall after their mid-30s, do they start getting flack for leaving on time to pick up their kids or actually using vacation/sick leave, etc. Most places say they value a good working environment but some of them are banking on you not taking them up on it.
Most places I have worked there has been a recognition that software is hard and that developers need to be respected. (Not worshipped but respected.).
I am a white male, so maybe that plays a role? I don't know.
Not sure where the OP works (SV?) but wow. Hope he finds his way to a less toxic environment. I certainly would have considered leaving the industry after such experiences.
* Being asked to bill to one project while working on another; both projects were for the US government. Mischarging on contracts is illegal, immoral, and unethical, and I refused to do it. Later that day my boss pulled me into the office and gave me the old "Well we don't want to fire you but we might have to if your attitude doesn't improve" speech. I asked if this speech was related to my refusal to mischarge labor. The answer: "Yes, absolutely."
* During the Fall 2013 US government shutdown, I was on travel. The contractor I was working for told me to keep working. Everyone else at the home facility was furloughed. I kept working and kept getting paid. The company gave all employees a $2500 Christmas bonus for "staying loyal" to the company. Except those of us on travel, because we had not had to lose any salary. Okay, fine. But later on the company did return the leave that people took during the furlough. So, effectively, everyone else got a paid vacation from work PLUS a $2500 bonus and I got neither.
* Regularly cursed at by aircraft crew chiefs when I ask for access to perform inspections. I have been told, "Fuck you, we don't need your shit to fly, get the fuck out of here." Funny, the flight clearances say my system has to work!
* Yelled at by a very senior manager because I did not make a significant engineering change based on a poorly worded post-it note. I had asked the note's author for email clarification and formal documentation of the change. The author refused. I notified my managers -- including the manager who yelled at me -- of the situation. They promised to take action but did nothing. Uncertain of how to proceed, I kept raising the issue at status meetings but was ignored. The failure to take action on this almost cost us a launch opportunity.
And I have many more stories of similar things. But I think I have it good compared to huge numbers of people.
I don't think the OP, or many of the posters on this board, realize just how good you have it.
Agreed. Being an in-demand software engineer is a gift, and I am grateful every day that I stumbled into this career.
On the flip side, maybe you don't realize how bad you have it :) .
Things regularly happen in my world that would top anything the OP has posted about. I hate to engage in one-upmanship, but this post just seemed very silly to me.
May I ask why you stay in your current working conditions then?
Are you doing work you consider to be really important? Challenging? Lucrative?
Do you see the light at the end of the tunnel? Are you able to make suggestions to improve the conditions for yourself and others? Are you locked in because of external concerns (location, family needs, etc)?
No job is perfect (they call it "work" for a reason) but I am curious why you'd stay at a job that is so tough.
I'm beginning to ask myself the same questions.
Partly I am locked in due to family concerns. My wife and I have moved 3 times in 4 years of marriage and we're both tired of moving (Each of us also moved a couple of times in the two years immediately before becoming a couple, so we are very tired of moving). We've just had a baby so stability is paramount. Therefore I don't want to leave this general area. But, this is a very large testing/research base, so there is other employment available.
The work I am doing is important, to me, but not particularly challenging. It is very lucrative. And my suggestions are taken seriously. I pretty much determine what I do on a day to day basis.
So it's not as bad as it could be. I do have agency here. But I'm also a little bored.
Good luck to ya!
"It was near the end of the working day, around 5pm, as the person coordinating the developer recruitment in our area I ping’ed our Slack channel to encourage our developers to start reviewing some code tests from job candidates. One person replied: “My end of day activity is doing the stuff I should have been doing all day instead of the other things that came up.”"
What was the treated poorly part? Someone priorized some other work over his assignment, or something? I personally think overtime should be avoided, but often people do it voluntarily.
"A senior software architect who I used to respect walked close by in a meetup. We worked for the same company a while back so I smiled, said hi and was about to start a conversation, he quickly cut me off with “I need to get a drink” without looking at me and wondered off."
Seriously? Everyone has a bad day now and then. This is of course not nice behaviour, but I wouldn't consider it worth remembering or mentioning as "being treated poorly".
"The general manager who is non-technical, asked me to investigate options to uplift our ageing bespoke ecommerce solution. Upon delivering my findings, I was told that “your findings are biased.”"
What would be the proper way to communicate this? If the manager thinks that the findings are biased, would it be better not to say that, or communicate it in some other way?
Author here, I can see why you have these questions. I tried to keep the moments short so left out some details.
For the first one, it was the passive aggressive tone and the fact that it was posted in a public channel. This person in one other occasion, stormed out of a meeting room whilst another colleague was trying to explain something.
For the second one, later on through mutual colleagues I realised that he essentially thought very little of me because at the time I was a junior developer so I made lots of mistakes in my code base. In my defence though, I was on my own and I had to learn Rails myself.
For the third one, I put the "non-technical" part in to indicate that my manager does not have the technical capability to determine whether my findings were biased. It was more so that he had his agenda and just wanted me to confirm his approach from the technical perspective.
Hope that clears things up a little bit. :)
For most of these moments, it was more a reflection of my personality if anything - under the same circumstances, I know I _wouldn't_ treat others the same way I was treated back then. I much prefer to use softer tones and more positive ways to start those conversations.
I wouldn't dare to make that claim. Every situation is different and also everyone's mood varies from day to day. It is very difficult to be that nice guy all the time.
We are building software, and/or managing a product/team. It's a communal effort that requires empathy, kindness, and love. If you are one of the few who can't love your fellow coworker/subordinate/boss then you are toxic.
Unfortunately, bullies existed on the playground and they exist in the software industry too.
There's a huge difference between most of the time and all of the time.
I'm a strong advocate of empathy in the workplace, but part of that is recognising that sometimes people are just in a bad mood.
Someone who snaps at you because they're really stressed that day is in no way a bully.
Having a bad day is not an excuse to be rude to someone, especially if they are not aware of that.
You apologize the next day / whenever you calm down. And then that out-of-character event doesn't end up being someone's lasting impression of you.
I agree, it shouldn't be difficult, but some people seem to go out of their way to make it difficult.
In what way were your finding supposedly biased? Why is it necessary for the manager to be technical in order to detect that bias?
Even presuming that you would need to be technical (a big assumption, non-technical people aren't necessarily idiots because they're non-technical), how do you know a senior technical person didn't already talk to them and warn that bias of a certain type could result in $YOUR_FINDINGS?
It sounds like they were constantly getting hit with new "top priorities" that needed to be handled "right away" on top of their new duties.
At any rate, I don't see how either #1 or #2 constitute poor professional treatment. I can see how it can be a bad experience - I've been on both ends of such behaviour, frankly - but I don't think it's unprofessional. #1 actually points out a serious problem, too!
#3 and #4 from the blog post, however.. I would be livid.
Years ago at this little company I saw the CTO punch the CEO and basically knocked him out. The CTO walked out and we never saw him again. Keep in mind, these were grown men (I was still in college).
I've seen full on yelling and screaming with personal insult after personal insult. This was a normal occurrence on how IT and the business communicated. I never really got used to it, so luckily I worked from home 99% of the time.
I was in a meeting once with a bunch of contractors from different companies, all were yelling at each other about whose fault something was. The gov. PM could not get control and I finally stood up and said it was my fault personally so can we move on now.
And these only scratch the surface. One guy I worked with would always storm out of meetings saying he was going to get you fired if you disagreed with him on anything. That was almost comical though :)
Maybe the person wasn't biased, but obviously the manager thought so.
1. A lot of times, this statement is used as a weak crutch by someone who had a different idea, but can't properly explain their side of the position and work towards why there was a difference in conclusion. Usually it's because the person that said "you're biased" is actually carrying a ton of bias into their viewpoints.
2. Even if someone was biased, do you think telling them that they're biased is going to bring resolution? Of course not. See point #1.
Not to pout and say you're being treated poorly.
That said, bitching about bad managers is a time honored tradition as old as management itself, so I don't really see the big deal with blogging about it.
As an aside on the not understanding front, what was the deal with the team lead scenario? In my experience team leads aren't managerial positions so I don't quite understand why the guy was so concerned with other employees salaries. There was also a lot of missing details there, the author could have been making significantly more, and so the raises were treated differently? That was definitely a peculiar one.
The reason for this is that it's not at all uncommon for dev team members to make more than team leads if they have a specific skill set that the market values more.
Author here. Unfortunately that one was from a small startup where I was responsible for evaluating my team members' performance and salary.
My manager asked me to interview a guy for our embedded software team. The guy was working for our internal customer and was already well liked by the team, but he wasn't creating software. I asked if my input would matter or he already had his mind made up, and he said that yes, this was a real interview. So I asked the guy a few questions and then decided to just give him "FizzBuzz" in the language of his choice. He spent the rest of our time and more trying to solve it but no full success. Then I was in the awkward position of taking him to lunch since everyone else had gone already. So I go back to the boss and say "the guy can't code, don't hire him". Boss hires him anyway. Kid figures out FizzBuzz later that afternoon - he's got determination, and people were ultimately happy with him being on the team. Lessons: 1)Boss's mind was already made up. 2)FizzBuzz is not necessarily a good test. 3) No matter what people think of you, if you fuck up that test your nickname around the office will be "Fizz" from then on.
Getting offended because people have stuff to do dosent mean you're being treated poorly.
The developer is being treated poorly and gave a response to indicate why s/he was being treated poorly. I don't see the problem other than the person coordinating developer recruitment should respect people's time more.
> "A senior software architect who I used to respect walked close by in a meetup. We worked for the same company a while back so I smiled, said hi and was about to start a conversation, he quickly cut me off with “I need to get a drink” without looking at me and wondered off."
If I knew the person well enough, that one is actually a "I need to talk away from here" or a warning to not talk here. I've had friends go with that, but it really is not clear from the context what is going on or has gone on.
Describe the points of the analysis that seem biased, without even using the word "biased".
"Looks like you only considered..."
"I don't see any mention of..."
"But you didn't mention [superior feature] of [other product]."
"Biased" is an accusation against the presenter, as opposed to asking questions or making comments about the analysis directly. Making a personal attack does not help in making a good decision.
This stuff is hard. In my experience you have to cut people some slack and be understanding of difficult situations. If you are able to succeed at that, you should find opportunities to help. This will, in turn, make you more valuable to your employers and also make you much happier.
Of course, it's hard to give good advice from the other end of a comment box. I wish you the best of luck in your current endeavours!
Nearly, sure but not all.
From the article (emphasis mine):
"A new big shot executive joined the company as our new CTO. He had no agile background and our company was transforming and pushing for a lot of agile principles at the time. Two weeks into his new appointment, the new CTO published an internal document titled “Controlled Chaos”. After reading the document everyone immediately realised that he was describing waterfall. The document was shared as a Google Doc and was open for comments, so people started asking hard questions. Weeks later, many of us who were vocal about his document were let go."
Asking for feedback and shooting the messenger(s) is pretty up there on the "How to make sure you never get honest feedback again and screw things over the long term" scale.
The development team at the company was a hot mess. The company brought in a CTO who stumbled a bit out of the gate, and a few developers made it very clear that they were uninterested in working with him or following his lead. Because the company felt it needed to go in a new direction with the development team, they had to let most of those developers -- who were clearly a bad fit at this point -- go.
Because there's almost no detail in that story.
I actually hung around at that job for several months (I was young and stupid). We had a reverse review system for our managers and our team of 9 developers gave our manager the worst rating in the entire company (a company of 100K employees!!!). My manager was incensed and locked us up in a meeting room for an hour to lecture us on how disappointed he was in his review.
At one point he said, "The thing I am most disappointed in is that I had no idea things were this bad. Why didn't anyone tell me?"
I replied, "I've been trying to help you ever since I got here. That's why I keep yelling at you. Nobody else will open their mouth because they see how you treat me."
We looked at each other and I like to think that we both learned something very valuable. I quit my job soon after that and I heard that he improved as a manager (at least a little bit). After a lot of soul searching I realized that "helping" someone when they can't understand what you are saying is quite a bit like stomping on their face ;-)
Thanks for this. Put in this context and thinking back it makes some things in my past career clearer to me. I have often been the person "helping" and getting penalized for it as well. It's often difficult to bridge the divide between the factually correct and the politically? socially? correct.
They seated her in the marketing office away from the developers.
FML for developers?
I didn't read it all, but I think this one can be described as poor treatment against the author's coworker
"His tactic for firing the senior developer was to make the senior developer role redundant"
How do you make a role redundant? Usually it is about what the business needs, the people inside the company don't make roles needed or redundant, but the business and how it develops defines the needs for varying roles. For example, if customers suddenly stop buying and decide to go ellewhere, everyone inside the company can be considered redundant.
Of course, you can work around the law by having the same duties performed by someone with a different (scare-quotes) "role".
Poor treatment would have been making the role redundant and not offering him a job at all.
Another feminist pig...sigh
Through the course of my career there have been personality conflicts. I think this is natural and common. In the world of startups it can be even more dramatic.
The bottom line is that you should be confident in your skills, but not be an asshole (and you should expect the same from your colleagues). And, unless you have an equity stake, you can always move on.
It sound like Fred did this - he dealt with some standard workplace BS, then moved on when it was untenable. Good on him.
I just wish the examples were a bit more detailed and illustrative of the post's title.
> As the team lead, I was told by one of my team members that they had gotten a pay rise.
Depending on the company structure, "team lead" might not make you their manager. Of course you won't know their pay if you're not their manager.
> "Ordinarily I only do exit interviews with female employees…"
It makes sense that the HR head would generally not personally engage in exit interviews, but would do so when it's directly related to an initiative they're personally pursuing (diversity).
Everyone, every employee, contractor, founder, just anyone could exactly say this sentence at some point. All of us experienced unfair, grueling situations in the past and it's tempting to tell this everyone.
But not everybody would tell that they have been treated poorly or write a blog post about it. They know that there're every day people around you who make mistakes. Mistakes which make their life harder and sometimes these mistakes are not mistakes anymore when looking from both sides, maybe they are just misunderstandings and maybe too many in a short time.
It's the easiest to blame others when facing difficulties but some of us don't do this, they learn, develop empathy and just move on because they know: blaming, complaining and negativity won't solve anything. It makes you just feel even worse.
I don't want to judge about your situation in any way but I just like to express that the most difficult thing career-wise is dealing with people and it's the easiest to blame people when things don't go the way you expected. This is what I did for too many years—blaming others—until I realized that I am the sole person who can be made responsible for my situation.
difficult to feel empathy for the anonymous authors behind these anecdotal snippets
There's only one author and his name is Fred Wu. Agreed that there's not enough context.
I had couple of those things but can't really tell the details. You're not happy, just let go and move on, don't even need to send notice, just don't show up the next day.
- I was once asked to go to meet a customer with our sales manager and wasn't told why beyond, "we just need a techie there." The sales manager did his pitch and when it came to questions someone said, "you haven't shown us the proposed architecture," and the sales manager points to me and says, "that's why Phil's here." I had to invent one on the spot using a whiteboard and with a bunch of very knowledgeable people firing questions at me.
- One developer I knew was tasked with using a font that cost a lot of money. He was explicitly told by the directors to use the font anyway without paying for it, which he did. Later when the company was sold this came up in disclosure, and the directors blamed the developer saying they had no knowledge.
- Another developer, during their personal review, was told that they weren't getting a pay rise but that, "it's not because you're black." She was in tears.
Now these are some legitimate complaints. You should write a post about real issues.
Did she end up suing? I feel like you can't say something like that and not end up getting sued.
The article had instances where a developer:
- lost essential computer access privileges
- was forced to re-invent technology
- was denied chances to advance his/her careers through academia
- felt group shaming
- was expected to spend most of the day picking up pieces
- was fired without review
The last one is more general but these at least have a technological slant to them, and they do seem to be related to some kind of passive, cultural bias. And each of the stories might have some weak points but the point is that some developers feel they are being treated poorly, which is a big deal. This crowd is very analytical but a dismissive response is not really the appropriate way to address these claims. (Not saying you're being dismissive, just the general attitude of comments.)
Your comment also hints on another pattern which is, every time there are small problems, there are going to be bigger problems underneath.
- As a web developer doing mostly ColdFusion (early 2000s and I was in my low 20s) sent to a customer to "help set up some kiosks." Turns out they needed help running network cable. Did my best but it was such a strange experience, and I felt very unprepared. And as luck would have it, I had wrenched my back the night before, and ended up throwing it out while I was shuffling around under desks - I was very embarrassed by that!
For example:
> One of our servers needed to be rebuilt, so trying to be a team player and help, I started installing some basic packages. The senior dev on the team turned to me, straight faced and enunciated in a deep and cold voice: “don’t touch anything on it, this is my server!“
Is this because you're a junior-junior developer with an established history of fucking things up? Who has something else they should be working on? Then stay away from the guy's server.
Anyway, let me join the chorus of wondering what, exactly, is so terrible about most of these little stories. Especially when they're so vague as to be nearly useless...
I've been a developer for twenty years. I can tell you some actual stories of developers being treated poorly. They're generally a little deeper than, "Someone said something uncouth in my general direction."
Author here. Indeed I was the junior dev at the time.
I now regret not making a lot of the points clearer. In this case, I know I would definitely NOT treat my junior devs this way. In my view, using either aggressive tones, or public shaming, is not the right way to resolve things. I wish that senior dev at the time would've talked to me in a way that did not make me feel like I was worthless and intentionally fuck things up - at the end of day, most people try to do good things for their organisation, right? :)
Like, you know, yelling at someone in a meeting, swearing aggressively, etc etc.
No, this still doesn't make sense. Professionals can and should be courteous to one another. Software developers can, too.
???
"Masculine professions" are things that people do, and we can definitely challenge almost all generalizations here. Unfortunately, the person you're replying to never mentioned professions.
This behavior will eventually get you fired. It's unprofessional, demoralizes employees, and opens you up to legal embarrassment if one of the people you berated ever sues your company. I will agree that the people who engage in yelling/swearing at employees are generally male, but it's absolutely not true that this is how masculine professionals "generally"* conduct themselves at most companies.
* If you're referring to startups in particular, where a founder cult-of-personality can have a totalizing effect on employees, they are the exception and not the rule.
That said, saying "Don't touch my server!" is not at all abusive, especially if there's a history of people messing things up they have no business touching.
It makes me wonder: in case the senior dev did not disclose this policy to the junior dev prior to the meeting, what was the senior dev expecting? If no rules were communicated, it falls to the senior dev to lay them out. At the point that a junior dev does not follow a previously undisclosed procedure, why would that make the senior dev angry? The senior dev can note that the server is on his list and ask why did not the junior dev check who is responsible for the server?
Ask for permission. Failing that, ask for forgiveness. It's rude to mess with other people's stuff, or even shared property.
Imagine it wasn't a server but a conference room he decided to apply his vigilante justice to. The result may have been a positive surprise but being a junior there's also a good chance he was ignorant of the requirements and have made things worse for others.
In an ideal workplace every requirement is documented and every policy is written down and laid out to every team member. In the real world it's better to expect not to know everything -- and that's a fairly valuable lesson to take away in a junior role.
That said, the response may be blunt but it should never be angry, especially not beyond the scope of the actual intervention itself. If you're about to cause significant damage, it's okay to put that in drastic terms to make sure you stop right there. But it shouldn't be personal and it should be considered a learning experience by everyone involved.
Everyone should be allowed to make mistakes. They should just be expected to learn from them and avoid making the same mistakes in the future.
If somebody is working on a server, and you know it, it's common sense not to mess with it.
The rule can be a morning stand-up or Jira note, saying that the work is assigned to this person. At the time, developers (probably) were not accustomed to have either.
It's not that you don't have valid complaints here. It's that you've taken a huge number of examples that range from the simply ungraceful to outright exploitative, and combined them in one huge file that makes it look like you're seeking reasons for your grudges.
A good workplace isn't one that avoids mistakes and conflict. It's one where the team feels invested and supported in working through that conflict in pursuit of their bigger goal. That goal doesn't have to be some world-changing potential; it can just be doing good work, getting paid, and taking care of yourselves.
One morning before you arrive at work, junior dev Fred -- a nice kid, but definitely junior -- gets ahold of the server and starts monkeying around. It's not his job. It's not his server. And now you're either going to have to wipe the server and start fresh or get a debrief about what he has and has not done. And Fred's junior, as noted, so he doesn't always know the best way to do things (although, like many junior developers, he sure thinks he does!). So now you, senior dev, have this wild card that you just don't want to deal with because you're busy and doesn't Fred have other tasks on his plate? Why is he jumping all over your damned server?
So you snap at Fred. "Get away from that -- it's mine, not yours. Please do your job and leave me to mine."
Doesn't seem out of line to me.
Hopefully as a junior dev this person learned a couple things here. First, that they do not know everything and second think how their actions will impact the team.
Author here. This is going to attract a few more downvotes for me, but I have to respectfully disagree. Partially because the scenario wasn't quite what had happened, but more importantly, even in situation exactly like what you have just described, I would not have just lashed out on my junior colleague - to me no matter how junior they are, they are still my colleagues and they still add value. There is no reason why I need to be aggressive to them when they made mistakes.
If you are paying for the servers out of your own personal funds, sure.
But if it belongs to the company employing you, no, it's not a personal thing, it's a corporate thing.
A server purchased for your work is not _your_ server. It is a company asset. If you buy a server for yourself and your little brother messes with it, go ahead and get mad and lash out. If your business has procured a new asset, you are tasked with managing it and someone else gets in your way (junior or not), deal with it like a professional.
I completely disagree with the idea that a work box should ever "belong" to someone.
Cattle not pets, man.
Sorry if this sounds tough, but that's the way it is.
While "snapping" isn't unreasonable, the better response is more level-headed.
"I like the fact that you took initiative on something that needs doing. However, we have established ways of doing this. There may also be other things you should be doing with your time instead. If you don't, here, sit behind me and let's set it up together. And in the future, check with me before you jump into something like this."
That's the balance. Firm. Corrective. Accretive. And at the end of the process, you now have a junior dev you can trust to set up servers "your way".
Also you need to explain why this way is the established way.
Quick to the point explanations. No need to dance and coddle.
The junior dev has the right attitude (wanting to help) but if he thinks tweaking a server some else has set up is a way to help without having gotten some okay shows how green they are and have not yet attained necessary decision making skills.
I like the enthusiasm but I don't like the lack of awareness.
And you are ignoring the reality that people all have different levels of knowledge and experience -- there is no binary flip between child and adult.
People will extrapolate from their limited interactions with you, because communication is lossy. When you snap "don't touch that" they will obey "stay away from me as much as possible"
“"I like the fact that you took initiative on something that needs doing. However, we have established ways of doing this. There may also be other things you should be doing with your time instead. If you don't, here, sit behind me and let's set it up together. And in the future, check with me before you jump into something like this."”
Frankly, that does seem like the sort of response a parent might give their child when they do something wrong.
To me, it sounds like normal, human communication.
I'm not surprised it's also used in parenting.
I'd rather work in an environment where this style of communication is encouraged (as opposed to the response the author got) - wouldn't you?
no.
As the junior dev, what am I taking away from this? The core message ("I shouldn't have done that thing I did.") is crystal clear. But WHY. Did I configure it wrong? Is there some process I'm not aware of? Is Senior Dev even right, or is he just a possessive jerk? Are there other rules I don't know about that I'm going to suddenly trip over?
You can play the "figure it out" card and not "coddle" them. That's an approach, but it's not a very effective one. At the very least, tell them what to do, not what not to do.
There's a line here. I've had "busybody" team members who make life difficult for everyone else no matter what you tell them. And my patience quickly wears thin if I have to tell you more than once.
But conversely, someone who's going to twiddle their thumbs and not help because "it's not in my job description"... I don't have time for that attitude either, and I won't stand for my team making it the cultural norm.
As a senior member of a team, one of your jobs is to develop the more junior people. It is a teaching position: always. If you can't do that, or you think snapping at them "teaches a lesson", it's time to have a conversation about the "senior" in your title.
At the end of the day, we're talking about a hypothetical situation. There are exceptions to every rule, but my starting point is, "How can we make this person better?"
Why not communicate that? Otherwise you're shutting down everything, enthusiasm included. Some of this is style: my example response is pretty middle-of-the-road IMO. But there's a difference between a "quick to the point explanation" that helps the green dev develop necessary decision-making (and other) skills, and something that's the equivalent of "Hssss! My precious!"
Do you snap at your customers or bosses if they don't behave the way you want? If not: Why do you snap on your juniors?
You can easily judge the character of a man by how he treats those who can do nothing for him.[1]
[1]Various possible sources
This is a challenging post, you seem to be getting knocked around with it quite a bit here. Hang in there. As you point out in your since published comment, treat this (and all your vignettes) as a learning experience. To help start you on your path for this post, I'll offer my 2 cents.
First, try to write posts with positive messages (this one has an overwhelmingly negative tone despite your intentions). Perhaps recast the examples as learning experience. Think long and hard about the situations you describe and try to learn something. Then write a post on what you learned. Life's hard. Help others learn from your interactions (and learn yourself).
Second, keep your issues to the real ones. It's okay to make a long list like this in a brainstorming session while a post is in the early draft stage, but try to trim down the stories to a handful of substantive ones (each with a lesson and reason for being there).
In general, it seems you've been in some stressful situations (for yourself and others). People (even the most vaulted professionals) get cranky when things aren't going well - by whatever definition of well is for the context).
You do seem to believe that transparency is a fundamental right. Its not. Noble, sure, but not ubiquitous or even always a good thing. Many times management will shield their reports from the disaster unfolding above them. Some times this is a good thing. It might be very distracting if everyone had perfect knowledge. I find its very important to have a good working relationship with your manager. Understand what motivates them and deliver on the tasks you are asked to (things can get messy when you "help" others (especially at the expense of your assigned tasks)).
Much more to say, but I need to go deliver on some of my tasks now. Hang in there. Good luck. Write a second post with a positive spin on the major things you learned from this one.
Yep I can see why the negative tone is very off-putting to many people. Had I have a chance to do over I'd definitely do what you've suggested here and tackle it from the positive / lessons-learnt point of view. :)
Many thanks! :)
I wouldn't frame the issue in terms of rights, but management that hides relevant information is fundamentally dishonest and disrespectful. I wouldn't call it criminally fraudulent necessarily, but it's in the same spirit, though perhaps in a more grey area.
Which is not necessarily a bad outcome for a piece of writing.
That's exactly the point. Everyone hears this sort of thing and mistakenly infuses it with some significant meaning when really, it's just developers talking to developers.
Whether that was the original OP intention, I dunno, but it's the best lesson here.
And this attitude is exactly why women don't want to work in tech. Congrats, friend.
Author here. I'm glad there are people like you who share the same view. :)
I do admit that I haven't explained things well in my blog post, but some comments here that suggest being aggressive/rude is okay and/or justifiable as long as there's another side of the story is really an eye opener for me and I'm somewhat shocked... Is being kind and decent to another fellow coworker (and a human being for that matter) too much to ask? :\",
Provided your comment is currently grey, I suppose it is, for some people...
If someone does something that offends me, but I know after a few seconds' thought that they didn't intend to, for example they were busy or look upset for some reason, then it would be foolish to take offence.
If someone does something that is extra polite and friendly and massages my ego, but I know that they hate me and are being two-faced (for whatever reason) I might take offence.
Of course, everyone's different, but most people's theory of mind is developed to this point past past a certain age. I don't think it's absurd to take some responsibility for your own thoughts. I think it's how society hangs together.
It's absurd to never take any personal interactions personally. It's equally absurd to take every personal interaction personally.
Your argument is basically the twitter problem: stop judging people by individual statements or interactions, understand that there's an entire separate being on the other end of every conversation with concerns and experiences of their own.
> It's equally absurd to take every personal interaction personally.
Ok, which personal interactions should not be taken personally? Do you understand how ridiculous that sounds definitionally?
Use your best judgment and try to give people the benefit of the doubt (this requires practicing empathy, which is difficult). Realize most people are usually not thinking about you, because they are too busy thinking about themselves. I find it beneficial to try to act in a way that leaves the most people feeling positively (including myself).
I think it's ridiculous, and more often than not people prescribe such behavior for others but are quite comfortable taking personally that which... personally affects them. Silent forgiveness for the inconsiderate instead of numerous means of improving one's relationship with them. Telling someone that they are treating you in an unacceptable manner is, by definition, taking it personally. And being passive and avoiding such conversations is exactly how unpleasant social interactions persist and grow into a climate of alienation and dysfunction.
> You can't delineate a set of criteria for when to take a statement said to you "personally".
Sure i can. When it affects you, personally. People who disagree with me can't come up with a set of criteria. Without such a criteria, there is no justification of the attitude.
> For one thing, taking something personally isn't a binary attribute, it is far more complicated than that.
Taking something personally is binary in this way: you either ignore the personal effects a relationship has on you or you signal/take action based on those personal effects. All of the complication lies in how one proceeds based on their feelings. Mediation and conflict resolution are complicated yes. But you can't resolve a conflict without signaling that it exists and that you have a personal stake in it. That is exactly what taking something personally means.
There are large-scale social implications. People who are lower in status are told to not take it personally more often than people of higher status. When a boss is emotionally abusive, people are far more likely to excuse such behavior than if an underling is being emotionally abusive. In other words, prescribing to people to passively accept uncomfortable or harmful social interactions without protest becomes a mechanism of power. The effects are alienation, depersonalization, stress, and social dysfunction. That shit infests our society.
I also didn't say you should ignore your feelings. Personally, I make an effort to be aware of my visceral reactions when things happen, and to not let my automatic, gut reaction run away with itself. But I do want to my understand my feelings, not just stifle them.
However, I also try to emulate the mental space of the person who said the thing, and the wider impact of me speaking up, and only say something if I feel it will be received in a productive fashion and will be generally beneficial. Highly personal criticism (even when constructive) usually loses effectiveness if it is overgiven, and is also a socially expensive thing, as it often feels negative for the recipient in the initial instant. It also carries less weight when coming from someone you don't know that well or haven't built up trust with, which makes the expensive interaction to give feedback often times a waste, with little ROI.
> how unpleasant social interactions persist and grow into a climate of alienation and dysfunction
is more like someone you expect to be rude to you all the time unless you tell them not to be. If that's not going to happen, then just letting it go could be a reasonable response. There's also the fact that this is being recounted after the fact, which implies not just hurt feelings in the moment but a lasting grudge held over something most people wouldn't be bothered by, which can also be toxic to relationships.
> > You can't delineate a set of criteria for when to take a statement said to you "personally".
> Sure i can. When it affects you, personally. People who disagree with me can't come up with a set of criteria.
Fair enough. Everyone takes offense at different things. But if your threshold is set so low that interactions that most people wouldn't find "uncomfortable or harmful" are "unacceptable" to you, then any interaction with you becomes difficult, and that difficulty will drive people away and alienate you.
That's how you're coming across here, and that's why people are suggesting you try to change yourself, change the way you view these interactions, instead of just insisting that everyone else change to accommodate you. "Don't take it personally" doesn't mean "don't react to things that bother you", it means "don't let it bother you". For things that have no ill intent and don't bother most people (even when it's directed at them), that's good advice.
If you honestly don't understand how to apply this kind of nuance that is concerning and could indicate an undiagnosed psychological condition (e.g. autism spectrum) -- consider talking to a professional. But I'll try to elaborate:
Try giving people the benefit of doubt. The vast majority of people are not intentionally being obnoxious. There is a multitude of reasons someone might come across as hostile without it being something you should take personal, for example:
* sleep deprivation
* hunger (e.g. skipped a meal)
* bad posture (causing discomfort they may not even be aware of)
* physical illness (e.g. a simple cold)
* physical conditions (e.g. menstruation, indigestion)
* stress (e.g. close deadlines, financial problems, relationship issues)
* other psychological conditions (e.g. grief)
* mental disorders (e.g. depression)
* bad social skills (some people genuinely can't communicate well)
* non-native speakers (may be unaware of subtleties in tone and voice)
* language disabilities (e.g. stuttering may make them anxious when they have to talk)
Instead of judging people by singular interactions, try to recognize patterns in their behaviour.
This kind of passive aggressive, ableist bullshit is completely unacceptable.
This is worlds better than being rude. In my experience it errs a little in the other direction because it leaves the situation a little ambiguous (and thus invites more conflict) by implying that it is debatable. Especially the "if that is ok with you part"
I might try something like: "it's important that this server is configured correctly, so it would be better if I took care of it myself, I Appreciate the effort though!"
In dissecting your statement, "it's important that this server is configured correctly, so I think it would be better if I took care of it myself, if that's ok with you"
clause one is ok, but does not provide a 'why'. clause two leaves too much leeway as to whether the junior developer action is acceptable going forward. clause three is actively negative as it opens up debate for something that is not up for debate.
a proper communication would have been to take the junior somewhere away from anyone else, made sure that the tone of voice was unagressive but authorative, and stated something along the lines that, this is not a major issue but we need to have an important quick conversation, first explain that number 1 what the issue is, explain number two the underlying why, and explain what will happen go forward, make sure he understands this is not a debate, this is you giving him direction on what will occur going forward, i would give him an oppurtunity to meaningfully contribute in the future if it made sense, finally make sure he understands.
being to flimsy or wishy washy is NOT good communication
If this is a recurring problem and previous, friendlier attempts have failed already then it's necessary to rephrase the message in a clear, authoritative manner but in my experience this is very rarely, if ever needed.
The original communication does not actually communicate the underlying issue in this particular case. Its not a 'friendly' vs 'unfriendly' communication issue. Its an issue that the communication is NOT actually communicating what the intent of the message is.
The intent of the message is 'this is not your responsibility, although you intend to help you are actually making more work for others not less, do not do this or similar things again, without consulting the person who's responsibility it is beforehand' thats the message.
the way its phrased if the person is a senior he is going to understand what you are 'really' telling him in nice words. if the person is a junior he is going to think you are really entering a debate about how this should be approached, and that you need to reach consensus with him about the approach, and that although you didnt accept his contribution this time, next time or next situation this may be a reasonable way to contribute to the team.
you have communicated the wrong thing to your target audience. its bad communication. its not 'unfriendlier' to communicate directly what you actually mean and to provide clear guidance and correction to a junior.
You should have asked your coworkers why your access was revoked. Of course, they probably should have communicated the reason in advance.
The thing that gets me in large companies is backstabbing psychopaths that ritually abuse the common assumption that everyone is working together, in order to elbow their way ... somewhere.
If you work with a group of smart people who are able to selflessly say "Hey I don't know about this" or "Maybe I made a mistake there, how can as a team change the process for these decisions so that we prevent making this kind of mistake in future?" ... treasure it.
https://en.m.wikipedia.org/wiki/Rashōmon_(short_story)
Which is to say, this strikes me as a very first world problem, one sided, etc.