3 ms·
Because culture does matter, even in tech. Consider a company where social inclusion is important. That'd be a terrible culture fit for me. When debating a tec
by yummyfajitas 11y ago
Because culture does matter, even in tech.
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.
- tommorris 11y agoHow about "the experiment failed, your idea was a good hypothesis, better luck next time"? Instead of "you suck at SQL", how about "you should probably read up on the difference between GIN and GIST indexes in Postgres and maybe try out window functions - they make this problem a lot easier to solve". It seems more productive to give people ways they can improve their skills rather than tearing them to shreds just for entertainment. 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.
- yummyfajitas 11y agoIt seems more productive to give people ways they can improve their skills rather than tearing them to shreds just for entertainment. 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.
- aninhumer 11y ago>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.
- yummyfajitas 11y agoThere is also no reason why Bob can't adapt his communication to whoever is saying "your foo implementation sucks". 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.
- aninhumer 11y ago> There is also no reason why Bob can't adapt his communication to whoever is saying "your foo implementation sucks". 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.
- aninhumer 11y ago>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. 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.