
Programming Philosophy 4 - Technology "Big Top"
Imagine a conveyor belt with programmers: people sat at one round table, one huge monitor over the entire wall, and each still has its own ordinary one.
First: in the tone of a starship captain, you need the connectToDB () function in the main file.
Second: - open - open the desired file, find the function.
First: - what is going on here?
Third: - I launch - sets a breakpoint, launches the application, at the time of stop says: - dbinstance is OK - displays the value on the screen -, remotePort is 8999, - this value is also visible on the screen.
First: - strange, it would be necessary to profile this call.
Third: - ok - dictates to the fourth - a new line 123 console.time (), 125 console.timeEnd ()
Four: dials, - done.
Third: starts, - the execution time of this block is 150 milliseconds.
First: - a-ah, everything is clear, we remove the profile tuning, add comments that there was such a problem, change all cases of the checkRemote host port variable to checkLocalPort port, - slurp the seagull with jam.
Second: it finds through the search all the required entries.
Fourth: replaces problem areas.
Fifth: - I need to cut the koment.
Second: - yes, - opens the function again.
Fifth: - I write that you always need to check localPort - it drives in comments, - that's it.
Sixth: - I commit, - git commit -am types “bug 1827 with connection to the database server” is fixed, git push.
Seventh: silently runs all the tests but a new commit, makes comments in the bug tracker.
Eighth: - a commit came from the St. Petersburg office, and the update for the visual studio was downloaded.
First: - OK, put the update, then we hold it and run it. - bites cookies, drinks tea with jam.
Such things are observed in MMORPG: warrior, mage, strategist, defender, healer, thief. And in programming, managers would have implemented the assembly line a long time ago, but it is impossible to turn a programmer into a mechanic, he remains a creative person, even in conditions of super-narrow specialization. For capital, this is a problem, but for programmers themselves, it is good. As if the programmer did not format it, it remains like a screenwriter: I’m sitting there writing a script for an action movie, twenty thousand people and two hundred million dollars are waiting for me to be ready. From here, Java, C # and Haskell were invented - to format the programmer more and more. That is, a programming language has long been not only a tool in the hands of a programmer, but also a tool for controlling a programmer, fitting it into the pipeline.
Conveyor, what is it, this is when robots collect jeeps. Yeah, if only. It’s easier to teach a person a simple operation than a complex set of operations. It is one thing when you need to train ten shoe makers to make shoes from beginning to end, and it’s another thing to teach each one operation. Count, if not laziness, what scaling. It turns out that it takes almost as much time to train a thousand people for the conveyor as it does to take one full-cycle specialist. That is, the conveyor arose long before the robots, and the essence of the conveyor: "soft technology", the technology of organizing and training people. And the organization itself is a special case of training. Specialization is inevitable. Already now in your company there may be a person who writes only a UI code, or models only guns. But for now, the programmer remains a "star", in the sense
The conveyor is not the only "soft technology". The problem is that we are just far behind in these various “soft technologies”. And I'm not only about "management technologies" or "learning technologies." I’ll try to explain. When a newspaper was published in every town in Europe, in Russia still clerks did not become an estate. Peter tried to fix it; there is such a term - westernization. But the essence of Westernization is not to dress in European fashion, but to turn from a society where everyone thinks the same way, a mono consciousness, into a society where people dig their own way. While one is planing ships, the other is composing sonnets. It seems to be. But no, that's not it yet. You can remain a mono-conscious society, and just assign people to different tasks. What is happening with us to this day. In the West you are not assigned to make ships, you yourself come up with, no, not ships, but the task itself. Independence in the search for tasks. I am not saying this is good. Just the way it works, I point my finger at the fact. But you can assign people only to those classes that someone has already come up with, that is, there will always be a lag behind those who, in fact, came up with.
How did they do it? It is a matter of competition, but not of the competition that fairy tales told us during perestroika, where everyone joyfully competes on an honest basis, observing rules and laws, but the competition where you cut your throats to survive. You lie, dodge, commit meanness, smile, and then - hit in the back. But this is not enough, otherwise we would not have a technological lag. There is one more point. Group competition. Highly organized groups competing with each other. And their highest form, which I call “big top”. You can call it the "brotherhood of the ring," "Ocean's friends," "pirate crew." This is simply called “gang” or “bandit gang” in our country, of course with a negative connotation. The bottom line is that competitive individuals, each of whom is used to all gnawing their throats, to survive, to dominate in any community, or at least simply possesses the highest qualifications - get together, in one big top, in one gang. Together they carry out the task, "pass the level", "get Escalibur and other nyashki including gold and XP", and scatter. Such a group itself consisting of competitive individuals with their own specializations turns into a highly competitive unit. That is, this is not just a gang, but a gang consisting of gang leaders, for us something unimaginable, and in the west - a key form of organization for hundreds of years. Such a group itself consisting of competitive individuals with their own specializations turns into a highly competitive unit. That is, this is not just a gang, but a gang consisting of gang leaders, for us something unimaginable, and in the west - a key form of organization for hundreds of years. Such a group itself consisting of competitive individuals with their own specializations turns into a highly competitive unit. That is, this is not just a gang, but a gang consisting of gang leaders, for us something unimaginable, and in the west - a key form of organization for hundreds of years.
Sadly, here I have to make a small digression, and show what a traditional society is, where there is nothing like it, and even if it arises, it is not welcome. Here dad says to you in childhood: "don’t do it, not good." And how does he know what is good and what is bad? And dad told him too. And all these dads and children - they think alike. Great public mega-brain. We are watching the whole country on New Year's Eve about how the boys went to the bathhouse. At some point, this mega-brain, a traditional society, realizes that in order to resolve internal conflicts and fight external enemies, it needs a leader. That is, we must rally around the king. There is no place to take the tsar, they are all the same, and so begins “come and possess” dear guests, our Rurikovichs. All participants are tuned to the leader as a tuning fork, as a generator of new ideas. If you have a new idea, you, again, go to the king and report it. But he accepts it and broadcasts it into society from above, or discards it. By the way, “traditional society” is a term google and so on.
Successful western startups, IT companies, at least at the time of creation, this is big top, gangs of pirates. Jobs really raised a pirate flag over his office at some point. Silicon Valley Pirates. This is not speech, it is technology. In Russia, IT companies are polls - traditional societies. Everyone thinks the same, there is a king. Of course, I’m exaggerating a little, but in fact it is. In fact, there is an intermediate stage - professionalism. This is also a technology. This is not quite a traditional community, but not yet “big top”. Professionalism is when you are accepted into a team, you must be part of it, in the traditional sense, be like everyone else, but at the same time you only need your “competencies”, you, as a person, as a person, can be completely free, nobody cares , at least pick your nose but at the time of contact you must be formatted and impersonal. That is, you are divided into two parts, on the one do whatever you want, and on the other, professional, be strictly as you should.
But in Russia, even professionalism is embryonic, people only master the basic property of a professional - the creation of complete statements. That is, you communicate with a person as with yours, gradually coming to understanding each other, on an emotional, everyday level. A professional, however, communicates at the level of finished utterances, such communication does not require any kindredness and involvement, but utterances must be whole and complete. It’s not “I tried to do it, it seems, something works out”, “oh, Misha, let's talk later, until it’s clear, but it’s kind of ready,” but “the situation on Thursday is this: paragraphs two and three of task 123 are completed, the alleged the time for completion is next Friday, "" I encountered unforeseen difficulties in implementing paragraph 5, the negotiated deadline will be disrupted. ” Those who have come across this they will understand what I mean, and right away, the rally is a sore subject for the whole industry. Instead of talking to a person like two highly intelligent creatures, we prefer to “sniff”. Let's discuss on skype. Well, let’s what to do with you. The need to clearly state the situation causes a headache in a person. Usually a year of work with a Western customer decides.
An important feature of the “big top” is that after completing the task, looting caravans, for example, people “scatter”. And having run up, they put together their gangs, groups, create new companies. And they carry all the technological breakthroughs that they received in this task, in the previous group. Reproduction by division and budding. Any modern corporation, or mega-corporation, is a traditional society in its lower part, but at the top, always - big gangs. These are pirates, they create or take over corporations, rob them or upgrade, sell and buy, break up, divide, connect and unite. This is a completely different world, and very opaque. The external, official side, as a rule, does not disclose the members of this “gang” in any way. In Russia, there are enough competing to death groups, but they are all organized according to the principle of wolf packs, "went to the rocking chair together." It is extremely rare that they generally change their structure, separate, and then with conflict and a terrible shock for everyone. "Big Top" implies that people, often unfamiliar, quickly gathered, did the job and fled. Technologically advanced.
The main thing, of course, is to be able to communicate with peers, because we have more than enough bosses and subordinates, some know how to obey, others command. It just infuriates me that how many times have I tried to communicate with talented people on the Internet, authors of interesting programs, libraries, or organizers of communities, sites, communication is always wildly slowed by them because they are waiting for either I will head them, I will give work, and they will obey (this is the “business” right away), or vice versa, I will obey them, “I will be at the disposal”, also the “business”. This is a stone age of communication. There is no equal culture of communication at all - this is considered a waste of time. Well, or then personal friendship, that is, no completed statements, no communication algorithms, we will “sniff”, “thump together”. But is it necessary?
Jobs, who “did not understand exactly what he was doing,” actually introduced the big top technology in the development of IT projects. At first he used it intuitively, a pirate flag hung over the office, but after working in Hollywood, which works on the principle of big tops, entrepreneurships, project-oriented-production, he began to consciously work on new projects in Apple, how they work on Hollywood projects: a gang is going pirates, motley talents, but not just in one place for a salary under management, but UNDER THE PROJECT. The deadline of the project, it is at the same time the deadline of the dissolution of the gang, all forces are concentrated on the script, then on the set, then on post-production, only in Apple it was applied on their IT counterparts. The release of the next Mac is like making a movie. This solves many problems, I don’t want to go into details, but for example, you cannot afford to take the best designer in your city to your company, but you can invite him to one project with a clear deadline. Advanced "bandits" have long understood that creating gangs, punching one project and handing it over to the traditional is not only more fun, but also more profitable than clinging to one undertaken business and pulling it in traditional ways for many years. He founded as Jeff Atwood Stackoverflow, or as Tom Preston-Werner, about whom I already wrote, GitHub, got his own, he passed it to “ordinary people”.
It turns out that it is very difficult to compete with such structures, their level is the most advanced possible. The options are as follows. First, to understand how the big top works, why it is so effective, what is the history of the issue. Understand whether we ourselves can work according to such a scheme, try, search. It may be to find a weak spot in this technology and offer your own, stronger one. Indeed, although a society of total competition has spawned a society of competing groups, with their accelerated development and “knowledge expansion”, this is not the only way. The super-traditional Russian and, later, Soviet society had their own advantages and quite competed with the Europeans. Consolidation and sameness have their advantages. But one thing I know for sure, if you don’t understand what is the power of the big top technology that made the West, in general, and the Western IT, in particular,

6: Product and Project
5: Reactos and Hummingbirds
4: Shapito Technology
3: Chichikov and Programmer
2: Myth and Language
1: Three-Way Programming
First: in the tone of a starship captain, you need the connectToDB () function in the main file.
Second: - open - open the desired file, find the function.
First: - what is going on here?
Third: - I launch - sets a breakpoint, launches the application, at the time of stop says: - dbinstance is OK - displays the value on the screen -, remotePort is 8999, - this value is also visible on the screen.
First: - strange, it would be necessary to profile this call.
Third: - ok - dictates to the fourth - a new line 123 console.time (), 125 console.timeEnd ()
Four: dials, - done.
Third: starts, - the execution time of this block is 150 milliseconds.
First: - a-ah, everything is clear, we remove the profile tuning, add comments that there was such a problem, change all cases of the checkRemote host port variable to checkLocalPort port, - slurp the seagull with jam.
Second: it finds through the search all the required entries.
Fourth: replaces problem areas.
Fifth: - I need to cut the koment.
Second: - yes, - opens the function again.
Fifth: - I write that you always need to check localPort - it drives in comments, - that's it.
Sixth: - I commit, - git commit -am types “bug 1827 with connection to the database server” is fixed, git push.
Seventh: silently runs all the tests but a new commit, makes comments in the bug tracker.
Eighth: - a commit came from the St. Petersburg office, and the update for the visual studio was downloaded.
First: - OK, put the update, then we hold it and run it. - bites cookies, drinks tea with jam.
Such things are observed in MMORPG: warrior, mage, strategist, defender, healer, thief. And in programming, managers would have implemented the assembly line a long time ago, but it is impossible to turn a programmer into a mechanic, he remains a creative person, even in conditions of super-narrow specialization. For capital, this is a problem, but for programmers themselves, it is good. As if the programmer did not format it, it remains like a screenwriter: I’m sitting there writing a script for an action movie, twenty thousand people and two hundred million dollars are waiting for me to be ready. From here, Java, C # and Haskell were invented - to format the programmer more and more. That is, a programming language has long been not only a tool in the hands of a programmer, but also a tool for controlling a programmer, fitting it into the pipeline.
Conveyor, what is it, this is when robots collect jeeps. Yeah, if only. It’s easier to teach a person a simple operation than a complex set of operations. It is one thing when you need to train ten shoe makers to make shoes from beginning to end, and it’s another thing to teach each one operation. Count, if not laziness, what scaling. It turns out that it takes almost as much time to train a thousand people for the conveyor as it does to take one full-cycle specialist. That is, the conveyor arose long before the robots, and the essence of the conveyor: "soft technology", the technology of organizing and training people. And the organization itself is a special case of training. Specialization is inevitable. Already now in your company there may be a person who writes only a UI code, or models only guns. But for now, the programmer remains a "star", in the sense
The conveyor is not the only "soft technology". The problem is that we are just far behind in these various “soft technologies”. And I'm not only about "management technologies" or "learning technologies." I’ll try to explain. When a newspaper was published in every town in Europe, in Russia still clerks did not become an estate. Peter tried to fix it; there is such a term - westernization. But the essence of Westernization is not to dress in European fashion, but to turn from a society where everyone thinks the same way, a mono consciousness, into a society where people dig their own way. While one is planing ships, the other is composing sonnets. It seems to be. But no, that's not it yet. You can remain a mono-conscious society, and just assign people to different tasks. What is happening with us to this day. In the West you are not assigned to make ships, you yourself come up with, no, not ships, but the task itself. Independence in the search for tasks. I am not saying this is good. Just the way it works, I point my finger at the fact. But you can assign people only to those classes that someone has already come up with, that is, there will always be a lag behind those who, in fact, came up with.
How did they do it? It is a matter of competition, but not of the competition that fairy tales told us during perestroika, where everyone joyfully competes on an honest basis, observing rules and laws, but the competition where you cut your throats to survive. You lie, dodge, commit meanness, smile, and then - hit in the back. But this is not enough, otherwise we would not have a technological lag. There is one more point. Group competition. Highly organized groups competing with each other. And their highest form, which I call “big top”. You can call it the "brotherhood of the ring," "Ocean's friends," "pirate crew." This is simply called “gang” or “bandit gang” in our country, of course with a negative connotation. The bottom line is that competitive individuals, each of whom is used to all gnawing their throats, to survive, to dominate in any community, or at least simply possesses the highest qualifications - get together, in one big top, in one gang. Together they carry out the task, "pass the level", "get Escalibur and other nyashki including gold and XP", and scatter. Such a group itself consisting of competitive individuals with their own specializations turns into a highly competitive unit. That is, this is not just a gang, but a gang consisting of gang leaders, for us something unimaginable, and in the west - a key form of organization for hundreds of years. Such a group itself consisting of competitive individuals with their own specializations turns into a highly competitive unit. That is, this is not just a gang, but a gang consisting of gang leaders, for us something unimaginable, and in the west - a key form of organization for hundreds of years. Such a group itself consisting of competitive individuals with their own specializations turns into a highly competitive unit. That is, this is not just a gang, but a gang consisting of gang leaders, for us something unimaginable, and in the west - a key form of organization for hundreds of years.
Sadly, here I have to make a small digression, and show what a traditional society is, where there is nothing like it, and even if it arises, it is not welcome. Here dad says to you in childhood: "don’t do it, not good." And how does he know what is good and what is bad? And dad told him too. And all these dads and children - they think alike. Great public mega-brain. We are watching the whole country on New Year's Eve about how the boys went to the bathhouse. At some point, this mega-brain, a traditional society, realizes that in order to resolve internal conflicts and fight external enemies, it needs a leader. That is, we must rally around the king. There is no place to take the tsar, they are all the same, and so begins “come and possess” dear guests, our Rurikovichs. All participants are tuned to the leader as a tuning fork, as a generator of new ideas. If you have a new idea, you, again, go to the king and report it. But he accepts it and broadcasts it into society from above, or discards it. By the way, “traditional society” is a term google and so on.
Successful western startups, IT companies, at least at the time of creation, this is big top, gangs of pirates. Jobs really raised a pirate flag over his office at some point. Silicon Valley Pirates. This is not speech, it is technology. In Russia, IT companies are polls - traditional societies. Everyone thinks the same, there is a king. Of course, I’m exaggerating a little, but in fact it is. In fact, there is an intermediate stage - professionalism. This is also a technology. This is not quite a traditional community, but not yet “big top”. Professionalism is when you are accepted into a team, you must be part of it, in the traditional sense, be like everyone else, but at the same time you only need your “competencies”, you, as a person, as a person, can be completely free, nobody cares , at least pick your nose but at the time of contact you must be formatted and impersonal. That is, you are divided into two parts, on the one do whatever you want, and on the other, professional, be strictly as you should.
But in Russia, even professionalism is embryonic, people only master the basic property of a professional - the creation of complete statements. That is, you communicate with a person as with yours, gradually coming to understanding each other, on an emotional, everyday level. A professional, however, communicates at the level of finished utterances, such communication does not require any kindredness and involvement, but utterances must be whole and complete. It’s not “I tried to do it, it seems, something works out”, “oh, Misha, let's talk later, until it’s clear, but it’s kind of ready,” but “the situation on Thursday is this: paragraphs two and three of task 123 are completed, the alleged the time for completion is next Friday, "" I encountered unforeseen difficulties in implementing paragraph 5, the negotiated deadline will be disrupted. ” Those who have come across this they will understand what I mean, and right away, the rally is a sore subject for the whole industry. Instead of talking to a person like two highly intelligent creatures, we prefer to “sniff”. Let's discuss on skype. Well, let’s what to do with you. The need to clearly state the situation causes a headache in a person. Usually a year of work with a Western customer decides.
An important feature of the “big top” is that after completing the task, looting caravans, for example, people “scatter”. And having run up, they put together their gangs, groups, create new companies. And they carry all the technological breakthroughs that they received in this task, in the previous group. Reproduction by division and budding. Any modern corporation, or mega-corporation, is a traditional society in its lower part, but at the top, always - big gangs. These are pirates, they create or take over corporations, rob them or upgrade, sell and buy, break up, divide, connect and unite. This is a completely different world, and very opaque. The external, official side, as a rule, does not disclose the members of this “gang” in any way. In Russia, there are enough competing to death groups, but they are all organized according to the principle of wolf packs, "went to the rocking chair together." It is extremely rare that they generally change their structure, separate, and then with conflict and a terrible shock for everyone. "Big Top" implies that people, often unfamiliar, quickly gathered, did the job and fled. Technologically advanced.
The main thing, of course, is to be able to communicate with peers, because we have more than enough bosses and subordinates, some know how to obey, others command. It just infuriates me that how many times have I tried to communicate with talented people on the Internet, authors of interesting programs, libraries, or organizers of communities, sites, communication is always wildly slowed by them because they are waiting for either I will head them, I will give work, and they will obey (this is the “business” right away), or vice versa, I will obey them, “I will be at the disposal”, also the “business”. This is a stone age of communication. There is no equal culture of communication at all - this is considered a waste of time. Well, or then personal friendship, that is, no completed statements, no communication algorithms, we will “sniff”, “thump together”. But is it necessary?
Jobs, who “did not understand exactly what he was doing,” actually introduced the big top technology in the development of IT projects. At first he used it intuitively, a pirate flag hung over the office, but after working in Hollywood, which works on the principle of big tops, entrepreneurships, project-oriented-production, he began to consciously work on new projects in Apple, how they work on Hollywood projects: a gang is going pirates, motley talents, but not just in one place for a salary under management, but UNDER THE PROJECT. The deadline of the project, it is at the same time the deadline of the dissolution of the gang, all forces are concentrated on the script, then on the set, then on post-production, only in Apple it was applied on their IT counterparts. The release of the next Mac is like making a movie. This solves many problems, I don’t want to go into details, but for example, you cannot afford to take the best designer in your city to your company, but you can invite him to one project with a clear deadline. Advanced "bandits" have long understood that creating gangs, punching one project and handing it over to the traditional is not only more fun, but also more profitable than clinging to one undertaken business and pulling it in traditional ways for many years. He founded as Jeff Atwood Stackoverflow, or as Tom Preston-Werner, about whom I already wrote, GitHub, got his own, he passed it to “ordinary people”.
It turns out that it is very difficult to compete with such structures, their level is the most advanced possible. The options are as follows. First, to understand how the big top works, why it is so effective, what is the history of the issue. Understand whether we ourselves can work according to such a scheme, try, search. It may be to find a weak spot in this technology and offer your own, stronger one. Indeed, although a society of total competition has spawned a society of competing groups, with their accelerated development and “knowledge expansion”, this is not the only way. The super-traditional Russian and, later, Soviet society had their own advantages and quite competed with the Europeans. Consolidation and sameness have their advantages. But one thing I know for sure, if you don’t understand what is the power of the big top technology that made the West, in general, and the Western IT, in particular,

The big top group as the big top groupProgramming Philosophy
6: Product and Project
5: Reactos and Hummingbirds
4: Shapito Technology
3: Chichikov and Programmer
2: Myth and Language
1: Three-Way Programming