5 Harsh Truths for Success from Linus Torvalds
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.
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.
1. 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.
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.
2. 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.
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.
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.
4. 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.
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.
5. 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.
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.
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.
5 Harsh Truths for Success from Linus Torvalds
Pages: 1 2