I once got into an organization that organizes offline conferences. They needed a man to support the site. A man in a jacket and tie was talking to me, introducing himself as the head of the sales department. From general topics quickly moved to the technical. Looked into the code. Own ORM, self-defined template engine, a bit outdated techniques, but in principle everything is harmonious, logical and monotonous. I asked what happened to the previous programmer, to which the source told me a story.
Ten years ago my interlocutor was hired as a sales manager. Almost in the first week of work, he broke his leg and stayed at home for three months. He couldn’t work in his specialty, but the director, knowing that my interlocutor had an engineering education, asked to fill in their business card site with content.
For three months, he managed to not only fill the site with content, but also create a simple conference management system. With reminders, schedules and reviews. Coming out to work, he continued to maintain the system, self-filling it with information about new conferences. Time had to be snatched from the main work, so soon I had to screw in the accounts so that the colleagues themselves kept the database up to date. And where there are accounts for colleagues, you can add visitor accounts.
Over time, he noticed that he began to spend less time on the phone, and more - for sampling data and for the design of mailings. Sales of the organization grew, his personal - grew a little more than the average for the organization. And it is not surprising, because he implemented new techniques first at "his" conferences.
At some point, visitors began to ask for payment via the Internet, so they had to add banking processing. The business has grown, our sales manager has been promoted to head of the department. Time for the "site" was not enough.
And then he ran into a problem. No one in the organization understood the scale to which the “site” had grown. In order to hire a person to support the site, it was necessary to reveal the cards, but my interlocutor did not want this, and it’s not a fact that they would understand him. Therefore, he from the budget of his department began to hire freelancers to solve current problems. So I got there.
I once worked on integrating a tool called Microsoft BizTalk in a semi-government organization. The organization received regular data dumps from partners: by mail, via ftp or even on a CD and had to integrate them. The data formats changed regularly, the partners, too, and they were not interested in sharing data. So, several analysts were engaged in the fact that in a word processor they used to fill tablets, what to convert, discussed at rallies, carried the signature to the superiors and then allowed the contractor-programmer to implement it. Sometimes mistakes happened, and the whole process was unreliable, and then Microsoft came to sell BizTalk, and even promised that since this would be almost the first project in the world with BizTalk, Bill Gates himself would come to see it.
After the project, analysts had to abandon the old documents, and the whole process of converting data to do in BizTalk. It was called "shepherd the sheep between two trees." Between the source data tree and the internal data structure tree, they stretched with the mouse of the line, and where it was necessary to correct the data, small squares-functions resembling wild sheep were placed. In them it was possible to trim a string or match one list of codes to another.
Unfortunately, this interface had several significant limitations. For example, if there was no value in the incoming data, the substitution of the default value became a problem.
It so happened that the cost of BizTalk and the project for its integration came out too high, the annual budget was cracking at the seams. In addition, the "feed the sheep" was not easy. Discontent grew. Contractor decided to dismiss immediately. Most analysts scattered themselves, and one went to the trick. In BizTalk, data conversion rules were stored as XSLT documents in a database. It was not even XSLT 1.0, but some kind of draft XSLT, which was understood by one and only hardly extracted version of the MSXML library. So, our analyst, instead of “grazing sheep between two trees,” learned how to pick out WD-XSLT from the database, append it and put it back. It turned out faster and more reliable, and there was one important bonus: some essential details of the data conversion could be hidden from the interface and concealed from the keen eyes of the boss.
And Bill Gates never arrived.
I had a friend accountant. Not just an accountant, but with a bunch of overseas certificates. And he was engaged not in commodity statements, but in consolidation of accounts for international corporations. And no one, except family members and close friends, knew that an accountant programmed websites at night and played with search engine optimization. It was in the late 90s and the beginning of the two thousandth. There were many opportunities, risks too. All that the accountant earned on the Internet, in the same place he lost. But suddenly it turned out that the skills acquired at night can be fully utilized at the main job. After all, the process of consolidation is the regular merging of dozens or even hundreds of plates with tsiferki by the rules, which he, in general, knew well. For a couple of years, our accountant has written hundreds of subroutines in Visual Basic. Suddenly, the work that used to take a month began to be carried out in a day, the number of errors decreased dramatically, and due to the formalization of the process of opening the shoals in the accountable organizations, which led to an increase in the influence of our little accountant. A few years later he became the head of the department. And then he moved to the CFO position as a competitor and went to travel around five-star hotels in different countries of the world, as it should be for his current status and position.
And what stories do you have about underground programmers?
Source: https://habr.com/ru/post/429034/
All Articles