📜 ⬆️ ⬇️

Stephen Wolfram "Making Great Projects"

I love making projects that seem crazy.

And I suppose I did this for about 35 years in science (I started young) and about 30 years in the technological field. Today I want to talk a little bit about what “doing crazy projects” is and a little about my projects.

As a first approximation, I worked on three big projects in my life.

As you may know, Mathematica is a language - a system that is applicable in all cases where people need algorithmic calculations.
')
Her early uses were limited to math and learning goals. But as a result, it has become one of the types of high-tech tools for algorithmic computing and software development. And I think that in the near future it will become even more widespread. One of the reasons is the CDF (Computable Document Format) that we developed.

"A New Kind of Science" or as it is often called - "NKS" is an area of ​​basic science that I developed.

You know, we used to think of programs as things that we humans write. But in fundamental science there is a question: if you just start creating tiny programs, say at random, what will they do? Therefore, NKS is about researching the computational universe of possible programs of this kind.


And the big discovery was that tiny simple programs can do incredibly complex things.

And this seems to be a big mystery of nature, connected with the way all physical, biological and other systems form such complex things.


It also gives us a new incredible source for technology. Instead of “digging” the physical world to search for materials, we can “dig” the computational universe to search for algorithms. We can get amazing things that we, the people, would never have thought of, but in practice, as our products have shown, can be extremely valuable. This is something like a "new kind of technology."

One of the places we used it widely is Wolfram | Alpha. I hope many of you have heard about this system or even used it.

The idea of ​​Wolfram | Alpha is a bit like a computer from Star Trek - to take the knowledge of our civilization and make it computable, so that we can automatically give answers as experts from different fields.

Surely you know Siri - the technology of Apple's intellectual assistant, which, including uses Wolfram | Alpha and makes talking to a Star Trek computer even closer.

How it works? How do we calculate all these automatic answers?

I wish I could answer that this is just an elegant trick. That we parse the Internet using some tricky algorithm or something like that. But no. We do it differently. We do individually calculate the answers to each request.

And I must say - this is very difficult. This is an incredibly complex combination of technology and content.

You must first obtain these thousands of data areas, and then also support them. Must implement models, methods and algorithms from these areas - Mathematica now has about 15 million lines of code. Must understand the natural language of people. Must know how best to structure and present response data. Must connect experts at each desired point.

You know, all these things are really extremely complex. Moreover, any of them could have been impossible at all. Fortunately, this did not happen. And as a result, we have this growing tool that creates, as I call it, “knowledge-based computing”, and makes all of the above described things possible.

Well, so how did I get involved in all these projects?

I grew up in England, went to a good school (which I always thought was unimportant), became interested in physics. As a teenager, I began to publish various articles on physics, played the role of a professional physicist.

Very early - it was in the mid-70s, I realized that I can automate a lot of the tasks that I do using a computer. And it has always been a bit of a rule for me to look for the best tools, sometimes creating them myself, and then using them.

When I was 20, I began working as a member of the physics department at the California Institute of Technology. And I developed a large software system that was the predecessor of Mathematica. It was a terrible story in the spirit of "the fateful meeting of intellectual property and the university." Ultimately, I stopped all thinking and founded my company based on my software product.

Of course, I was just a child of physics. What could I know about the business? And, of course, I made a lot of mistakes. For example, instead of doing everything independently at the beginning, I hired the director twice as old as mine.

I started to worry - the company started doing things that seemed silly and boring to me. Although, ultimately, after many trials and tribulations, it essentially turned out to be useful. As a result, we even became a public company in the mid-90s.

But I learned a lot of lessons. In particular, about what should not be done when starting a business. And I was convinced of this by providing consulting services for various technology companies, and seeing all these stupid things, where I would say - "I would never do that if my company were."

But at the time, my daily work was science, and I discovered extremely interesting and fundamental things that I thought could have many different consequences and applications.

My plan "A" was to involve a large number of people in this topic who could help in working on it. I called this area "the theory of complex systems", which later became the "theory of complexity."

I began to think where to organize the first research center of this area. The choice fell on the University of Illinois. The first magazine was launched. And I tried to organize all these "social processes".

But things were moving very slowly. And then I decided that I needed a plan "B".

He concluded the following - to do the best tools that I can. And forget about all these people. Just immerse yourself in science for yourself.

So - 25 years ago - I began work on Mathematica.

I needed it myself, as well as a useful and successful product. And this time, of course, I already headed the company myself, did not attract other people's money, etc.

And in general, my plan “B” worked very well.

For five years I worked on the preparation and launch of the first version of Mathematica and the launch of the company itself.

And then I did something crazy - I decided it was time to start using Mathematica and the current situation to make progress in the science I wanted. I figured it would take a year, maybe two. But in the end it took ten and a half.

For almost a decade, I led a hermit lifestyle, remotely managing a company and working every night on basic science.

Looking back, I see some amazing things that happened during that period. The first is that the company has continued to grow, and quite well. Secondly, despite all my fears, there have been no serious incidents or riots. And the third is that even after a full decade, approaching the completion of my big book “A New Kind of Science”, I almost did not deviate from the originally conceived list of chapters. But I got an order of magnitude more extensive content and discoveries that I could not even imagine at the beginning of my journey.

As a result, after the completion of the book, it was very interesting for me to return with full dedication to the company's activities. I needed to rethink a lot of things. I began to try to understand what opportunities now opened, given all that we have done before.

You know, it happened to me many times. I develop some kind of intellectual framework, often with the help of technology. And then gradually, in 5-10 years, I begin to understand what possibilities this framework opens up.

So it was with Mathematica, where there is a big idea behind symbolic programming, which is the framework on which everything rests. And then I gradually realized that it is an order of magnitude more versatile and powerful and can support more and more features.

You know, it was very funny to watch how all my projects intertwined.

I started studying physics and used computers as a tool. Then I developed my first programming language, thinking about it in some way as a physicist: how can I take all these calculations that people need and decompose them to the level of "elementary particles"? But then I realized that from the primitives that I create, I just can build all these things.

Therefore, I began to think about how to build this "artificial physics" of my primitives. And then he began to think about the whole computing universe.

And working on all this, I realized a lot of deep thoughts. About our physical universe. On the methods of creating technologies. And even about such things as the nature of the intellect.

One would assume that this would seem more like an academic philosophy. But for me it all became something much more important.

In fact, I must say that very important applications of NKS are beginning to appear around the world - in science, software, biotechnology, and even art. But the computational knowledge and Wolfram | Alpha were probably the most important frontiers.

What is the connection?

Even when I was a child, I thought about how to systematically organize knowledge and make it computable. Not so long ago I even found some ideas that I did when I was 12. And I was shocked how close they were to the concepts of modern Wolfram | Alpha.

But I always thought that in order to embody all this, I need to understand the general problems of artificial intelligence. And approximately every 10 years I returned to this question, but each time it seemed to me completely impregnable.

But thanks to NKS and reflections on the nature of intelligence, I realized that my approach was erroneous, and that in some fundamental sense we already have everything necessary for computable knowledge, using conventional traditional calculations.

Of course, from a practical point of view, I also had Mathematica, which was the largest and most powerful tool for such calculations.

I also had another thing: a company that had been profitable for 23 years by that time, full of versatile and very talented people (today there are about 700) involved in the work on “impossible” projects.

That is, in a sense, I had this strange combination, which I had been building for more than 30 years, which made it possible to create Wolfram | Alpha.

You know, it's funny. At some level, I think the most important thing in this and other “impossible” projects is a simple assurance that you can do this project.

Having faith, or even self-assurance, is to believe that despite the mass of other people who have tried and failed, and now they think that this is impossible, we can still do it. And then the main thing is to involve other people in this faith.

It is always strange to move from nothing to something meaningful. Beginning only from an idea, gradually turn it into something real, inventing along the way all these things, which start on a very small scale and then gradually become whole structures.

I am sure that anyone who has been involved in such projects has some sacred confidence, which lasts at least 10 years, and makes it clear that yes, with the right effort “nothing” can turn into “something”.

I, for example, like to invent ideas and study the nature of things. And I must say that now is a wonderful time in this sense. I believe that with all these products that we have created, be it Mathematica, NKS or Wolfram | Alpha, and given the general state of technology development, we are seeing a sort of Cambrian explosion. I feel happier and more productive than in all the 30 years I have been involved in the technology industry.

I would like to talk about what awaits us, but I do not think that it would be appropriate in this article. However, let me express a few thoughts.

You know, I as if designed my life and company to achieve a single goal: to have the most effective scheme for turning ideas into reality. And this is great: today I devote most of the day to ideas. And I think the day is unsuccessful, if it did not occur to me at least some pretty good ideas or inventions.

I put a lot of effort to create a team in the company. I believe that I am a person who, in principle, is interested in people, so I enjoyed this process. Many of our employees have been working in the company for a very long time. And for all 20 years I did seemingly crazy things, remaining a remote CEO, at a distance of 1000 miles from the main office, just making conference calls all day and showing my screen. And it turned out to be so effective: people are distributed, virtual. And everyone just got used to work that way.

You know, if you do something like Wolfram | Alpha, it is often terrifying how many different kinds of competencies you need. From system theory to linguistics, content and so on. Not only a lot of big projects, but thousands of micro-projects. And everywhere need expertise inside.

We have such a database, we call it “WhoKnowsWhat” - “who knows what.” And I always scour it to find internal experts. As a couple of days ago, for example, as part of a large review of Wolfram | Alpha content, we had some questions about oil rigs. I said to myself: surely we have people inside who have something in it. And WhoKnowsWhat told me that yes, indeed, we have a couple of people who used to work in the oil industry. As a result, these two were included in a series of discussions regarding Wolfram | Alpha content in this area.

I believe that this is a very important element of the company's culture, and that no one sees anything strange in it. One of those two was from sales, the second from graphic design. But everyone is used to the idea that they can make a small contribution to other projects.

Today we have a simply absurd number of projects in our work, and in fact - products. And I am very proud of how much we have time, given our relatively small scale of the company.

I think that we do it for several reasons.

First, we are practically obsessed with the idea of ​​creating deeply developed products. Throughout, we created Mathematica in just such a consistent way, where each part is designed and automated to the maximum.

As a result, this means that we can seriously rely on existing blocks, creating more and more big blocks, which in turn allows us to make the whole process faster and faster.

And in our company, we are completely absorbed in "eating dog food." We use Mathematica absolutely for everything. From testing to web analytics, to financial reports and so on.

And over the years we have created amazing systems for all these tasks. What, in an amicable way, we should sell to other people. And, most likely, we will do so.

Oh yeah, we also built all kinds of services within the company. Whether it is graphic design, legal assistance or localization. Therefore, when a new project appears, we well understand all the available resources and services, they are sewn into our culture and are always ready to join the process.

I think that in the case of each new project we are very individually approaching the issue of team building. Choosing individuals that best fit this project. Something like creating an internal startup. And this allows us to achieve fairly large results with relatively small resources, due to the fact that the foundation is already a whole stack of technologies and processes that we have built.

Some of these startups have even turned into separate companies. And, apparently, we will have more examples of such cases ahead, possibly with external partners.

When I look at what we do, I always try to define a time frame. From weekly releases with Wolfram | Alpha updates, to things that will require many years of development.

And you know, I always have a large arsenal of ideas in stock.

Often the biggest problem is when exactly to take on this or that. Not too early, not too late. I mean, if Isaac Newton had decided to start a satellite company, it would be too early. And in NKS there are ideas that are 50, or maybe even more years old.

But it usually happens that contiguous technologies, which can become a support for other ideas, appear on the horizon. And this is the moment when I really immersed in the work on them.

I am a man of big projects. And I guess the hard question is to start a new one. I mean that projects that have already been started will exist at least as much as I myself. And they all grow and develop, requiring a lot of effort.

But in each of these projects, I was fortunate enough to grow good teams, full of enthusiasm and talent, who are able to promote these projects further, with my participation only at a high level.

Therefore, I can do this terrible thing, saying: “I have an idea!” Quite often. "Let's see who can do it." "We need to organize a meeting about this." "Who will manage this project?" And then, over months, and sometimes years, it turns into reality. And then I start using it all as another layer to build something new.

For me, it was a delightful 30 years in the technological field. And I am very inspired that we have systematically built a whole stack of technologies that now opens up even greater opportunities.

Our company as a whole and the approaches that we use are very different from the rest of the industry. Probably our goals are also slightly different: about how to build all these huge things, regardless of their complexity.

But I hope I managed to talk a little bit about what it was like to create some of these “crazy” products.

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


All Articles