Stream: gotime

Topic: 332: "Founder Mode" at work when you're not a founder


view this post on Zulip Logbot (Sep 24 2024 at 19:15):

Tech twitter ("tech X"?) is abuzz with Paul Graham's Founder Mode essay. How does that affect you or come into play when you're not a founder? Does it matter at all to you, your projects & your code?

:link: https://gotime.fm/332

view this post on Zulip Chris Glaubitz (Sep 26 2024 at 13:08):

Spicy... Only people whose native language US English is, should write (about) Software :P

view this post on Zulip René (Sep 26 2024 at 14:27):

i pick up your spice and add:

Only people with 2 conversational languages and a passport should claim such a thing!

:flag_austria:

view this post on Zulip Chris Glaubitz (Sep 26 2024 at 15:06):

I think that was the very first unpop where I thought... well, that's really going to be unpop... at least in all-but-one-country in the world :big_smile:

view this post on Zulip Chris Glaubitz (Sep 26 2024 at 15:17):

And I was reminded of some old episode. Matt said something like: Thank you for correcting my correct English into incorrect English.

view this post on Zulip Maroš Kučera (Sep 27 2024 at 07:00):

I remember that one. It was about the pronounciation of beta :big_smile:

view this post on Zulip Matthew Sanabria (Sep 29 2024 at 03:36):

I really liked Kris' unpopular opinion and general stance on using accurate vocabulary in this industry. I'm aware that not everyone speaks English or learned English as a primary or first language. Kris didn't say that only people that know English well should write software, but rather than people should make more of an effort to look up the definitions of words and use the correct words to describe things. That's true of any language one is writing in. English just happens to be the ubiquitous language for software.

I understand people are busy and may not have time to correct their writing but I too would like to see more of an effort for clear communication. Too many acronyms and words used in the wrong context. I've seen it confuse people and I've been confused by it.

view this post on Zulip Matous Michalik (Oct 10 2024 at 22:42):

I would like a episode called “spice with Kris”, his rants are work of art. He clearly has a material for at least a full episode. And yes by his standards i should not be allowed to write software with my terrible english. But whatever he isn’t running the world.

view this post on Zulip Brian Buchholz (Oct 12 2024 at 14:52):

Kris's rant was interesting, but I have to disagree! (I guess that's the point of an unpopular opinion, right?)
My interpretation of his stance: he thinks we (software engineers) are terrible at naming things, which causes unnecessary confusion. He claims not just that our naming is poor, but that it's incorrect English, and his primary example is the usage of "asynchronous", "concurrent", and "parallel", which he claims are completely wrong and inconsistent with common English language definitions.

Firstly, I don't know if the software industry is any better or worse at naming things than other industries (think of all the incomprehensible jargon in legalese, and there are plenty of lawyers with liberal arts degrees!), but I do take issue with the example of "asynchronous"/"concurrent" being "just wrong" English.

"Asynchronous" is commonly used in contrast to "real-time" with respect to communication: A phone call is "real-time" (or "synchronous"), while email is "asynchronous". This is not a software engineering idiom, it is common English usage.

So Bob can send Alice an email. Alice can respond whenever she wants, and while Bob waits for a reply, he can do other tasks like read a book. This is "asynchronous" communication, in the software-sense and in common English.

Confusingly, "concurrent" is technically an *antonym* of asynchronous, but this is NOT a contradiction. It just depends on what you are describing in relation to what. In the example above:

So the communication is asynchronous, which enables Bob and Alice to do other tasks concurrently.

In this framing, it makes pretty good sense to me why JS functions are called "async" and how they can be used to achieve "concurrency". Ultimately, these are complex and nuanced topics. It takes experience to grok them, and I think if we consulted all the top English majors in the world to come up with better names, there would still be confusion (maybe even more so :sweat_smile: )

To the larger point: yes, communication is hard, and probably a lot of engineers could do more to develop this skill. Relevant context and precise language are always better. You can't just say "implement this async" without any context and expect 100 other engineers know what it means, but that's true of almost any phrase used out of context.


Last updated: Apr 04 2025 at 01:15 UTC