来自 Linus Torvalds 的五条成功启示
原文链接：5 Harsh Truths for Success from Linus Torvalds，作者：Ugur Yagmur，发布于 Nov 20, 2022
If you don’t know who Linus Torvalds is, I will give you a short introduction: If you’re a software engineer, you should know what Linux is and I’m almost sure that you used Git at least one time. Basically, he is the mind behind these two big projects. If you want to learn more about him, you can search online, I don’t want to give more details in this article but to move on to the wisdom I learned by listening to his speeches.
如果你不知道 Linus Torvalds 是谁，我将给你做一个简短的介绍：如果你是一名软件工程师，你应该知道 Linux 是什么，我几乎可以肯定你至少用过一次 Git。 基本上，他是这两个大项目的幕后主脑。如果你想更多地了解他，你可以上网搜索，我不想在这篇文章中提供更多细节，而是继续我通过听他的演讲学到的智慧。
Before I start, I want to tell you something: I cannot guarantee that you will like these ideas, but I can only tell the truth, the harsh, painful truth.
Nobody is Special
In motivational videos and books, there is a common message: You’re not ordinary, you can achieve whatever you want by working correctly and giving all of your energy and then you become someone special. They should be right because take a look at the history, there are lots of people we know their names among billions of them. We know them because they achieved something big and the common message is that we can achieve the same thing if we push the right buttons.
I believed in such ideas a long time ago. But they are complete lies. Nobody is special and one can achieve very less by itself. Generally, the one common thing we don’t generally notice is that successful people achieve things by not working hard but using other people’s work power for what they want to achieve. Humanity has been doing this for a long time. Great commanders used countries for what they wanted to achieve. In recent history, we started doing the same thing by creating companies. These companies discovered that great things can be achieved by paying people and using their power.
Big names like Bill Gates, Mark Zuckerberg, Steve Jobs… All of these people have made their fortune by using the same strategy. Even Warren Buffet… Generally, we think that he made his fortune by doing investments with his own money for a long time and because he invested a very long time, he is successful. However, at a point, he noticed that his personal money is not enough and started using other people’s money and he invented new ways to do the same thing.
What about Linus Torvalds? He invented a new way to achieve the same thing. He took the risk and decided to open his kernel’s source code to everybody, then he noticed that people contributed good ideas. Later on, he created Git to allow people to implement their ideas which made this process faster, and by doing the same thing for 25 years, he created something special. However, he didn’t do this on his own. Today, if you check the GitHub page of Linux, you can see that this project has more than 13 thousand contributors. More than 13 thousand people worked voluntarily on the project he created. Also, we didn’t even count the people in companies who use Linux to create new business models. Millions worked to bring Linux to its today version.
那么 Linus Torvalds 呢？实际上，他找到了一种新方法来实现同样的目标。他冒着风险，向所有人公开了他的内核源代码，然后他注意到人们提出了很多很好的想法。后来，他又创建了 Git，帮助人们实现自己的想法，从而加快了这个过程，在 25 年间他坚持努力，并最终创造了一些特别的产品——然而，这并不是他一个人的功劳。看看 Linux 的 GitHub 页面，你会发现这个项目有超过13,000 名贡献者。也就是说，13,000 多人自愿在他创建的这个项目上帮忙，我们甚至没有统计使用 Linux 创建新业务模型的科技公司。总的来看，Linux 经过了数以百万计人的努力才发展到了如今的版本。
In brief, nobody is unique. We all are small pieces in a massive system. Like ants and bees, we achieved great things together. The Internet is not created by one person, there were lots of workers who placed cables deep in the ocean to connect people on different continents. Hence, if you want to become successful, collaborate with other people and learn how to use others’ power for your project. If you think you can do much on your own and you’re unique, then you’re just another Buzz Lightyear.
Being Nice is Not Nice
I’m working as a software engineer like everyone else, and in the company I’m working for, being nice is important because when they evaluate the bonus you will take at the end of the year, one of the biggest metrics is your character. In fact, if human resources fires people, one of the biggest metrics along with the performance is the behavior. We’re forcing people to be nice, otherwise, we eliminate them.
I think we’re doing this because we don’t want to hear harsh truths. We want to hear them like it’s not our fault even if it is. However, I don’t think we’re doing the right thing. Of course in some areas, being nice is required. For instance, if you’re caring for an elder person, being nice should be a requirement. However, I don’t think the same applies to the technology industry.
Several researchers tried this theory: They created two control groups of random people. One group was forced to be friendly and kind while the other one is free to defend their ideas more aggressively. The same problem was given to these two groups and the results were evaluated. After lots of repetitions, they found that the aggressive group found better ideas and solutions over and over. Technological improvement focuses on the same thing: finding the best solution to problems. Hence, I think we should be able to defend our ideas against each other until we find the best solution by using mathematical proofs or making experiments.
At this point, I want to clarify something: Defending aggressively doesn’t mean defending your idea to death even if you’re wrong. If you’re wrong and there is proof or a logical explanation, you should accept that and let other people improve your wisdom. You should be reasonable while defending your ideas.
Torvalds did the same thing in Linux. In the commits, and the media he defended his ideas in a very aggressive way. I don’t support this but he also broke hearts too. However, this was a good strategy to find the best solution. Thanks to this approach, Linux became something different. While macOS is working on specific hardware and Windows is giving lots of blue screens with memory leaks and inefficient implementations, Linux works on all devices by requiring a little professional touch and is optimized in a great way that the call trace of the kernel is far better than Windows.
Torvalds 在构建 Linux 时就表现出了这样的心态。面对媒体时，他非常积极地捍卫自己的想法，有时他也会伤到别人，但这是找到最佳解决方案的一种策略。正因为他的坚持，Linux 才变得与众不同。虽然 macOS 可以在特定硬件上运行，Windows 会出现大量蓝屏、内存泄漏和低效的实现，但 Linux 可以所有设备上正常运行，只需要一些专业的操作，并进行一些优化，就可以远超 Windows。
3. 目标、想法… 都是谎言
Goals, Ideas… are all Lies
Do you know what survivorship bias is? During the second world war, researchers from the Center for Naval Analyses conducted a study on the damage done to returned aircraft after missions. They then recommended adding armor to the areas that showed the most damage to minimize bomber losses to enemy fire. However, Abraham Wald suggested differently. Wald was a Hungarian mathematician and a member of the Statistical Research Group where he applied his statistical skills to various wartime problems. He noticed a very simple thing: The planes they were analyzing were the ones returned. This means that these planes managed to return even if they got hit in those places, which means if they got hit in other places, they couldn’t achieve the same thing.
然而，Abraham Wald 却提出了不同的建议——他是一位匈牙利数学家，也是此次研究小组的成员，他的任务是通过统计技术分析各种战时问题。他注意到了一件非常简单的事情：他们分析的飞机都是从任务中成功返回的飞机。这意味着，即使这些飞机的这些部位受到了攻击，依然成功返回了；换一种说法，如果其他部位被击中，这些飞机有可能就回不来了。
In my opinion, goals, ideas, and visions are products of the same mentality, a product of survivorship bias. Lots of people only studied successful people and they decided that all of them has a vision, a goal. However, I don’t think it’s the difference. Consider university entry exams. Do you think the person which is in the 1 millionth place aimed for this? Most probably, this person aimed higher but didn’t do other things correctly. If goals and visions are common for both successful and unsuccessful people, then they are not the distinction between them.
During the TED Talk interview, Linus Torvalds admitted that he doesn’t have a vision or a 5-year plan. Basically, he solves problems whenever faced with one, and on the other hand, he tries to find better solutions for the ones he solved already. He has a system, a system of problem-solving and seeking betters. Applying this system for 25 years… It’s the success mentality behind Linux.
在 TED 演讲采访中，Linus Torvalds 承认他没有愿景或 5 年计划。他的想法很简单，遇到问题就解决问题，同时努力为已解决的问题寻找更好的解决方案。他有一个系统——一个解决问题和寻求更好的解决方案的系统。这个系统坚持工作了 25 年，而这就是 Linux 背后的成功心态。
There is No Intelligent Design
I was one of the people who think too long that they cannot start the thing they want to. I would research to find the best way before starting the actual work. In the end, I would never get started since I was already lost in the pursuit of finding the best way and learning the required things to achieve that.
Later on, I noticed something. Humanity learned everything by doing mistakes. We discovered lots of things by trying, experimenting, and making mistakes. I want to give you an example: If you know the geological location of Japan, you may know that there are lots of earthquakes happening in there regularly. In their history, their homes were not too long and generally wide since if they build something long, it will be destroyed in an earthquake. They solved this problem today but how? They created a small model of the earth and implemented their different ideas, and then tested this model by creating artificial quakes. By testing ideas, finding new problems, and solving each one of them one by one, they created a great design for the foundation of their buildings. Now, Japan is one of the countries which own very durable buildings.
During one of his interviews, Torvalds tells that there is no intelligent design in Linux. Basically, he’s trying his ideas and by making errors and solving problems, he’s discovering them. At this point, you can say that “No intelligent design exists and there are lots of books about them.” and that’s correct. One of my favorites among these books is “Clean Code” written by Robert Martin. He’s giving great design fundamentals in his book. However, if you read it, you can easily understand that he came up with all of these principles by learning from his mistakes, not only from his own mistakes but also from other engineers’ and bankrupt companies’ mistakes.
Torvalds 在一次采访中说，Linux 没有灵机一动的设计。他的做法是，尝试每一个想法，然后通过不断的犯错和解决问题，最终找到最佳解决方案。所以，我们可以说：“这个世界上不存在奇思妙想，但我们有很多这方面的书籍。”例如，我最喜欢 Robert Martin 的著作《代码整洁之道》，这本书中给出了很好的设计基础。然而，阅读这本书，你就会发现他提出的这些原则也是从错误中吸取的经验教训，当然不仅包括他自己的错误，还有其他工程师以及一些破产公司的惨痛经历。
To sum up, the idea is learning by making mistakes. However, don’t repeat mistakes already made. Try new things, and by solving every problem you faced, learn new things. Stop trying to figure out what is the best way to do it, and just start doing it with mistakes.
Distractions Are Potential Killers
Silicon Valley culture… It is based on software engineers who change their jobs very frequently. What is the purpose of this? I think there are two: By doing this, technological ideas and improvements are scattered between companies. Secondly, it started a competition to hire the most experienced engineers, which has made compensations to hire such people higher and higher. In the fancy YouTube videos of software engineers (I also enjoy watching several of them), we can see amazing offices with free offered food, and high compensation numbers. With all of these shiny objects, lots of people want to be a part of them.
Like everything else, this comes up with a cost we generally don’t notice. Every company has its own system, own implementation style with different techniques. Before we learn every detail in one of them and work on a project long enough, we are leaving companies. Today, in most of the big companies, the average staying time of engineers is lower than 2 years.
这种文化会带来潜在的成本。每个公司都有各自的系统、实现风格以及技术。软件工程师还没有掌握每一处细节，或深度参与某个项目，就已经离职了。如今，在硅谷的大多数大公司，软件工程师的平均就职时间不到 2 年。
What is bad about it? I want to show you a different perspective. Linus Torvalds started working in one of the Silicon Valley companies (Transmeta) and instead of moving around the companies, he stayed at this company for almost 7 years until laying the foundations of the Linux Foundation. Why did he do that? Why didn’t he move between companies like others? Concerning what he said in his TED Talk interview, he’s very stubborn and didn’t let go of the projects. In fact, he’s so stubborn that he’s been working on the same project for more than 25 years.
这有什么坏处？Linus Torvalds 的第一份工作是在硅谷的一家公司（Transmeta）工作，他在这家公司工作了将近 7 年，直到 Linux 基金会成立。为什么他没有像其他人一样反复跳槽？他曾在一次采访中说，他非常固执，不愿意放弃自己参与的项目。事实上，他已经在同一个项目上坚守 25 年了。
Warren Buffet applied the same mentality in the investment industry and applied the same simple but effective strategy for a long time and made it perfect, eventually, he became the richest man. The point here is that success is coming to the people who are focusing on something but not the ones who are moving from project to project.
This advice is not for everybody because some of us do software engineering only for money and there is nothing wrong with it. However, there are lots of people who want to create great things, and unfortunately, the only way to do this is to focus. Because lots of people are working to achieve different things simultaneously, if you want to be successful, to create something other people and you want to use, then you really need to focus on the problems and the projects you want and stick with that.