📜 ⬆️ ⬇️

Valve: how I got here, what it looks like and what I do here

The author of the original article is Michael Abrasch , a man and a steamer. For those who are too lazy to learn Wikipedia, I’ll note that this is a programmer with more than 30 years of experience, who helped Carmack to do Quake, developed GDI for Windows NT, had a hand in creating the first two versions of the Xbox, and now works in R & D department of the company Valve.
In his article, he recalls how the 3D gaming industry was born in general, and Valve in particular, talks about his experience in various corporations, opens the curtain of Valve's internal kitchen and searches for new employees. The article is large, and I found it interesting enough to translate into Habr.




It all started with Avalanche *.
')
If I hadn’t read it and had fallen in love with the idea of ​​the Metaverse, if it hadn’t made me imagine how distributed a 3D network is close to being realized, if I hadn’t thought I could do it and, more importantly, I want to do it I would never have taken the path that ultimately led me to Valve.

In 1994, I worked for Microsoft for several years. One evening, when my daughter was looking at books in the Little Professor shop in Sammamish Plateau, I was lucky to see the avalanche on the shelf. I took the book, read the first pages, decided to buy it and eventually swallowed it in a day. In parallel, I began to think that 80 percent of what is described in it is feasible right now , and I wanted to realize it more than I ever wanted to do something with a computer — I had read science fiction all my life, and suddenly I had the chance to turn its into reality. So I tried to start a project in Microsoft to create network 3D technology.



Around the same time, when I realized that they would not let me run this project, John Carmack, who had just written Doom in Id Software, came to Seattle to visit his mother, and we had lunch with him at Thai Chef. Before that, we met only once in person, but he knew about me from my articles on computer graphics, which he read when he was just learning programming, and we also exchanged posts on M & T BBS several years earlier. In our last meeting, he stunned me with a proposal to go to Id; I refused because I was in the midst of working on the release of Windows NT and because Microsoft provided some very generous bonuses **. I knew that Carmack would offer me a job again, and I knew that I would answer again with a refusal, because in the intervening time I had settled even more firmly at Microsoft, and the bonuses were tastier. But John didn't talk about anything like that in the first two hours of our conversation. He talked about the available 24/7 game servers on the Internet, about people creating their own levels and running these levels on their own servers, and how to connect these servers so that players could switch from one to another without leaving the game. of the world. I realized that what we were discussing was actually the Universe - not as glossy as Neal's, but delightfully, amazingly, incredibly real . And when Carmack finally came to inviting me to work in Id, I already knew that I could not miss the chance to be part of the team that makes the future a reality.

Working with John was akin to that scene in The Matrix, when Neo was taught martial arts by pumping them straight to the brain, one after another. Every week night I crawled to the parking lot near the office, trying to realize the absolutely new software world that John and I invented - 3D, client-server multiplayer via the Internet, mods, scripts, whatever , while we were the only two programmers who they do it, and somehow cope with a half-hour trip to the house in Plano. All this happened at superlight speeds, we had absolutely no time to sit down and think hard - Quake came out only 16 months after my appearance in the company. And it was worth it - not only did I grow up as a programmer, but Quake itself became a life-changing game; yes, not the best game in the history of mankind, but really stunning from a technical point of view (for which, clearly, Carmack was a terrific innovator and driving force), as well as a game that gave impetus to the development of a whole genre and the community of players is growing to this day. By the way, when I came to work at Valve, I found that dozens of its employees began their journey with Quake modding or working on games that were based on the Quake engine - and it turns out that I also created my workplace in this way. who came 15 years later.

In 1996, Id was visited by Mike Harrington and Gabe Newell, who left Microsoft to establish Valve, and they wanted to license the Quake sources and build their first game on them. No one in Id was ever interested in giving them the source code, or even in just talking to them, but I have known Mike and Gabe since I worked at Microsoft (by the way, Mike helped me a lot when I first started working at Microsoft in 1992 - I think I could not survive in the company without his help - so in fact this should be the beginning of the story), so I intervened and helped them obtaining a license. It went into the hands of all participants in the transaction - Id made a lot of money on it, and Valve built Half-Life from this code - but I personally did not get any benefit (not considering very far prospects), because I soon decided to leave Id. I was planning to return to Microsoft when Mike and Gabe suggested that I become the third founder of Valve. After much deliberation, I decided that I had rather small game companies, and joined the Natural Language Group at Microsoft, where I spent a great year or two studying natural languages ​​before realizing that I’d hardly live to see the problem solved.

Returning to Microsoft was probably not the best of my decisions, but it wasn’t the last one either. Valve looked to the future; As the years went on, I still communicated with many employees of the company, and from time to time one or the other asked if I was ready to go to them. Fourteen years later (did I mention that Valve was looking to the future?) I completed my work on Intel Larrabee. I knew that the guys at Valve made cool games and were very successful, I knew that many of those whom I respect and with whom I would like to work came to Valve, and that was enough to try. So I got into Valve, not knowing anything about their culture and organization, and expecting more or less the same things I’ve seen before.

I was surprised.

Valve others.


I have worked in many companies and in many situations for the past 30 years. I was a computer consultant, and also wrote books and articles in magazines. I worked alone, alone and in a team on the development of computer games. I worked on operating systems, drivers, firmware, natural language recognition, game consoles, and processor architecture. I consulted and worked in a number of startups and small companies connected with both software and hardware, I worked at Microsoft, I worked at Id, I worked at RAD Game Tools. It was all interesting, it was an amazing experience, and something from this list was truly outstanding. In short, I saw a lot of what the industry has to offer.

Valve others.

Gabe talks about it like this. When he worked at Microsoft in the early 90s, he conducted a survey on what software was installed on workers' computers. Windows came second in popularity.

At first was Doom .

The idea that a software company of 10 people from somewhere in Mescite, Texas, can be installed on more computers than the products of the world's largest software corporation, showed Gabe that something fundamentally changed in the very principles of productivity. He began to study the history of management and found that hierarchical management was invented for military purposes, where he is ideally suited to make 1000 people march to a certain point and die there the death of the brave. After the Industrial Revolution took place, hierarchical management again proved to be an excellent choice, since ultimately the goal was to treat any person as a component doing the same work over and over again.

Doom's success clearly showed that this approach no longer worked. There was not much point in doing the same thing even twice; practically all value concentrated in an embodiment of a creative rush for the very first time. After Doom was released, thousands of programmers and artists could do something like this (and many did), but none of them came close to the same effect. Simply put, if you are a programmer, you may well be able to write Facebook , or a search engine like Google, or Twitter, or a browser, and you can definitely stamp Tetris , or Angry Birds , or Words with Friends , or Farmville , or any of hundreds of other extremely successful programs. However, the profits from such activities will be extremely small, and this is the whole point - in the Internet era, software has almost zero copying cost and massive network effects that lead to the so-called “spiral of positive feedback” ***, and therefore it’s the first will make a move, will dominate.

In turn, if it is the creative act, the act of creating something that brings the greatest income, it turns out to be extremely unprofitable to use the hierarchical system of an organization created to do the same thing over and over again, making only minor changes. What is really important is to be the first and to drag your product into the “spiral of positive feedback” with the help of a constant stream of creative innovations. Hierarchical management will not help you with this, because it restricts the ways of introducing innovations exclusively to people at the top of the hierarchy, but it is naive to expect from these people special creativity in order to produce new products that would differ so much from existing products - actually, just the opposite. So Valve was designed as a company that would attract people capable of taking the first creative step, leaving them free to create and creating all the conditions for them to want to work here and on. As a result, Valve has no formal management or any hierarchical structure at all.

I believe, deep down you do not believe in what I just said. Frankly, I did not believe it myself when I heard about it for the first time. How can a company of 300 people do without any formal management at all? According to my observations, it takes about 6 months for the new employees to fully realize that no one will tell them what to do, that there is no manager who would give them a certain overview of what is happening, that there are no such things as promotion in the company, the title of the position or at least a fixed role (although there are some significant rewards and bonuses depending on the value of the person for the company, based on the assessment of colleagues). It is their responsibility, and only their responsibility: to distribute the most valuable resource of the company — its time — to realize that what they can do will be most useful for the company, and doing this work. Then, if they decide to do something completely different, not a single manager can stop them from doing so: they simply roll over their workplace (the workplace is a table on wheels and a computer on it) to a new group and start doing something new. (Obviously, they should choose the right moment for such movements and coordinate with both groups, however, such coordination takes place by itself, there are no clear rules on this topic and no one controls it). Thus, each person in a team is a co-author, at the same time engaging in coding, artwork, level design, music, and so on, including management; there is no such thing as pure management or the role of a designer or architect. And each part of the company can instantly change the direction of its work, because there are no managers who could cling to employees and premises, there is no reorganization that needs to be planned, there is no budget for each specific area of ​​work. These are the very things that Gabe would very much like to avoid, and that is why no one is ordered to deal with them.

The hardest thing to realize is the level of trust. Trust everywhere. All source codes are available to everyone through Perforce, and any employee can sync and change anything. Anyone can just come and start working on what he thinks is important; Steam Workshop - one of the latest examples of the results of this approach. Each employee can learn almost anything about the work of the company and what is happening at the moment; The company itself is completely transparent to its employees. Unlike many organizations, Valve does not obstruct its employees, it simply trusts them and does not stand in their way.

Let's be clear on one point. Valve did not magically abolish all the realities of software development and release. We are all human, so from time to time there are disputes in the teams (sometimes quite hot) on how and what to do, but people respect each other and come to consensus that work. Inevitably, pressure and tough situations just before the release of the product, especially when the deadlines for certification on the consoles are set (releases on the PC are much more flexible, thanks to Steam). Sometimes people or teams take a deliberately wrong path, and then their colleagues must intervene and return the lost to the true path.

Likewise, do not think that people come every day and randomly do what they want. The company will definitely not approve if the programmer decides to go to a free room and weave straw hats there (however, if he wants to write a utility that allows people to weave and sell virtual straw hats, then everything is fine). People are involved in projects, and projects are self-organizing. There are leaders (leads), but they are elected by an informal consensus, this position does not promise any prestige or monetary advantages and is temporary; the leader is just another co-author of the project. The leader has no authority except when everyone agrees that this will benefit the project or is necessary for coordination. The team of each project determines for itself the rules of testing, checkers, how often it meets (not very often), what is the goal and how and when this goal should be achieved. And each project is not like the others.

It's hard to believe that it works, but nonetheless. I think this process is a bit like evolution, disorderly, with many inefficiencies that ordinary companies lack, but it produces amazing things, things that would never have come into being under normal hierarchical management. Valve's long list of successes, often truly stunning, is strong evidence that the hypothesis that creative people are the key to success is true, and that Valve has managed to build a company around such people.

And just to emphasize - this is a great place to work for creative people of the right sort.

What i work


So what was my own experience?

As I said before, when I started working at Valve, I knew very little about how their work was arranged, and my assumption of office was completely different from what I had expected. I expected that they would give me a solid piece of technical work - something like determining the visibility in the Source engine or calculating the fog of war in DotA 2 (which I did, but it was a side task - a cool little optimization, written by me in one of days)

What I received in reality was a few suggestions from the guys to look at certain areas of work that might seem interesting, and no direct guidance. At the most, what looked like a guide was that almost the entire Source engine team was working on optimizing Portal 2 ; I used to optimize a lot of things, so I told Jay Stelli that I can probably do Portal 2 . Jay said, "Yes, you can do this, but somehow, anyway, we are about to ship it." After several similar comments, I realized that he was trying to tell me: I have to think whether this is really the greatest benefit that I can bring to the company, because many people who are well versed in optimization have already worked on Portal 2 , so it would be much more useful think about what really important things I can do and nobody else can do. This, as well as conversations with various people in the company, led me to a completely different way of thinking, which in turn led me into an unexpected area: wearable computers.

By “wearable computer,” I mean a mobile computer, with which computer-generated graphics and the real world are mixed up in your field of vision; You do not need to hold the display in your hands (this is like the Terminator's vision). The basis of the trend that we are moving away from desktops through laptops and netbooks to smartphones and tablets is the desire to have a computer with you in as many places as possible, as much time as possible. The logical result of such an endeavor would be a computer that would be with us constantly, anywhere — that is, a wearable computer — and I have no doubt that this will become the standard in 20 years, perhaps using glasses or contact lenses, although I would suggested that through some direct neural interaction. I'm also surethat a suitable platform for this will appear much earlier than these 20 years - perhaps within 10, most likely within 3-5, because the key areas — the input system, power / power / size, and the output system — take about as long as to evolve and allow the wearable computer to take on a flawless shape. But there is still a lot of work in this direction.

Of course, iron makes sense only when there is software that runs on it, and here we are met by a huge number of intertwined questions and problems regarding exactly how such a combined hardware-software system should work. What should be a wearable interface and how should it interact with the input system? How should a computer understand where you are and what you are looking at? When the human visual system sees two overlapping images, one real and one virtual, which one will it reject, and which one will it take? How useful will be augmented reality, and if useful, to what extent can we bring it to life in the near future? Iron how much power do we need to run the software? And much, much more - noticeable and deep problems await us everywhere,wherever you look; in fact, it reminds me of working on Quake (only in bon a larger scale), where we had to invent 3D graphics from scratch, client-server interaction via the Internet, file formats and almost everything else. Moreover, I think that wearable computer technology has the potential to become the same as Quake , a technological inflection point, after which everything will change.

In essence, this technology is potentially a huge step in the direction of the Avalanche . Everything that has a beginning has an end: I would not be sitting at Valve now, doing this - and Valve itself would not exist - if Avalanche had not sent my career to Id.

After some thought, I came to the conclusion that it may be useful to spend a little time and see if a wearable computer is a project that Valve can develop; I went over with my ideas and research on many people I respect at Valve. It was concluded that a wearable computer is a worthwhile experiment; The main cause for concern was that this experiment should be substantially structured so that we could carry out clear tests for success / failure and in any case receive information for consideration. Nobody told me what to do, and there were no official approvals I needed to get; I collected all the reviews together and, satisfied with the result, simply took and started the project .

Think about it for a moment and think about your work. How cool is the fact that this project was launched almost in one day simply because I found it the most useful thing I can do for the company?

Let us make it clear once again that this is a R & D project — it will not produce any product in the near future, and in the long term, too. Perhaps it will never work out at all, so please do not dismiss the rumors that Steam glasses will be announced at E3. This survey is a primitive assessment of an extremely interesting and promising area, and there is much more to it from research than from development. Valve's approach is to experiment and see what we learn; failure is great if we can quickly recognize our mistake, draw conclusions from it and move on to the next experiment. The process is very fast and iterative, and we are at the very beginning. Where and how far this path leads depends on what we can learn.

And it also depends on who conducts the research. The team has grown, we are making good progress, but there is a huge pile of research material ahead of us, and we need more smart people. Many more smart people. People of hardware, people of software, people of firmware, people of games, just pure programmers and problem solvers, industrial designers, mechanical engineers, electrical engineers, system programmers, computer vision specialists, optical engineers, and so on.

Perhaps we need you.

If you really capture the idea of ​​diving into the world of wearable computers, and you consider yourself a suitable candidate for this role, well, that’s what I wrote my post for. We want you to be with us - and you should also want to be with us; Re-read the post again if it is not.Email me an email and see what happens.

Even if my specific project did not inspire you, you still have to seriously think about working at Valve. We are an excellent gaming company, an excellent digital distribution network and, moreover, an excellent community; we have projects for every taste (in fact, one of my stories about wearable computers was to show you how different things we are doing here), and we need people with very different skills, including (but not exclusively) in animators, artists , level designers, sound engineers and musicians, writers, web programmers, database programmers and any programmers in general, psychological research specialists (research psychologists), data mining and machine learning specialists, statisticians, and user designers user experience designers, customer service managers,hardware engineers of all sorts and many others. And if you're a first-class economist,please contact us. You will get a sandbox of 40 million users and believe me, it will not be boring.

If you are interested in Valve and you think that you are coming up (in one of the following posts I will tell you what we pay attention to when we hire a person), then hurry to write us at www.valvesoftware.com/jobs/job_postings.html

We are waiting - do not wait for a conversation with you.

Translator's Notes:


* - en.wikipedia.org/wiki/%D0%9B%D0%B0%D0%B2%D0%B8%D0%BD%D0%B0_%28 %D1%80%D0%BE%D0%BC%D0 % B0% D0% BD% 29
** - in the original stock options, a form of rewarding employees, giving the right to buy a limited number of company shares at a fixed price
*** - I do not know if this is a well-established term or not. Perhaps I didn’t translate it quite correctly, so I’ll clarify: the effect is implied when company A makes a good product, users download this product and leave positive feedback; in turn, reviews lead to the fact that new users also download this product for themselves, leave positive reviews, etc. in a spiral. Accordingly, those who copy this product no longer receive the same positive feedback and do not repeat the success of company A.

Source: https://habr.com/ru/post/142649/


All Articles