Hello everyone, I am a forty-year old self-taught programmer, and this is my story.A couple of weeks ago, I came across a graph of the distribution of people interested in technology, IT, and programming. And he made me think about my career.

')
After some 20 years I’ll hit 60. And the likelihood that I will still be able to do what was created is a very tiny amount. These thoughts led me to where it all began.
I debuted as a software developer in 1990, a year after my parents presented me with a Microscope for my 14th birthday.
World in 1990
Then he was a little different. The words "Internet" in the USSR, we still did not know. Parents used in the production of EU computers, which looked like this:

And the hard drives looked like this:

Palm palmtop computers (PDAs) did not yet exist in nature, and their place was taken by the Electronic calculators of various models. One could only dream of a programmable calculator, their prices were exorbitant:

Kin-Dza-Dza was played at the home of the national cinema, Alisa Selezneva regularly fought with space pirates on the central television channels, and this year a stylish three-serial fiction film “The Mediator” was released:

The cold war was ending, peace reigned in space, and the landing in the unmanned mode of the space shuttle Buran I watched the news a year earlier:

Yes, the unmanned landing of a multi-ton object with the aerodynamics of an iron - it was really cool!
My first experience as a developer
As A.V. Stolyarov asserts in his book “Programming: Introduction to the Profession”, a person becomes a programmer when his program is needed by other people and they are ready to pay money for it.
Thanks to the excellent documentation for the Microsha computer, written in the Lianozovo design bureau (which I still keep as an example of how to compile the user manual), I learned BASIC in six months, managed to give up on it in terms of speed of program execution, and started writing your first game in assembler. And next to me there was no one who would understand programming and computers.
A schoolmate lived in a neighboring courtyard, to whom parents presented the computer “Partner 01.01”. His computer was in the box, and the friend did not know how to connect it to the tape recorder to download the programs. I came to him, settled, and we began to alternately visit each other to play. There were few games, and besides between our computers there was a small hardware and software incompatibility up to the format of recording on a magnetic tape. Therefore, we could not download programs from one computer to another.
Fellows in computers were interested only in games, and when all the games were replayed, I showed him how I write the game for myself. It was a vertical scrolling race on the assembler. He fired up this game, and asked him to do the same. I explained that the case would be long: you would have to manually re-type on your computer a long listing of the Assembler program, or drive in kilobytes of the HEX code, correcting the addresses of the procedures and ports that were different on our computers. In the end, I came to him in the evening, and in one session I wrote an analogue of my game, but only in BASIC. There was a road in the game, a machine of the letter “F” and logs from ##### lattice symbols. The longer the game went on, the more the road became, the longer the log and the higher the speed. In the corner clicked the kilometers counter. Now such a game would be called an arcade with a randomly generated landscape.
Having written the game, I went home, saying that it is impossible to drive 100 km in it. After three or four days, a contented friend called and said that he was able to drive more. It turns out that he was round the clock in this simple game, and at some point the logs on the road were placed so that it was possible to drive. Then he called to him more boys, and they were hacked into it without stopping. The parents did not like it, and they let it go that they had to take money for playing on the computer, as the co-operatives in the Spectrum Club did. The flow of volunteers dropped sharply, but he managed to earn some money. He gave me half the money, saying that if it were not for my game, he would not have earned anything at all. So I became a developer, satisfying all the conditions of Stolyarov's criterion.
high school
In the institute, from the point of view of programming, I was well prepared. Not everyone had several years of programming in the high and low level languages ​​plus a burned-out computer that could not stand its transformation into a voice answering machine in conjunction with the Oreanda 204-C tape recorder. There were no “programmer” specialties in our university, but there was a department of microelectronics and semiconductor devices. The department was created for the radio factory, which was built on the outskirts of the city. In the year when I began to study, the staff was no longer paid in salaries and the plant was closed.
In two groups of my specialty there were five people who had a home computer at the time of entering, including me. After graduation, only these people and a couple more people from our stream linked their lives with information technology. I think such an exhaust is terrible.
At the institute we were taught the C language. I had no problems with this imperative language, except for pointers. Knowing Assembler KR580VM80A, and having had time to dig deeper from i8086, I wondered how it was possible to do such a ugly so simple thing, and why this ugly implementation was also accepted into the standard. But I forced myself to take it for granted.
In the last semester of the programming course we were nominally read some confusion of C ++. This language was “taught” by a person who did not understand it at all. Lectures he read on paper. This state of affairs was the norm then, and, as far as I understand, remains the norm to this day. “The concept of an object-oriented paradigm is extremely simple. Each object in the system is an encapsulated abstraction, endowed with the properties of inheritance and polymorphism ”- this is what we have memorized in lectures. As a result, in the practical C ++ exam, I was the only person who wrote a solution in this language. The rest wrote in C. I prepared at home, tormenting the plus part of the TurboC compiler for days, in order to make a single OOP-style program compiled for 300 lines. It was a matter of principle: if I teach C ++, then I must understand how to write and compile at least one program. It was difficult, inconvenient, and puzzling: why invented such a perverted language? Why protect the data inside the program from itself? In the end, I mechanically memorized the constructions of the language and their combination, which form the backbone of the program, which “at least worked”. And on the exam just repeated it. The teacher, like me, was in a trance, when I saw the program compiled in the C ++ exam (it was a watch in which the dial and hands were separate objects). I then promised myself that I would never touch C ++ again. And there was no one near me who would understand the PLO and programming on the pluses, and would say: comrade, there is nothing complicated here.
Studying at the institute, I began to earn money to help my parents. It was the nineties, and every penny was counted. The first serious order was from a fellow student whose father was the director of a private enterprise. They needed a program to account for fuels and lubricants. The idea to make money on my programming skills was tempting, and I agreed. Although, hand on heart, what do I care about fuel and lubricants? I wanted to figure out how to code 3D on a bare processor and play with voxels. But I understood that they pay for it somewhere far away, but not with us. Therefore, I looked out of the database at the corner of my eye, and by that time I had been experimenting with FoxPro for half a year. I came to the office of the enterprise, and began to find out what they really needed. In the language of the developer, I collected the user's history. They showed me some kind of accounting system, and told me their problems. The problem was that they kept sum (monetary) accounting, and they needed quantitative, with details on consumers and storage locations. It is now I say so exactly what was the problem. And then a full pile of mutually exclusive paragraphs was poured on me and expressed the hope that I could sort out this mess. I wrote down everything that I managed to understand, took a month to develop, and made this small accounting system.
The day before the transfer to the customer, I clicked the thought: what if I do not pay for this brain removal? They will say, for example, that the program did not fit, and refuse to pay. And then they will use. Or will not. But I did not sleep at night, I was completely exhausted. I sat, thought, thought, and finally decided: I would insert a time protection. If I am not paid within a month, the program will stop working. If no one uses it, then no one will know about it. And if they pay and use, then after receiving the money I’ll say that in the program directory you just need to delete the file with a specific name. And I made a defense. At FoxPro, making protection is another problem. At that time there were already two decompilers, which practically one-to-one restored the source code. But I, judging that the customer is unlikely to search for a person who breaks the defense, obfuscated the code a bit, hiding the call of a system error from outside eyes. The next day I gave the program, showed how to work in it, but did not receive the promised money.
The amount was small - the deal was about money in the amount of a monthly scholarship. But they told me that they would pay me in a week, when the enterprise would give me a salary. What happened a week later? That's right, I was not paid any money, referring to the fact that the company earned little money this month, and it was not enough for me. I internally praised myself for my foresight. Even if I remain without money, at least I will be satisfied that one day the program (without my intervention!) Refuses to work with bad people. And I did not remind myself again. No means no. And then everything happened like a note. Having plunged into study, I already forgot about my program. I was at home, and suddenly the phone rang. It was my fellow student whose father ordered the program. He said that my program had stopped working, and it already had data and weekly reports for the whole month. I modestly reminded that I was not paid anything for the program. And he calmly said that I would categorically do nothing until I saw the money. A fellow student was very offended, saying that he did not expect such a setup from me. But after two hours I brought the money, and I told him which file to delete. I didn’t deal with him again.
This episode deeply convinced me that the
best friends of girls are diamonds; the programmer’s best friends are his own programs. They will not fail, and will always work as intended. And the only thing I can rely on in my life (besides my parents, of course) is my own programs. They - like people - will not let me down. And in order for them not to fail, the program must be written well.
Completion of studies
At the end of my studies, in the fifth year, I was simultaneously working part time on three jobs. In general, the work was then tight: even adults were grounded. My parents were from those whom it was mentioned in a ridiculous joke: mother is a doctor, and father is an engineer. They could arrange me only in their field of activity. My father in the factory with the RFP was completely deaf: the plant was standing and plundering. Therefore, my mother helped me in finding a job.
Work times
Three times a week I traveled from the city to the village, to the central district hospital, where I worked as a “programmer”. Yes, even then there was a meme "tyzhprogrammist." Support for accounting, payroll, reporting to the tax and pension funds, medical statistics and social insurance. Something inherited from the previous employee. Salary calculation had to be added in accordance with the changing legislation. Medstatistika was written from scratch. FoxPro, Clarion, C for small utilities. At that time we hadn’t seen any local computer networks, and I was unzipping the attached LPT port to connect computers on two floors via an LPT link in Norton Commander. Although, what was my business about accounting, statistics and tax reporting? At night, I dealt with CORDIC algorithms, adapting by miracle the found listing of the Motorola assembler on i8086. I got to BUMP mapping in real time on an i386 microprocessor. I discovered FIDO, and through it, and the demoscene. Assembler, continuous Assembler, and the microscopic size of programs. I made my first intro for my fidosh nodes. And next to me there was no one who would understand this low-level programming of graphics and sound.
Job two
I also worked twice a week in the Medtechnika workshop. Development there was considered to be repaired devices. They gave me all the junk that no one wanted to mess with. There are such types of breakdowns when the device is working or not. To diagnose a problem in such conditions is very difficult. It would be better if he simply burned and did not work, then it would be immediately clear what to repair. I didn’t have experience, and in general I consider myself to be a handle in electronics, therefore I was tormented pretty.
At some point, the owner of the workshop came up with the business idea to buy bulk film for large format X-ray and cut small formats out of it. For some reason, there was a problem with small formats everywhere; medical institutions had nowhere to get them. And to sell the film, I needed packaging. Two kilometer rolls of opaque paper for the inner and outer envelopes were purchased. Welded supports for the rolls, put a metal table. The result was an improvised machine. In this case, I did not participate, only watched from the side. I saw the director and his deputy cutting the paper themselves, trying to come up with a hand-made technology for quickly making an envelope. They stood with a stopwatch, and measured how much time they spent on one envelope. But how did they make this envelope? I was amazed that they did not break the technological operations of cutting, folding and gluing into stages, but did different work consistently for each envelope. Cutting they made a stationery knife for a metal ruler. When marking the sheet, they twisted the ruler this way and that, and it took a lot of time. I could not stand it, walked over, and wondered why they would not mark up directly on the table? This proposal struck them. How simple! They asked what else can be done. I told them squeeze about the organization of technological processes, and made several changes to the machine. And who, in the end, put the cut paper? No, not Tajik from the street. I cut the paper for a month, gradually realizing that I was dumb from such work. A month later, the film ran out, and I started repairing the appliances again. Once I made a mistake, and turned on the transformer without a core. The transformer burned out and had to be rewound. The cost of the spent copper wire was deducted from my, and so meager salary. It finally finished me, and I tied up with the medical equipment.
Job three
The third workplace. Day-through-three watchman in the children's clinic. Great job to read books. If I had the opportunity to drag the computer to this job, at least I would write my programs there. “So I would take a laptop!” The modern reader will say. But I could not even dream of a laptop. I was still fresh in the memory of a trip with my father on a business trip to Moscow at VDNH, where I saw prices for laptops in the shopping pavilion that were higher than the price of the car. I then went shocked, and still could not understand: are there really people who are ready to buy a laptop for SUCH price? And next to me there was no person who would say: dude, in normal offices such laptops are issued for work for free!
Free flight
In 1998 I graduated from college. Diploma with honors on hand. I have two funny jobs with funny salaries. In the Caucasus, the second Chechen war, and I am a conscript. They did not take graduate school - there only by a great cronyism, because the reservation is from the army. A very good prospect - 15 years to study, get a diploma with honors, and with all the luggage of knowledge go to a real war. But thanks to a leaky legislation, I became the official sole guardian, and received a deferment. One problem has been resolved.
However, there was a second problem: the lack of decent work. And there was a third problem: there was a default in the country. That is, before the default, I thought it could not be worse. And when defaulted, he learned what he could. It didn’t make any sense to go to work: the money earned was only enough to get to work. There was only one option left: to go to Nerezinovaya, and there - how to draw a curve. Some relatives of the newly-minted engineers have already moved to Moscow: they worked at construction sites, in the markets, in the trains. At that moment, there was no way to get a job in Moscow: they did not hire Moscow without a residence permit. In fact, the man was an illegal in the capital of his homeland.
A piece of summer, from autumn to spring, I ran on Moscow electric trains, trading in penny goods: poison for cockroaches, insoles, substandard felt pens, books, tea from dust from tea factories, expired coffee, knives for meat grinders, other incredible trash. On weekends, he traded radio phones on the market. At the same time I tried to find a real job, but everywhere there was a refusal due to the lack of registration. Once, it seemed, he had found a company that could hire me. In any case, there was no mention of registration in the requirements, and when I called, the manager did not know if registration was necessary or not. The office was engaged in the organization of accounting / inventory accounting, implemented 1C, and they needed quick people. Reception on a competitive basis. I came for an interview, wrote a test, and out of a crowd of a few dozen people, only two remained. Then there was a personal interview, in which an epic dialogue took place:
- You suit us. And the last question: where do you live?
- In Pushkino. (I shot a corner there).
- Registration Moscow suburbs?
- Not. South of Russia.
- Well, why are you so ... Contest you did not pass!
Competition, mother, did not pass. I passed the blood, I passed the urine, I passed the feces, I fell down on the math.
There was one fleeting positive moment of being in First Throne: I could get to the computer art festival ByteFall-99. He, too, was transferred because of the crisis, but in the end he was carried out. I put in there my intro, which I wrote at the institute. I did not have access to the Internet / Fido computer networks, so the organizers had to keep the coveted diskette with their feet. The organizer worked as an administrator in the Christian mission - some Catholics or Protestants, I do not understand them. He's a fan of Linux, and then I got stuck for half an hour - I first saw Linux in real work.
In the spring, my companion and I realized that there was nothing to catch in Moscow. Eternal legwork from the police, bribes, monkeys, graters with competing "firms" in electric train cars. Living in a hostel with cockroaches and a common shower. We planned to return home and take care of the natural economy - the apiary theme was actual. But on the return of his partner, they took me into the army, and it did not work out with the apiary.
Legal work
1999 The beginning of the summer. I sat and looked at my hands in surprise. While I was in Moscow they became wooden. Fingers have forgotten where the letters on the keyboard are. Where did my leisurely 250 characters / min go? Strange brain game: sometimes I remember the JCUKEN layout of my first computer, although over the years of studying and working with a PC I could already get used to QWERTY.
What can do the engineer of the department of microelectronics in a city where nobody needs it? In fact, only the maintenance of computer accounting systems. And I went to work in the state tax authorities. I was immediately given the position of leading specialist. But the salary ... It was calculated according to some ancient norms, and was purely symbolic. And frankly, what I was concerned about the intricacies of the calculation of income tax on individuals, as amended by DD.MM.YYYY? I was crazy about artificial intelligence and expert systems. In order not to sour at work at all, at night I wrote a virtual player based on a dichotomizer for a game whose theory I could not find anywhere. The expert system is expert and that it can formalize those patterns that the developer himself does not know, and for this it is enough to teach her on the patterns of the “right” game. And when my electronic player beat me, I was just happy. The game was called "Shareholder". My friend and I, who wrote the GUI, planned to sell the game. But nothing came of it. In the end, we laid out the game in free access. After 15 years, I was contacted by the author, who published the rules of this game in the journal Science and Life. He wrote that he found our game, and several times played “in a draw”. It was cool.
A year has passed. The country began to recover from default. Our city-forming machine-building plant began to recover. Well, how to recover ... The guests from Albion, who bought the Soviet Atomic Engineering Plant cheaply, decided to start extracting profit from it, not only by selling equipment for scrap. Through acquaintances, I accidentally learned that an engineering center was being formed at the plant, where experts were recruited. I do not care what is not in my profile, but at least the salary will be adult. In the end, in the diploma supplement, in the graph of engineering design stood "excellent." , , , . , — . , , , ? , , — ! , ? , MPEG-4 …
- - . — MathCad , UniGraphics , AnSys StarCd — - . MathCad — ! AnSys — , ! StarCd STEP-, — ! , , - . Linux! . PHP 4- ? , ! ?
, . , , , « ». . , ( ) , . . 58055, LPT- i386. , i386 , . . , , , , - -, . . , , . , — . , , - . , . , .
. , : , . : , - , , . , . - , . . — . , , . «» , , . : , . -. : , . . StarCd (, ), : . . , , . , - , . , , , . , . , : , ? — , . , « , », .
? . , : , , , , . , «» «». . . , . , , -, 1 «» ? ! ? Flash! VirtualDub AVISynth! , ? , ! — . — .
, — , — . . . : . -, «»? , ! , , ( , ), . ? : , , ? Clear?
, , , . , . — , . . : , . , - - , Linux. , . , . , , : , , . .
2005 year. ! , , . , , . , , ! - , .
, , Linux. ? Linux? , . , . «». «» ? .
, , Linux. SDL, OpenGl, png , ogg . . ( ), ( PC- ), , , , . , . . - .
« ». , « », . , C, C++ Java , , , , . . , - -.
, ++ , . , OpenGL, - , . , «» . : , , , , , etc. « »: / , . : , , . , . , . : , . . , , . , , .
: , - . , . , — . !
, , : - . , . . , , , OpenSource . , . , . . , , , . . - . , . , , . . , — , .
—
On the remote, I ran into the same problems that freelancers face. The biggest problem, in addition to the violation of the diurnal rhythm, was the lack of communication with colleagues. Skype, email, bugtracker, version control system - it's all good, but not a substitute for live communication with their own kind. It is impossible to simply discuss this or that idea or technology. It is impossible to learn and understand anything new just like that, with explanations along the way on the knee. And this is the biggest brake on the development of a specialist.
In order to remain “in the subject line”, I was taken into account by Khabar and Laura, while realizing that this occupation would not lead me to the knowledge of the same level that I gained in the “pre-Internet” era. The Internet forms a very mosaic picture of the world, and it seems that people have already disappeared, able to explain consistently, in detail and accessiblely. With books, too, things are unimportant: for many reasons, I can not "deeply" read from the screen. Therefore, I always buy paper books. But there is a problem with them: most modern books are frank slag. And those books that are really needed, have become a rarity and are not sold in paper form. In general, mankind has entered a phase when there is no place to take deep knowledge, and instead they slip a surrogate in the form of endless pieces of people who "finally understood everything", calls to learn in courses "from some large corporation", arguments about the delights of the remote training and passing open courses in foreign universities in English.
I decided that only work, experience, and projects using new technologies will keep me from falling out of the industry. And OpenSource seemed then a good way out. I had several projects that I could put on public display, after bringing the code into a more or less decent look. I chose one of them, written in C ++ with Qt, and in parallel with the remote, I began to cut a
project for people . I very much hoped that there will be people who are interested in the project, and at least a small core of the development team will be formed. However, the miracle did not happen: periodically people appeared (and I am very grateful to them), who helped me to the point if I couldn’t figure it out, but there was no one “for the permanent”. I drafted the project alone, and continue to do so now. Accordingly, I did not get any experience exchange within the team, due to the lack thereof. (Remark: after publishing on Habré, several people started committing to the project repository. But now I don’t have time to unload these commits and continue group development).
As for the main work on the remote, five years later something happened that was supposed to happen. In the modern world, the software development life cycle is about 5-6 years in the most optimistic case. Further, without a radical introduction of new technologies (which leads to a radical alteration of the entire project), the project will gradually disintegrate until it decays completely. The company understood this, and started moving the entire infrastructure to new rails. To participate in such a major alteration remotely presented no opportunity. It required either a personal presence, or it was necessary to resign. I just got a place to live, and to start a new move, and this time not alone with my family, there was neither the opportunity nor the desire.
Just work
2011. Well, so I sailed. Now there are few options: either freelancing, or a web-studio, or a local manufacturing enterprise.
1. Development freelancing is a very specific thing. I periodically made several orders in the freelance mode, and I know that this is a terrible brainwash. Usually, everything happens according to the same scenario: when trying to save money, the customer finds some muddy performers who are sawing something until about the moment “something starts working”. Artists receive some money, and disappear for the most phantasmagoric reasons. The customer, up to the last, is trying to get the executors to complete the project, but no. As a result, all the deadlines came out, there was no budget, and the customer starts frantically searching for someone on freelance exchanges or friends, who will figure out what has been done and “finish a little”, because, in his opinion, the giant part of the work is already done, already "almost everything works." Or another eternal plot: make me an analogue of VK for a month, pay 8 thousand rubles. In general, this can be a long talk, but in my experience, it is very difficult to find an adequate customer in Russia. The best thing you can count on is making a bunch of small orders for little money. Adequacy is greater in them, but their number is usually limited. As a temporary salary, such work can be and has the right to life, but constantly it is not serious to deal with such things.
2. Web studio, in my opinion, is the path to nowhere. You can pump your skills in several CMS, to deal with a couple of web frameworks. Sharpen PHP, looking at Python and Noda. Well, then what? The endless riveting of sites, the constant search for customers, because the work is a one-time. In our city there is exactly one web studio with a visiting web programmer. There are a couple of freelance entrepreneurs working for food. Someone will say that the Internet is big. Yes, it is, but see the first paragraph about freelancing. In addition, commercial sites deal very boring.
In general, there are no prospects in the development world for me. Yes, I really, really wanted to develop as a developer, but no one needs developers in my environment. In fact, they are needed in several large cities: Moscow, St. Petersburg, Novosibirsk. And if we look at more other settlements, then everything is much more sad there. Here, for example, Perm, 2016 (it is terrible to think about what salaries were in 2011):

These salaries are not ridicule, it is all seriously. But in the above ad, at least there is work. In search of proposals, I went through hh.ru with a filter by region. The nearest developer work is after 250 km. With all the estimates, the following picture emerged, which the brain constantly shoved as unacceptable: if you want to be a developer, go to a big city or change a country. You do not want to leave - break yourself and change the sphere of interests. An unattractive alternative.
I sat, thought, and decided to think wider. Well, the development did not work out. But we must respect ourselves, and not throw away our knowledge, but try to transform them for other things. It is desirable that these things move humanity forward, then at least some sense will appear in my activity. Do we have such directions in our country? What we can do on a global scale on an industrial scale, and make up at least some competition on the world stage? It seems that there is. Aviation, space and nuclear energy. Now, none of these areas can not do without IT technology. If I go to such a sphere, I will make my contribution, whatever it may be. What is more real for me? Nuclear power. In the city there are enterprises of the nuclear industry. A cosmodrome and aircraft factories are not observed. Hence, there is no choice.
Development and IT with the prefix "state"
An acquaintance, I got involved in the organization of the nuclear industry. The number of ~ 120 people, with a gradual increase in the number of staff. All IT came down to the 1C server and the file server, managed by a single admin, periodically abusing alcohol. 80 computers, peer-to-peer network without a domain with snail speed and constant loss of computers from the network. I got a job as a start-up engineer: in the second person who would be engaged in IT, in the opinion of the management, the company did not need.
For half a year I was engaged in the affairs of the commissioning department, and suddenly a list of orders was issued from above to change the structure of the enterprise. In the new structure was provided by the department of information technology. True, for some reason, in addition to IT, the functions of the department secured work on the metrological support of production. Consultations with the authors of the structure showed that there is no error. Admin booze, and, in the absence of other candidates, I prepared the documents of the new department, internally calling it a chimera. In the future, I had to make efforts to ensure that the information technology department was also not assigned to the functions of environmental supervision. This is how the IT department appeared in my enterprise, in this form it still exists today.
What is the relationship between metrology, environmental supervision, and information technology? The most direct - very few people understand what the experts in these areas are doing. Therefore, any "unknown crap" dumped in one pile, regardless of common sense. And the madness continues: now effective managers are transferring the information technology department to the estimate and contractual unit.
Historically, there is a paradoxical situation in the industry: it seems that the industry is high-tech, there is even a group of companies engaged in supercomputation. The industry has a lot of institutions that are engaged in software systems, industrial controllers, process control systems, automation of production and non-production processes and other high-tech things. Along with all this, there is a cohort of managers who perceive computer equipment and networks as an annoying misunderstanding that I would like to dismiss. These managers lack the understanding that the yard already has a different technological structure, and the most important thing in the modern corporate world is information flows that need infrastructure, skilled users, developers and support staff.
If a manager suddenly has an understanding of the need to build an IT infrastructure, then he also has dreams that all this will arise by itself from nowhere. The other extreme is that any information system can be made by simply issuing an order and allocating a large amount from the budget. Coupled with the fact that such managers are very vaguely aware of all the many facets of the IT world, and their knowledge of the IT professions is limited to the names “sysadmin” and “tyzhprogrammist”, it is very difficult to work with such people. It is impossible to explain that yesterday’s documentation technician cannot be made a database specialist, and a very good boy, for whom the head of the department assures himself, cannot be taught to work with networks. And it is even more impossible to explain that a good Linux / Win administrator should not be engaged in procurement, contracts and compilation of endless reports, and the programmer will not be able to write anything intelligible, simultaneously accompanying bookkeeping / personnel / estimates / contracts, turning PBXs in between, filling up printers and leading warehouse base equipment.
The consumer attitude towards IT, multiplied by a lack of understanding of the subject itself, creates strange distortions in the industry: fairly simple and well-scalable things, such as workflow, are very expensive for enterprises. At the same time, targeted information systems are not rarely funded on a residual basis.
There is one more type of managers with whom it is really possible to work fruitfully. These are former engineers of the Soviet school, who are fighting for their work, do not shy away from innovations, and instead of delaying the process, move things forward. At the same time, they have a vision of the resources available, and there are no illusions about the timing and the effort expended on the project, if an adequate analyst is provided.
With such people you can really work. The trouble of such managers is that close to them can be clockwork and vigorous performers who are eager to make money on a complex project, carefully concealing their incompetence. Having received “good” and administrative support, such performers are able to drive the customer’s nose for a long time, having received unpalatable porridge at the exit.
Earlier, I promised that I would never work with 1C again. Life has made its own adjustments. It turned out that at the enterprise at the time of my entry there was no uniform and unified information systems for the main activities. In the field of activity of my start-up department, for each typical project there was its own distinctive, unique accounting software, written by people on the knees. Under the new project, it was also necessary to have a package of automation programs. You could continue to use the old software, which has a lot of complaints, the source code of which disappeared along with the developers. And it was possible to do everything a little differently.
I was lucky that a person working with regulations was working next to me. At the time of my arrival, he was just developing a regulation for a new project, and I was able to adjust the regulation so that it does not contain the names of software products and there are no bindings for specific technologies. I have long and methodically convinced him that such things have no place in the regulations, that the regulations should be written without reference to specific software technologies. Only a pure protocol of production services interaction, nothing more. It worked, and a regulation was adopted that did not tie us to the old information systems, and besides, on the basis of this regulation it was already possible to develop TK, and at the same time protect ourselves from the violent imagination of production workers.
If the need to have regulations for the old traditions was still understood, then no one saw the need for a TK for an information system (especially a technical solution) for a new project. It was amazing for me, but I knew that I wouldn’t hit a finger until I had a signed TK. Developers know that TK is a reliable shield from the subsequent requirements “to redo everything”. Therefore, I wrote and agreed on the TZ, which, in fact, no one read except me, but which was rescued several times in the future.
No other sane software platform, except 1C, I could not find. I dug in the direction of SPO-shnnogo OOBase, a free Debit Plus, I was thinking about Qt, poking at Lazarus, meditating on ExtJs documentation. But none of this set fit. And where would I find specialists other than myself who are able to accompany such exotic things? Then I had to restore the skills of 1C, to deal with the subtleties of writing configuration in thin client mode. As a result, for several months, the 1C, multi-project and multi-user configuration was written. The server was raised on CentOs Linux + PostgreSQL. It was organized to connect the relevant departments from all branches of the enterprise to the leased physical server on the main ring. Yes, I had to do all this myself on pure enthusiasm, as they say, “in one snout”.
And then the fun began. When the system started working, data began to be entered, reports began to form, immediately people appeared who decided to lead the process and apply their, so to speak, hand, to development and to the operation of the system. It also turned out that a system that combines all the projects in the direction that it has automated is required, and nothing more, and at the top corporate level for analytics. In general, as a result of all walks and coordination, the accounting system suddenly became known as the industry one. Then the notion of “accounting” disappeared from the title and the notion of “management” appeared, which obviously exaggerated reality. I got the impression that such mysterious transformations arise because of some fluctuations of the Universe, there is not a very specific person behind them, but the system just works. In the course of all this activity, instead of working out, I had to drive around on business trips, coordinate my papers and write papers for my "managers". The security service was sharply activated, and if previously no one was concerned with where and how the server was located, and my requests for placement rules were an excuse “according to technical requirements”, now more and more new security requirements were consistently put forward, so I and my new network specialist had to move servers to completely different sites four times.
By the time the pilot operation of the system was in place, I was able to convince the management of the advisability of adopting another specialist developer besides me. It was just ridiculous: if I had been told that one person had developed an industry information system, I simply would not have believed it. It does not happen. The problem was that I was the man. When the second specialist appeared, I had to deal with the coordination of putting the system into pilot production, and then into commercial operation. Evaluating now the number of papers and letters, I can say that their text was comparable to the amount of code of the IP itself. The main development was done in a few months. Coordination, before industrial operation, lasted almost three years. The amount that was earned for the enterprise was very ridiculous: approximately one annual salary of the Timlid in Moscow.
We very much hoped that we would be able to earn the principal amounts on annual agreements for the support and development of the system. But no. Traditionally, the system was transferred to support a pocket IT organization. , Linux- PostgreSQL, 1+Windows+Microsoft SQL Server. , Microsoft, , . , Linux . , . , , . . , , , , . , , , . , . . : , .
, « » . , . , 1-! , , , . — - . , , -, .
, , , , . , , . . .
, : — , , , … , ? , . . , . , ( ):
- , , , , , . SAP, ;
- , , :
- :
- , - . , , ;
- . : , - ;
- (), (), / ( );
- . . , .
( ? , ).
, , , - , - . .
- : , , -. : (, , , , ), , / , ( ), , , , , , , , , , . . «» … , , , , , , , - , , , , , , .
, ? , , / . , , — , , ? , . «» . , «», . , . — , « » . : , , … — , -, , .
, , , - , . : , , . . . , - ? , ? , , ? , , : ? , .
, . , , , . : , , , . , , . , , , , : . : .
, . , . , OpenSource . , . , .
, , : ? , ? , : , . , , . , , , - ?
Afterword
, . - , . , : , , -, . 95% .
, .
, , . . , , , . , . It is very important. — .

: , , , , . , . . , .
PS::
, 1, 2