Skip to main content

Selective Memories

I recently read the New Yorker's piece on procrastination, and what resonated the most was the amazing complexity of Indian bureaucracy that prevented George Akerlof from even attempting to mail a package of clothes back to his friend in the States. My life over the past month has been an endless string of dealing with such bureaucracies and inefficiencies in Korea, and I can fully sympathize with Akerlof just giving up and not even trying. Bureaucracies in foreign countries are really complicated to deal with, even for seemingly simple things. And what I've noticed more and more is that almost everyone I talk to has an extremely selective memory about how to accomplish tasks. Most people like to say, "Oh, it's easy, you just go to so-and-so and it's done."

Oh really?

I remember back in middle school science class (or was it elementary school? or was it repeated in an intro math or cs class in university? hmm....) having an assignment to write instructions for preparing a peanut butter and jelly sandwich. A lot of people started with something like, "Put peanut butter on one slice of bread and jelly on the other and make a sandwich with them", to which the teacher would start to point out all the things missing with the algorithm. Where do you get the bread from? Which side of the bread do you put the peanut butter and jelly on? How do you spread it? How do the slices go together? What do you do after the slices are happy married in peanut butter and jelly bliss? The point was to get the students thinking critically about all the steps that are actually involved in accomplishing something.

Well, apparently most people didn't take that class, because the majority of people tend to be either lazy in conveying information or blissfully forgetful of how to actually accomplish things involving bureaucracies. Consider the case of mailing a package internationally. "Just go to the post office - it's really easy." Okay. Where's the post office? When is it open? How do I search for the post office locations and business hours? How do I get there? Where can I buy a box and packing tape? How do I fill out a customs form in a foreign language? Etc. These sorts of things require huge amounts of inertia (and probably half a day) for people unfamiliar with the country, and that inertia is often enough to cause complete paralysis of activity.

This sort of thing used to bug me to no end at Google, too. Many engineers assume that everyone else can fill in the details about how to do something, but often those details require intimate knowledge of their systems, and that knowledge is never documented. The coworkers I enjoyed working with were the ones who could anticipate what other people wouldn't know and send all of that information in their initial response (or politely provide help when requested), and the ones I hated working with were the engineers who would leave out huge, incredibly important steps, and then get annoyed with follow-up questions.

The ability to anticipate what others know is an extremely important skill, and one that most people are not very good at. If you want to improve your ability to communicate, this is a great area to work on.

Comments

Popular posts from this blog

Why Korean Is Hard For Native English Speakers

A couple of days ago, as an experiment, I wrote my first blog post ever in a non-English language . It was an attempt to explain some of the reasons that Korean is hard to learn for native English speakers, so I figured I might as well try to write it in Korean. Those of you who actually read Korean can see how awkward the attempt was =). In any case, the post came from an email conversation I had with The Korean from  Ask a Korean , a fantastically well-written blog about all things Korea from the perspective of a Korean who moved to the United States during high school. Since I tend to geek out on language things, I figured I might as well post part of that conversation. An edited version follows. --------- Out of the languages that I've attempted to learn so far, Korean has been the hardest. I've done a lot of meta thinking about learning Korean, and I think there are a number of reasons it's difficult for non-Koreans (and especially Westerners) to learn: 1) Obvi...

10 other things South Korea does better than anywhere else

Recently this article about 10 things that South Korea does better than anywhere else  has been making the rounds on social media, but when I first read it, I couldn't tell if it was sincere or satire. A few of the items on the list are not very positive, such as "overworking" and "using credit cards". So, I thought I would try to put together a better list. Here are 10 other things South Korea does better than anywhere else: 1) Small side dishes, a.k.a. " banchan " (반찬) Banchan are by far my favorite aspect of Korean cuisine. Rather than the "appetizer and main dish" approach of the West, a Korean meal is essentially built around small dishes. Even a 5,000 won (about $5 USD) meal at a mall food court will come with two to four banchan in addition to the "main", and often people will actually choose restaurants based  on the banchan (e.g., seolleongtang , or beef bone broth soup, places tend to have the tastiest kimchi). Ther...

Pushing Python Performance With Parallelization

TL;DR: For certain types of programs, you can take advantage of idiosyncrasies in the Python interpreter and the host operating system to create real shared memory between processes and get some pretty good parallelization. Premature optimization is the root of all evil. As a developer, you've probably heard this before, and what it means basically is that you shouldn't waste time optimizing code unless it's already doing what you want it to do. We also live in an era of seemingly unlimited resources with AWS/Google Compute, and often the easiest way to get higher throughput in your programs or service is just to pay for more instances. But sometimes it's fun to see what sort of performance we can get on a simple laptop (and save some cash at the same time). So anyway ... I've been working on this thing, and it took too damn long to run, and I needed to run it lots and lots of times ... so, it was time to optimize. Basic optimization has two main steps: 1) P...