I disagree with a lot of this article because it assumes that we are efficient robots that just need things to be searchable and written down. Tools are also a bit lacking -- in theory writing stuff in a wiki is useful but then try finding the information with, say, Confluence search.
The article also assumes every one is a native speaker who can write quickly and clearly in a chat -- in a lot of international projects this is not the case.
I find that there is less chance for misunderstanding and aggression if you disagree over a video call. Also, human contact and informal communication make life and working more enjoyable.
> The article also assumes every one is a native speaker who can write quickly and clearly in a chat -- in a lot of international projects this is not the case.
You think non-native speakers have an easier time communicating in real time in a video call than through text? A video call is the worst case for a non-native speaker.
(Well, OK, a phone call is even worse. But being synchronous and relying on their ability to understand the spoken language are both terrible ideas if you're concerned about what makes things easy for non-native speakers.)
> You think non-native speakers have an easier time communicating in real time in a video call than through text? A video call is the worst case for a non-native speaker.
Oh yea, I forgot about this because I don't do video/audio calls.
A non native speaker is NOT exposed to spoken english daily. In some countries they even dub Hollywood movies so not even their entertainment is in english. And where movies are subtitled you tend to read the subtitles so you don't bother understanding accents, speech over explosions and stuff like that.
Written english is another thing, if you do programming. There's no point of looking for docs in your native language; the originals are in english and always more up to date.
So maybe the non native speakers have trouble because the OP speaks too fast / has an unfamiliar accent?
>because the OP speaks too fast / has an unfamiliar accent
Here's an unpopular opinion by a hard-hearing person with native English skills: the far majority of people are really bad at verbal communication as a way to transfer knowledge. Doubly so in complex areas. To top it off, I see barely any difference between people in roles that require speaking often and those who don't, except for frequent public speakers.
The reasons? Bad articulation. Speaking too fast. Speaking before you know what you want to say. Complicated explanations. Muttering "uh", "ah" and more. Diversions. The list goes on.
And it's not like the information on how to be a better speaker isn't out there. I can assuredly say the average person in a leadership position doesn't even take 5 minutes of their work day to do vocal exercises. That alone already helps a lot.
Meanwhile, people making informative videos and talks out of their own accord are much easier to hear and understand. The difference is night and day.
I am not a great communicator. I talk too fast, don't articulate my thoughts, start talking before the other person is finished (though I have a pet theory I picked up this habit from my first high-paced tech job working across 9 timezones with Indians =p ).
I am constantly trying to work on this part of myself-for both myself and others' benefit-but have to be careful to not get too anxious about trying to fix my communication.
I really appreciate this comment because I've found that when I talk to (close) friends about this challenge they do not consider communication something that can be much improved; communication style is mostly rigid. This baffles me because it seems like it would doom most bad communicators to a lifetime of bad communicating. This might be exactly how life works, I admit, but its an interesting way of getting to this obvious point.
Where do you recommend someone like me go to learn more about those vocal exercises you mentioned. That does seem like a great starting place.
I'm attending a series of lectures on project management, and the first one was great. I mean, it didn't contain any earth shattering information, but it was paced perfectly.
The second one was surprising by comparison, because while it wasn't that bad, it illuminated all the things that were spot on in the first one. For instance, it was just a little too fast for me to easily type everything on the slides as notes, which I think is approximately the pace at which I absorb information. At the same time, there was too much redundancy and filler so I tended to get lost figuring out where information should go in my outline.
If someone is otherwise a good and prepared speaker, a heavy accent can be adjusted to.
Go a little slower and prune the verbiage a little more seem to me like principles to come back to.
Apart from what you say about exposure (which is true), I'd say that written English is much easier than spoken English for most (if not all) native speakers, for several reasons:
- If you don't understand a sentence the first time, you can read it twice (or as many times as you want), and this very often helps as a non-native speaker - sometimes you misinterpret a word and this throws you off, but reading the sentence again clears the misunderstanding. It also can help deducing the meaning of an unknown word from context, etc. Of course in a video call you could ask the speaker to repeat, but this isn't functional if you do it often, and can make the non-native speaker feel ashamed of slowing the conversation too much, especially in work environments.
- This one only applies to related languages, but it's much easier to deduce the meaning of written words from other languages. Take the word "subtitles" in your text. Any Spanish speaker could infer that it is equivalent to "subtítulos" in Spanish, because it's spelled very similarly (Levenshtein distance = 2). But the pronunciation (/ˈsʌbtaɪtəls/ vs. /sub'titulos/) is very different (Levenshtein distance = 5).
- If you still don't understand a word, you can look it up. Or even hit Google Translate. Good luck with that in a video call.
- Written language is reasonably standard. While there can be some regional variation (color/colour, lift/elevator and so on); you get rid of all the diversity of accents which can be a huge deal for a non-native speaker.
Seriously, speaking as a non-native English speaker (at a quite good level now that allows me to speak quite comfortably, but obviously I went through all the stages of learning...) the difference between texting and phone/video calling when you're a non-native is enormous. The latter is like an order of magnitude more difficult.
> But the pronunciation (/ˈsʌbtaɪtəls/ vs. /sub'titulos/) is very different (Levenshtein distance = 5).
Levenshtein distance between conventionalized IPA orthographic representation is not a useful metric for the perceptual difference between two spoken sound sequences.
> Written language is reasonably standard. While there can be some regional variation (color/colour, lift/elevator and so on); you get rid of all the diversity of accents which can be a huge deal for a non-native speaker.
This problem actually comes up in writing too; I knew some Chinese students who were really offended by English typos. They had a point - lacking the pre-existing knowledge of English that lets me know what a typo was meant to say, they just had no way of finding out what a misspelled word was supposed to mean. You can't look up words that don't exist.
> Levenshtein distance between conventionalized IPA orthographic representation is not a useful metric for the perceptual difference between two spoken sound sequences.
I know. Just wanted to provide some metric for the quantitatively-minded, and because the example is hard to follow if you don't speak Spanish or read IPA, and I don't know any least bad quantitative metric. But qualitatively speaking, I can tell you that inferring the meaning of that English word from the written form is obvious even to a Spanish person with zero English knowledge, while inferring it from the pronunciation it's very difficult. And it's just an example, but it happens with many words.
> This problem actually comes up in writing too; I knew some Chinese students who were really offended by English typos. They had a point - lacking the pre-existing knowledge of English that lets me know what a typo was meant to say, they just had no way of finding out what a misspelled word was supposed to mean. You can't look up words that don't exist.
It can come up, but still, the normal frequency of typos is much, much smaller than the frequency of accent-specific pronunciation variants, which typically change several words per sentence. And with Google you can look up many light typos and it will come up with the correct form (although not things like using "of" instead of "have", of course).
I work as a non-native speaker in Korea. Speaking and listening is just insanely harder than reading and writing. I can be productive as long as I'm exchanging messages on Github/Messenger, but meetings are horrendous.
I have the opposite problem here in Japan. I can listen and speak pretty well, even in meetings, but written stuff kills me because of all the kanji...
And both of you should blame distributed work for this? For opposite reasons? You simply know spoken Japanese (much) better than written, while the poster above you knows written Korean (much) better than spoken.
A non native speaker wasn't born in an English speaking country, the rest are your assumptions. I'm non native and I'm exposed to and speak english every single day, and don't even live in an English speaking country.
Local customs may vary? I'm not a native speaker either and I do mix English and my native language even when speaking. I'd still say my spoken English is significantly worse than the written one.
I grew up in a bilingual en/fr environment. I mostly read in English and watch TV in English. Half of my ex partners are Anglo.
And yet, on calls where I'm the only non-native speakers, and others are American or AU/NZ, I just don't understand half the cultural references and can't say anything because they talk too fast and interrupt all the time. At best, someone might notice that I am frowning or bored.
Regardless whether text or video, some people are not there to listen to others. No easy way out of that one :)
Phone calls are better, as no one can see the group on the other end looking at each other in bemusement (if in a meeting room) or in a group IM chat (if not all in the same place) asking each other what the hell the speaker is talking about (was talking about, as the speaker's often moved on). That's assuming anyone not interested has not taken a bathroom break.
Sarcasm I hope detected.
Speaking in an international environment is a skill. It's not just about (I think the term is) paralinquistics (speed, accent, volume, etc), it's about thinking about who else is in the conversation.
> I disagree with a lot of this article because it assumes that we are efficient robots that just need things to be searchable and written down.
It assumes no such thing. If anything it assumes the opposite of your assertion, that we are not perfectly efficient robots able to instantaneously and fully recall the content of transient discussions. Written content is perennial and searchable, so it can be retrieved in the future if necessary without being limited by human foibles and memory.
Even if the search is bad and the system is not especially designed for it, I regularly manage to find information I dimly recall through search in discord and friends, something which would be entirely impossible using video calls. IME that is in fact a regular issue, people asserting that things were told during discussions and there's no way to confirm it, have context, … because the discussion was a voice / video call.
> The article also assumes every one is a native speaker who can write quickly and clearly in a chat -- in a lot of international projects this is not the case.
Have you been in that scenario, ever? Video calls are infinitely worse than typed text between non-native speakers. And if the call is not going to be in english… why would the written communication be so?
> I find that there is less chance for misunderstanding and aggression if you disagree over a video call.
I find that there are regular shouting matches over video calls, and collisions between speakers makes the experience miserable. It's also impossible to dive in and out and recover the information, if you arrive on a group discussion midway you can read the history, if you dive out for a bit you can read what you missed. On a video call, it's gone.
> Also, human contact and informal communication make life and working more enjoyable.
If there are "regular shouting matches" going on in any form of meeting then I would suggest the organisation in question has cultural problems way beyond the communication tool being used.
Have you been in that scenario, ever? Video calls are infinitely worse than typed text between non-native speakers. And if the call is not going to be in english… why would the written communication be so?
I am in this scenario every work day as a non-native speaker. I much prefer talking to people than trying to get the text correct.
I'm also in that scenario everyday with other 3 non native speakers from different countries, text is preferred unanimously. Tbh, that's the first time I encounter a non native speaker software engineer who prefers video calls.
While there may be some people who don’t enjoy human contact, I think it’s a little unfair to suggest that this is some kind of idiosyncratic preference of the original poster. It’s a basic human need. Most people who work full time will want to have some kind of social contact within working hours.
It was not clear from your post that you were referring to video calls rather than human contact in general. Here is the part I was responding to:
>> Also, human contact and informal communication make life and working more enjoyable.
>To you.
I think the vast majority of people would prefer having social contact via video calls to the alternative of having no social contact or having it only via text chat - yes. But I was not talking specifically about video calls.
> I think the vast majority of people would prefer having social contact via video calls to the alternative of having no social contact
I believe that too, but for me at least, video chat is for chitchat and banter and text chat for everything, including substance. This is the same for in person; I enjoy going with clients and colleagues to coffeeshops and bars, but we don't get much done in either (in bar, if with techies, actually more than you would think) but it is nice for the human contact.
> I think the vast majority of people would prefer having social contact via video calls to the alternative of having no social contact or having it only via text chat
Cursory evidence - namely, your up-versus-down-votes on this and the GP comment (both currently gray) - suggests that said majority is not really all that vast.
I think threads like this tend to end up with a specific subset of people reading them and weird voting patterns. Let’s look again at the point I was responding to:
>> Also, human contact and informal communication make life and working more enjoyable.
>To you.
Present the second statement to anyone outside a certain subset of HN readers and they would just sigh and shake their heads. But on HN we can actually have lengthy debates about whether or not humans are indeed social animals!
The votes are pretty even, incidentally. My comments have been alternately positive and negative.
It's also implying that you do need to train a bit to work efficiently in a distributed team.
> The article also assumes every one is a native speaker who can write quickly and clearly in a chat -- in a lot of international projects this is not the case.
These are two different things. Native speaker is one, having the skill of writing quicky and clearly is another. They're unrelated. Both are trainable. Not to mention that in my experience it's the native speakers (of English i guess?) have the worst spelling :)
> Also, human contact and informal communication make life and working more enjoyable.
And... informal communication has to be in a video call? It can't be in writing?
As for the human contact, I do recommend having a social life outside work. Distributed or not distributed work.
Source of statements: been working in distributed teams for 20 years, not since this pandemic.
And... informal communication has to be in a video call? It can't be in writing?
On video calls and in meatspace, you get to see peoples facial expressions, their smiles, they can move their hands and make gestures. I much prefer that to text.
As for the human contact, I do recommend having a social life outside work. Distributed or not distributed work.
You are correct but, personally, I think spending 8 hours a day without seeing faces is too much.
We work with people from all over the world, most not native speaking. For technical stuff, in our experience, voice or video calls are the most inefficient thing possible. Because spoken bad English is far worse than written, a lot of people have less than optimal internet bandwidth and latency and, worst, after the call the details are kind of lost. So first writing the main points in chat, if then some people (usually this is 1 person) want a call, we do a call and then flesh the details out over chat and in docs/wiki.
Informal comms is also via chat; far more so then in video as, because of the overchatter and bad connections, jokes and quips get lost far easier.
Ymmv of course but we avoid vid/voice like the plague, so far it hurt us with large amounts of miscommunication and time loss.
By the way, been doing this and like this for 25 years now.
> in theory writing stuff in a wiki is useful but then try finding the information with, say, Confluence search.
If the company/team wiki isn't organized to optimize for browsing to relevant documentation, then you might as well use google docs (which excels at search and is terrible for browsability).
A reasonable percentage of effort documenting something in a wiki should be devoted to making sure that people actually can find it, otherwise you're in cleaning-closet-in-disused-bathroom territory.
> I find that there is less chance for misunderstanding and aggression if you disagree over a video call.
If you put me in a video call with someone not more or less capable of communicating in our chosen common language I can practically guarantee that I’m going to want to murder them.
There’s nothing worse than sitting on a long call waiting for someone to finally understand what button you want them to click. Even better if you have 500ms delay too.
500ms ? you have it lucky , try 2000ms next time for real frustration. Bonus points if you can hear yourself back unless the recipient is muting him/herself
The assumption that text is always superior to a sync conversation is too strong. Often you get the crucial bits by interrupting someone mid discussion and asking for specifics.
But you can do that in text too.
I mean if it's wall of text dump, no; but if people keep their chat blocks short, then it's a two way convo. (or more)
it routinely eats up close to 4 GB of RAM, which in my case is an entire VPSes worth and costs me about 60 Euros a year
You are absolutely correct that running other peoples Ruby code is expensive. I would argue similarly for Java because of the high RAM requirements.
However, if you are a company developing your own software, if you use a more productive technology and it spares just 1 programmer then you have paid for a few hundred VMs and running costs become insignificant compared to labour costs.
This is an argument in favour for both Rails and the Java monsters.
I'd like to point out that every one of the "correct" examples is longer, sometimes much longer, that the "wrong" example preceding it.
I've found that I usually start with the "correct" way and end up regressing to the "wrong" way as more and more work piles up, stress builds and deadlines approach. I guess the "correct" way only works if the organization actually prioritizes it and gives reviewers the time to do it the "correct" way no matter what stage the project is in.
The same situation in many developing countries around the world. The local taxi cartels have been using lobbying and outright violence to keep ride-sharing services away / banned.
>Isn't this impossible because some schema changes require data migration?
In the most general case, sure - although there are workarounds for some specific cases (e.g., including previously-known-as names in the declarative schema to allow automatically planning renames). But 99% of the time, you're adding and removing tables and columns in a way that's very well defined. This is one of those areas where the best solution is to legislate away the hard problems - a tool that covers 98% of schema changes automatically (the provably safe ones), and then fails/requires a human to approve the last 2% is still dramatically better than having humans manually write and sequence change plans all the time.
Data migrations will require human effort, but you can sequence the changes and isolate the parts that need different kinds of work. If you're changing a string to an integer, for instance, you can make it clear in your change history that you (1) add the new column, (2) start dual writes, (3) backfill, (4) move readers to the new column, (5) stop the dual write, (6) drop the old column. You can do that with checked-in migration code, but think about what you end up with at the end - with imperative migrations, you have the clutter from all of that history; with declarative schema definitions, you just have the final state, just like how it works for code.
Declarative schemas also usually come with nice ancillary properties - for instance, they can give you automatic rollbacks, because you can pack up the whole schema definition as a static artifact.
>Why not use a dedicated and feature rich queue such as Rabbit MQ or, if you want to get really fancy, Kafka?
Atomicity. It's really, really powerful to be able to write a row and send or receive a message as a single exactly-once transaction. Imagine a queue of events. The writer writes the event data, and sends a message as a notification that it exists; the consumer will keep some sort of aggregate (count, filtered total, etc.). With a separate queueing system, you have to explicitly manage the timing and error cases bridging different atomicity domains, usually reimplementing some sort of idempotency log on your own. If it's all in one place, you just write a transaction that reads the old value, consumes the queue message, and writes a new value.
I'm doing a project perhaps relevant to this. Talk of declarative schemas (or what you imply they offer) is very interesting and I'd like to know more but I can't find anything relevant (just magento and sqlalchemy). Indeed, searching for <<<"Declarative schemas" "sql">>> in google gets this very thread on the first results page.
Any links to clear, actionable and reasonably comprehensive examples of these would be most helpful. Obviously abstract statements of the required semantics are also needed, but I also need to see what actual code would look like.
Magento (the new XML-based version, not the old create/update/revert-script version) gives a lot of these properties. Making it part of the database instead of a third-party tool would be better, though - it lets you cover more features, and with deeper integration you can get transactional updates and history logs.
> Why not use a dedicated and feature rich queue such
> as Rabbit MQ or, if you want to get really fancy, Kafka?
If your queue is in the same database as your data, you can do "ack message/mark job as complete" and "commit result of job to database" in the same transaction. That simplifies a lot of the harder parts of things like materialization pipelines or BI systems.
The article also assumes every one is a native speaker who can write quickly and clearly in a chat -- in a lot of international projects this is not the case.
I find that there is less chance for misunderstanding and aggression if you disagree over a video call. Also, human contact and informal communication make life and working more enjoyable.