Why not hire the best engineers you can find and then let them define the culture of the company? People who have a hand in defining the culture of their team/company tend to be more motivated and invested in it.
Why not hire the best engineers you can find and then let them define the culture of the company? People who have a hand in defining the culture of their team/company tend to be more motivated and invested in it.
Consider a company where social inclusion is important. That'd be a terrible culture fit for me. When debating a technical choice, I'll say "do we all agree to run X experiment, outcome Y => choice A, outcome Z => choice B? Then we can all STFU and stop arguing." In the happy/social/fun environment, this is terrible. The promoters of B might feel unhappy, harming team cohesion, and that could be more important than 10% lower latency.
On the flip side, consider the confrontational "put up or shut up" environment I tend to prefer (and create). In this environment, "you suck at SQL" is just a factual statement that you can choose to remedy or not. Some folks really don't like being told "experiment failed, your idea is wrong, be smarter next time". Even if they are technically competent, they need a form of social interaction at work that they don't get.
There are a variety of cultural dimensions like this that matter. Another is implicit vs explicit - whether you can navigate implicit job responsibilities or they need to be spelled out. Much as we'd like to act like we are just machines taking money as input and code as outputs, this stuff does matter.
You can have an environment that is driven by good engineering (testing assumptions, measuring etc.) without people being outright insulting to one another. All it requires is, oh, minimal human empathy and a willingness to spend 10-15 minutes every so often explaining unfamiliar concepts to fellow team members who haven't fully grasped it.
That's a valid elaboration focused on a single specific instance.
It doesn't mean that "you suck at SQL" isn't also a valid critique. For example, while GIN/GIST indexes will help them solve this problem, what that person may need is to actually just learn a lot more about SQL overall (rather than just one specific trick). "You suck at SQL" isn't a thing that's valid (read: correct) to say to someone just because they don't know about a window function. It's a thing that is valid to say when a person repeatedly demonstrates fundamental misunderstandings of SQL on many occasions.
It's also useful information. I've been told that I suck at UI, repeatedly. I accept and internalize this fact. As a result, while I do sometimes think about customer experience, I very rarely push hard for a specific UI or worry too much about details. I'll suggest that maybe a UI is confusing and they should hallway test it and then afterwards do nothing but insist that we abide by the test results (whatever they were).
Based on the mood affiliation of your comment, it sounds like you dislike this sort of interaction. You prefer something with more "empathy" and less "tearing them to shreds". That's exactly what I'm talking about when I say culture matters. You'd probably hate being on my team and I'd probably hate being on yours, even if we are both highly competent devs.
This shouldn't be a matter of team culture. Socially mature people should be able to adapt their communication to different people's personalities without any difficulty. There's no reason you can't say "Hey Fred, your foo implementation sucks." in one breath, and "Hey Bob, this bar implementation might be a bit better if you looked into baz." in the next. And I'm not sure why you find the latter so unpleasant.
Culture is a set of prevailing norms about which group of people are the ones who should adapt. In some cultures it's Fred who adapts, in others it's Bob.
Let me emphasize that I'm not advocating that one culture is superior. Bridgewater is a highly successful "you suck here's why" culture, Shutterstock is a highly successful "lets all think about feelings" culture (to name two NY companies known for culture), and I don't think either would be improved by making them more like the other.
I'd just be far more willing to work at Bridgewater (at least if they opened a NYC office - who wants to go to CT) than at Shutterstock.
And I'm not sure why you find the latter so unpleasant.
I find it to be an exercise which saps my mental energy and distracts me from increasing shareholder value. The less I think about feelings, the more I'm thinking about getting more sales for my customers.
I'm not sure why some people find open office plans so unpleasant. But I accept that some people really don't like them and I have no problem if companies choose private offices to appeal to those people.
Except that it's a lot easier to not say "your work sucks" than it is to not feel upset when someone does. And most people will indeed adapt over time, so it's a pretty silly reason not to hire someone.
>I find it to be an exercise which saps my mental energy and distracts me from increasing shareholder value.
The thing is, I don't feel like I need to actively think about people's feelings to not say "this sucks". I just do it naturally in response to different social contexts.
One reason to avoid hiring people who don't fit the culture is to avoid entryism. If a group allows just anyone to enter, the newcomers may gain power and destroy the original culture. This is particularly true if a culture is significantly outside the norm.
For example, witness Github's transformation from flat hierarchy and meritocracy to traditional corporate hierarchical politics: http://danieltenner.com/2016/02/06/github-the-quiet-death-of...
The thing is, I don't feel like I need to actively think about people's feelings to not say "this sucks". I just do it naturally in response to different social contexts.
I don't need to actively suppress negative feelings when people give me factual feedback. It just happens naturally. People are different.
If I'm interpreting your posts right, it sounds like you feel your personality profile should be privileged over others and that all organizations should adapt to suit you (leaving me unable to find a place that suits me). Perhaps I'm wildly misreading you and interpreting differences in mood affiliation for differences in beliefs? Could you clarify what you are advocating for?
What I mean is it's easier for you not to say "sucks" than it is for them not to feel upset. Speech is active, but emotions are passive.
>I don't need to actively suppress negative feelings when people give me factual feedback.
I have no problem with merely "factual" feedback. What you're talking about goes beyond the facts to put a negative and personal spin on it. Moreover, it suppresses the actual facts ("this SQL is bad because...") in favour of that negativity.
>If I'm interpreting your posts right, it sounds like you feel your personality profile should be privileged over others and that all organizations should adapt to suit you
I think the personality trait of "upset by strongly worded negative language" is incredibly common, so being able to communicate with people who share it is part of basic social literacy. To me, your saying it's too much effort sounds like those people who say using correct spelling and grammar is too much effort. If you can't do it without thinking, you should learn, because it's a widely applicable skill.
Moreover, it suppresses the actual facts ("this SQL is bad because...") in favour of that negativity.
Or it suppresses the actual facts because I didn't feel like writing a longwinded example. "Too few examples" and "too little detail" is a critique people rarely make of me.
I think the personality trait of "upset by strongly worded negative language" is incredibly common, so being able to communicate with people who share it is part of basic social literacy. To me, your saying it's too much effort sounds like those people who say using correct spelling and grammar is too much effort. If you can't do it without thinking, you should learn, because it's a widely applicable skill.
I have learned - anyone outside the mainstream has to. But I think you underestimate the effort that it takes to adapt to a culture or way of thinking alien to your own.
But that's not the question here. The question is whether it's acceptable for a group of people with non-mainstream tastes to build and protect a culture where their preferred modes of interaction are the default, and to prevent others who might change that culture from entering. I get the impression you are saying it isn't. Is my impression correct?
I believe you are probably right that 80% of people think like you and 5% think like me. I don't believe that this implies that 100% of organizations should cater to you. On the contrary I think if you don't like my organization with a niche culture, it should be very easy to find a more feelings-driven organization and shift to it.
Funnily enough, I recently outlined the reasons here (applicable specifically to those with hearing loss as well as everybody else), with reference to a whole range of scientific studies. https://tommorris.org/posts/9403
Completely disagree. "You need to learn more about SQL" communicates the same information without the gratuitously negative tone.
> You'd probably hate being on my team and I'd probably hate being on yours
It's pretty clear that I would hate being on yours, but I'm not so sure you'd hate being on mine. It is possible to communicate directly and effectively about technical matters while still being courteous and professional. As team lead I strive to set this tone, in large part by being open to criticism about my own work.
I don't think anyone competent wants to be on a team that makes bad technical decisions for the sake of people's egos. If someone has hard evidence that choice A is better, but is unable to communicate that in a way that doesn't harm team cohesion, then I'm inclined to say they must have pretty poor social skills.
All you have to say is something like "I understand your reasons for expecting choice B to be better, but I'm afraid this evidence shows otherwise." instead of "experiment failed, your idea is wrong, be smarter next time". Especially since, if you needed an experiment to work out the correct solution, then predicting the wrong outcome can't have been particular stupid.
>In this environment, "you suck at SQL" is just a factual statement that you can choose to remedy or not.
Maybe it's "factual" in some sense, but aside from being unnecessarily harsh, it's also pretty vague. A more useful statement is "Your SQL experience doesn't seem to be sufficient for this task". (EDIT: What I'd actually do first in this situation is ask them how confident they felt in SQL, giving them chance to save face by voicing the criticism themselves.) Of course ideally, you have an environment where this person felt comfortable saying "I don't have much SQL experience" at the time they were given the task.
EDIT: Also, to be clear, I don't think everyone has to talk like this. If two people in an office are happy to trash talk each other, that's fine, just as long as they can change gears when talking to less confrontational people.