The main instinct of the encoder is to eliminate ineffective solutions from everywhere

Original author: Clive Thompson
  • Transfer


Adaptation of a passage from a book by Clive Thompson " Encoders: creation of a new nation, and recreating the world "

Shelly Chen worked as a business analyst in the company's computer, when in 2010, she met with Jason Ho through mutual friends. Ho was tall, slim, and had a sly smile, and they immediately found a common language. Ho was a programmer, and he had his own company in San Francisco. He also loved to travel. Less than a month after meeting Ho, Chen surprised Chen by buying a plane ticket to meet her in Taiwan, where she temporarily moved. Soon they were already discussing a joint trip to Japan for four weeks. Chen was a little worried as they were not so familiar. However, she decided to try her luck.

It turned out that Ho had a very tough and strange route plan. He was very fond of ramen noodles , and in order to try as many of its options as possible while visiting Tokyo, he put together a list of all the noodle towns and displayed them on Google maps. Then he wrote a special program that ranks restaurants so that the couple can visit the best restaurants while visiting attractions. He said that it was a “fairly traditional” task for algorithms, a type of what people learn in college. Ho showed Chen the card on his phone. He said he planned to take notes, noting in detail the quality of each dish. Wow, she thought admiringly, albeit a little suspiciously. “And the guy is a little of that.”

But Ho was also witty, well-read and funny, and the journey was a success. They ate noodles, drank beer at a sumo match, visited the Emperor’s Palace, stayed at a hotel where they filmed “Translation Difficulties”. This was the beginning of a seven-year relationship.

Ho has been doing odd things like noodle optimization for many years. As a child, he lived in Macon, Georgia, and he had a TI-89 calculator, as he told me. Once he leafed through the instructions and found that on the calculator it was possible to write programs on one of the BASIC variants. As a result, he learned to program and recreated The Legend of Zelda on a calculator. He learned Java on a computer and after school went to the Georgia Institute of Technology to study computer science. In principle, he was interested in abstract concepts of algorithms, but most of all he liked to use a computer in order not to do repetitive routine things. “Every time I had to repeat something, I got bored,” he told me.

In his final year of college, Ho founded a company that made forums where students studying the same courses at different colleges could consult with each other. The company did not recruit a sufficient number of users, and it closed it. He was invited to interview companies such as Google and Microsoft, but he was not interested there. He did not want to work for his uncle. It seemed to him that as a hired employee, he would not create something valuable enough. Yes, of course, at such a place you get paid. But most of the cost of labor goes to the creators of the company, its owners. He had enough skills to create his product from scratch. He just did not know what exactly to create for him.

A few months later, he had an idea when he was visiting with his parents in Macon. He and his father, a pediatrician who had his own practice, went to the supermarket. Father needed to buy two registrars of the time of arrival and departure of employees - such old-fashioned cars where employees insert cards so that the machine records the beginning and end of their working day. In the store, this car sold for $ 300 apiece.

Ho was amazed: has the technology of registrars not changed since the Stone Age? I can't believe such things still exist, he thought. He realized that he could quickly bungle a site that performed the same task, only better. Workers can check in using their phone, and the site will summarize their hours automatically. “Don't buy a registrar,” he told his father. “I will program it for you.” Three days later, he introduced the prototype. The staff began to use it, and, to Ho's delight, were delighted. This system turned out to be much more efficient than the registrar working with pieces of paper.

He uploaded the website, named it Clockspot, and four months later he had a new client, a law firm. After receiving the first payment, Ho, who worked in the institute's library, almost jumped out of his chair. He received money for his software! Nine months later, Ho earned about $ 10,000 a month from cleaning companies, home health care providers, and the Birmingham (Alabama) administration. For two years he worked without interruption, improving and debugging the code. As a result, he debugged it so well that Clockspot worked on autopilot. Besides himself, Ho needed only a customer support agent who did not work full time. He received a good income, and he had plenty of time for travel and other interests. He optimized the effectiveness of his life.


Jason Ho, founder of Clockspot, is trying to optimize his actions with code

Like any intelligent person, you should have noticed how the software absorbs the world, according to the well-known phrase of the investor Mark Andrissen. You saw how Facebook swallowed the social sphere, Uber absorbed city traffic, Instagram gave the selfie culture a serious boost, and Amazon delivered purchases within 24 hours. Typically, technology innovators boast that their services are changing the world or making life more convenient, but at the heart of all this is speed. Everything you did before - looking for a taxi, gossiping with a friend, buying toothpaste - is now faster. The principle of Silicon Valley is to take the action of a person and unscrew his metabolism to the maximum. And maybe you were wondering why this works that way? Why do techies insist on accelerating everything, twisting it to the limit, optimizing it?

There is one obvious reason for this: they do it according to market requirements. Capitalism generously rewards any person who can improve the process and get a little margin. But there is another process with software. For coders, efficiency is not just a tool for business. This is an existential state and emotional nourishment.

Programmers can have different life experiences and political views, but almost all of the people I talked to take emotional pleasure in taking something ineffective - even a little slower than necessary - and slightly tweaking it. Eliminating friction from the system is an aesthetic pleasure; coders' eyes burn when they discuss how to speed things up or how they managed to eliminate annoying human actions from the process.

Not only software developers are affected by this drive for efficiency. Engineers and inventors have long experienced similar motivation. In the early years of industrialization, engineers increased the automation of everyday tasks, raising morale. The engineer was "the liberator of mankind from desperate monotonous work and burdensome labor," as engineer Charles Hermany wrote in 1904. Frederick Winslow Taylor - the inventor of " Taylorism, " who helped found the production lines, fought fiercely with "clumsy, ineffective, or incorrect human movements." Frank Bunker GilbretI was annoyed by unnecessary movements in everything from laying bricks to fastening the vest, and his production partner and wife, Lillian Evelyn Gilbreth, designed the kitchens so that the number of steps required to make a layer cake with strawberries was reduced "from 281 to 45 ", As enthusiastically wrote in The Better Homes Manual in 1931.

Many of today's programmers experienced a flash of inspiration as a teenager, discovering that life is full of incredibly dumb, repetitive actions, and that computers do very well with them. (The math homework with its long list of boring exercises inspired many coders I talked to). Larry Wall, who invented the Perl programming language, and several of his co-authors wrote that one of the key virtues of a programmer is laziness, that kind of laziness that makes your unwillingness to do mechanical work inspire you to automate it.

And in the end, this focus on efficiency can be difficult to turn off. “Most engineers I know everywhere see inefficiency,” said Krista Maby, a San Francisco programmer. - Inefficiency in boarding a plane, well, or anywhere. They are simply enraged with idle things. ” She herself, walking along the street, dreams that all pedestrians more effectively use sidewalks and pedestrian crossings. Janet Wing, a professor of computer science and head of the Institute for Data Science at Columbia University, popularized the phrase “computational thinking,” which describes what Maby is talking about. It includes the art of seeing invisible systems in the world around us, a set of rules and constructive decisions that govern our lives.

Jason Ho had a talent for seeing this and trying to bring these invisible systems to the ideal. I met Ho and Chen at - of course - a ramen restaurant in San Francisco a few years ago. Ho managed the Clockspot project, although he himself was functioning so well by then that Ho had to work on it several hours a week. “He says he works 20 hours a month, but it seems to me that I have not seen him work so much,” Chen said. (Since then, the couple broke up, but they remain in a good relationship). Ho spent a lot of time traveling. Once he even repaired the Clockspot, being in the base camp of Everest.

But his work on optimization and programming does not stop. When he wanted to buy a house, he wrote software that could feed information about houses on the market - location, prices, environment statistics - and it would calculate the value of real estate in the long run. In the first place, the program put the Nob Hill condominium. He bought it. He hates shopping, so he bought dozens of identical khaki t-shirts and pants - a classic coder strategy that eliminates friction when deciding on clothing choices.

A few years ago, Ho decided to do bodybuilding, which he posed a particularly crazy optimization challenge: how much can it swing? He carried small scales with him to restaurants and weighed portions of food. “He tracked absolutely everything he eats on a huge spreadsheet,” Chen said. Ho shyly showed me a table on the phone - a huge monster where all the nutrition ingredients for the gym were marked out, at 3500 calories per day. He went to the gym, and invented ways to work out under normal conditions. If he passed a metal pipe, he pulled himself up. If I passed a garbage container, then I lifted it over the edge.

After two years of training, he finished second in the amateur bodybuilder competition. He rummaged in the phone to show me a photo of that period. In one photograph, he is oiled and posing in his underpants in front of a sun-drenched window. It looks like a greek statue. “I lowered the percentage of body fat to 7,” he said. He says that it was nice to be so pumped up, but in principle he was just interested to see if this was possible.

Ho showed me another table of his own. It was something of an instruction on how to live, a way of optimizing not only the body, but every second of the time. He decided that he wanted to do only those things in which every effort expended would produce the maximum result. He made 16 lines with headings indicating his activities. There were entrepreneurship, programming, guitar, StarCraft, shopping, and "chatting with friends and family."

And in the columns he set various criteria - for example, is this activity meaningful, is it just a means to an end (vital importance), is it possible to master it perfectly, does it affect several aspects of life at once. In the lines "programming" and "entrepreneurship" Ho noted all the boxes. Coming to social action, such as "talking with friends and family," he noted the checkmark "affects several aspects of life." In the cell “master perfectly” he wrote “maybe”.

Many people find this crazy. The idea of ​​the possibility of systematizing the emotional components of life, or of considering social activity as a source of inefficiency, will be unpleasant for many. Ho is sociable and friendly, but for some programmers, people with their relentless demands may seem like a headache, and social communication is another fuss that needs to be fixed. At the dawn of computers, techies pondered this problem with some concern. Konrad Zuse, a German civil engineer, creator of the first really working programmable computer, said, once said: "The danger of turning computers into people is not as terrible as the danger of turning people into computers."

One evening, I thought about this topic, plunging into a discussion thread on Quora, in which dozens of programmers shared stories about automating the nuances of everyday life. There were also some disturbing, albeit interesting, stories about the transformation of social communication into tasks such as “set up and forget”. “I got complaints from family and friends about the fact that“ You never write to us, ”wrote one programmer who created a program that randomly sent texts automatically created to everyone. The text began with the appropriate phrase “Good morning / afternoon / evening. Hey {name}, I wanted to call you, ”and then the ending“ I hope you are fine / I’ll be at home at the end of next month, love you / Let's talk next week when you’ll be free. ”

At a hackathon in San Francisco, a middle-aged programmer enthusiastically demonstrated to me an application he created that sent automatic romantic messages to a partner. “When you don’t have enough time to think about her,” - yes, he suggested that the partner will experience emotional deficiency, “the program will do everything for you.” Such attempts to increase the effectiveness of socialization are found everywhere, up to the largest technofirm. Gmail has an autofill feature that encourages us to speed up writing them using an algorithm that makes up our answers for us.

Linguists and psychologists have long noted the value of phatic acts of communication- various emotional expressions used by people in everyday life so that others relax or begin to listen to them: “How are you,” “Terrible weather, isn't it,” “What are you doing in the evening.” And the more I talked with programmers, the more I came across stories about people who thought it was annoying no worse than sand in a mechanism.

Christopher Thorpe, a veteran with over half a dozen technology companies behind, told me about the “incredibly talented engineer” he once worked with that fits that definition. “He was very upset when we joked at meetings, because it was a waste of time. “Why did we spend five minutes bantering with 20 office employees? This is working hours. ” Everyone laughs, but he believes that this is a loss of valuable time. ” A joke took the time of 20 people! This guy immediately began to grumble with his math: "Five minutes, 20 times, it turns out that you spent a half man-hours joking."

In principle, I sympathize with the desire of coders to optimize everyday life, since I myself felt pleasure from it. Three years ago I started working on a book on the psychology of programmers, so I decided to resume my programming classes - sometime in the 1980s I dabbled in Commodore VIC-20 - and delve into modern programming languages ​​like Python and JavaScript. And the more I played with the programs, the more I began to notice inefficiencies in my daily routine. For example, while writing a book, I noticed that I often turn to online dictionaries. They were useful, but so slow that after each search, the results were loaded for two seconds. I decided to write my dictionary for the command line using a site that offered an API for dictionaries. After playing a little morning with Python, I compiled a script. I entered the word on the command line, and with the speed of lightning I received synonyms and antonyms. Everything was unvarnished, roughly, green on black. But how quickly it worked: no need to wait for the browser to load all this mess of tracking scripts and cookies clogging my hard drive.

Of course, this did not save me an insane amount of time. If, for example, I searched for synonyms on average a couple of times per hour, and assuming (quite generously) that my creation saved me two seconds per search, then I probably saved about an hour a year of annoying expectations. It was hardly worth it. Nevertheless, this speed warmed my soul. Every time I searched for a synonym, instant results brought me pleasure. I injected a drug of efficiency into my vein, and it was nice.

Before I could look back, I became addicted to writing code for small routine tasks. I made a program to clear downloaded subtitles from YouTube; one more - to bypass and archive links that I posted on Twitter; one that checked the website of the school where my son is studying, and sent him a text message when his teacher laid out his homework there (he was tired of constantly updating the page).

Many of my programs were poorly written, and barely worked; I chose the simplest ways and brute force method. Studying the code of really experienced programmers, I was amazed at their elegance. I could write a huge and ugly function to filter out data, and then see how an experienced programmer would deal with it with a couple of lines of code (faster). Journalists sometimes admire the huge base of Google code - 2 billion lines - considering this a reflection of its power. But you won’t surprise programmers with volumes. Sometimes the most productive programmers are those who reduce the size of the code, compact and shorten it. After spending three years on Facebook, the programmer Jinghao Yan appreciated his contribution to the company code base and found that it was negative. “I added 391,973 lines and deleted 509,793 from the main repository,” he wrote in one of the Quora discussion threads. (It turns out that many programmers are sitting on Quora). “So if I programmed 1000 hours a year, it turns out that I deleted 39 lines per hour!”

Programming resembles poetry, where the brevity of the text gives it strength. “In a well-made poem, every word has a meaning and purpose,” wrote programmer and writer Matt Ward in an essay for Smashing Magazine. “The poet can spend hours searching for the right word or putting the poem aside for a few days, then to take a fresh look at it.” Among the famous poems of modernists, inspired by the brevity of the old method of versification, haiku, there is a work "At the subway station" by Ezra Pound :
The apparition of these faces in the crowd;
Petals on a wet, black bough.

[Suddenly the appearance in the crowd of these faces;
Petals on a branch black from moisture.]
“In two lines and fourteen words,” says Ward, “Pound paints a vivid picture, full of meaning, and asking for discussion by scientists and critics. This is efficiency. ”

In 2016, I met with Ryan Olson, a lead Instagram programmer. His team has just implemented the Story feature. It was a massive update. Olson told me that he was driving around San Francisco in complete exhaustion a few hours after rolling out the update - and saw how people had already started using it. “It was a really cool feeling,” he said. - Last night I was in the gym, looked around, and saw someone using this product. I don’t know if there was any other way in history to reach out to so many people ", or when" so few people determined the feelings of so many people. "

It’s one thing to optimize your life. But for many programmers, the true drug is changing the life of the whole world. The scale itself brings joy; It is fascinating how your new code suddenly gains explosive popularity, from two people to four, from four to eight, and from them to the entire population of the Earth. You have accelerated some aspects of life - how we exchange messages, pay bills or share news - and you see how the waves diverge more and more.

This is often how fortunes in the software world are made, so this is accompanied by the jitters of power and wealth. Venture capitalists invest in projects that, in their opinion, will grow like weeds, and markets reward them. And this interconnection of motivations gives Silicon Valley programmers who love efficiency not only large-scale pleasure, but also an obsessive desire to achieve it.

Silicon Valley's elite often have contempt for things that cannot be scaled. Little things can seem weak. Several times in conversations with major techies, I mentioned Jason Ho's company, explaining that it seemed to me a smart and delightful enterprise, a great example of an entrepreneur who came across an unsolved problem. But they frowned. For them, Clockspot was a "lifestyle-related business" - in their jargon, it means an idea that will never fly high enough. They say that this is a good product, but Google can copy it, and take away its business in a second.

Obviously, we get our benefits from the nervous, instinctive desire of programmers to speed up everything around and create abundance. But the simultaneous relentless desire to achieve efficiency on a scale has side effects. The Facebook news feed accelerates not only the display of photos by friends, but also the spread of misinformation. Uber optimizes the search for taxis for passengers, but turns the economy of taxi drivers. Amazon is preparing electronic delivery of drones flying over the streets, devoid of shops.

Perhaps we - people whose lives are so relentlessly improving - are finally beginning to notice these consequences. We are increasingly complaining about “Big technology companies”, we notice how they circumvent civil problems, how they are both fascinating and furious. We do not know what to do with it; we like convenience, the way the software constantly states that we can do more by investing less. But doubts gradually accumulate.

Perhaps it becomes unpleasant for us because in our daily lives we too absorbed the romance of hyperoptimization. Look at the city streets: employees listen to podcasts at one and a half speed, rushing to work, making sure with the help of Apple Watches that they took their 10,000 steps a day, looking at work mail under the table in the cafe. We ourselves have become like coders, adjusting every gear of our lives in order to remove friction. Like any good programmer, we can incredibly speed up the machines of our lives, although it is unclear whether we will be happier from this.

Also popular now: