Digging graves, SQL Server, years of outsourcing and your first project
Almost always, we create our problems with our own hands ... with our picture of the world ... with our inaction ... with our laziness ... with our fears. What then becomes very convenient to swim in the public flow of sewer patterns ... after all, it is warm and fun, and the rest do not care - we sniff. But after a hard file comes the realization of a simple truth - instead of generating an endless stream of reasons, self-pity and self-justification, it’s enough to just take and do what you consider the most important for yourself. This will be the starting point of your exact new reality.
For me, the writing below is just such a starting point. The path will not be close ...
All people are socially dependent and subconsciously we all want to be part of society, trying to get approval of our actions from the outside. But together with approval, we will constantly be surrounded by a public assessment, which is supported by internal complexes and constant constraints.
Often we are afraid of failure, constantly putting off things that are important for ourselves and then logically rationalizing in our heads trying to calm ourselves: “it still didn’t work out,” “it won’t find approval from others” and “what's the use of doing this?” Many simply do not know how strong they are, because they have never tried to change something in their life.
After all, if a person does only what he can - he already automatically creates a template in his head: "I can do this ... I will do this ...". But there is nothing outstanding when a person does only what he can. He did this because he could, but at the same time remained in the same range of his original capabilities, in which he had been all this time. But if you could not and did - here you are a real handsome. After all, only when we leave the comfort zone and work beyond the range of our capabilities - only then do we develop and become better.
My first attempt to do at least something meaningful began in the fourth year of the institute. Behind you already had basic C ++ knowledge, and one unsuccessful attempt to memorize all of Richter's books on the urgent advice of a potential employer. By chance, the OpenCV library and a couple of pattern recognition demos caught my eye. Suddenly, night gatherings began in an attempt to figure out how to improve the functionality of this library. Many things did not work out and by reverse engineering I tried to look at products of a similar orientation. It got to the point that I learned to dissect one commercial library and pulled out a little bit from there algorithms that I myself could not implement.
The end of the fifth year was drawing near and I was starting to like more and more what I was doing all this time. Since it was already necessary to start working fully, I decided to write to the developers of the very commercial library where I got my ideas from. It seemed to me that they would easily have taken me to their place, but after a couple of letters about my desire to work with them, our conversation did not lead to anything. There was a slight disappointment, and a strong motivation to prove that I myself can achieve something.
Within a month I made up the site, put everything on a free hosting, prepared the documentation and started selling. There was no money for advertising, and in order to somehow attract the attention of potential customers, I began to distribute my crafts under the guise of an open source. The rebound was about 70%, but, unexpectedly for itself, the remaining people, albeit reluctantly, began to buy. Neither my English curve nor the free hosting on which the site was located bothered anyone. People were satisfied with the combination of low price and basic functionality that covered their basic needs.
There were several regular customers who wanted to invest in my venture as partners. And suddenly the developers of the very library appeared, from which I learned a lot from my time. Gently hinting that their algorithms are patented and do not quarrel with them, so brazenly taking away the clientele. Our conversation was far from cultural, and at a certain stage I decided to send them to search for the three eternal letters of the alphabet. The next day they sent an official letter that they were ready to cooperate with me, but I abruptly cut off the dialogue with them. To be safe from future attacks from these guys, I began to prepare patent documentation and a copyright application.
As time went on, this story gradually began to be forgotten. The plans were to hire a more experienced person to help, but there was not enough money for this. Greed played and wanted to grab a big jackpot. A meeting was planned with a new client, who, as it turned out, in the process of our communication, was located in the same city as me. Sweetly outlining the prospects for cooperation, he proposed to meet in person.
In fact, instead of him, young people of a pleasant appearance came to the meeting and, not particularly asking for my opinion, offered to go outside the city arguing that it was an urgent need to "breathe fresh air." Already on the spot, a personalized shovel was issued in order to test the skills that I acquired in childhood on grandmother's potato plantations. And for an hour in an intelligible form they explained to me my prospects, suggested not to dissipate my strength, stop doing stupid things, and most importantly - stop being rude to serious people.
At one point, the world ceased to seem like a sunny and pleasant place. It’s hard to say if I did the right thing then ... but I gave up ... dropped his hands and hid in a corner. And this largely determined what happened next: latent anger towards others due to unfulfillment, insecurity for many years, apathy in making important decisions for oneself, shifting responsibility for one’s jambs to someone else.
The deferred money was running out quickly and it was urgent to put myself in order, but everything fell out of hand. At that time, my father helped a lot, who through friends I found a place where they would take me without any questions. Later, I learned that for my sake he had incurred obligations to far from the most pleasant people, but that he gave me a chance to show himself.
Preparing for a new job, I again began to get a grasp of Richter and studied Schildt hard. I planned that I would be engaged in development for .NET, but fate in the first month of my official work ordered a little differently. One of the company's employees unexpectedly left the project, and fresh human material was thrown into the newly formed hole.
While my colleague was packing, I had a very epic dialogue with the fund director:
- Do you know the databases?
- Learn overnight. Tomorrow, as a middleman of the base, I’ll push you to the client.
That is how my introduction to SQL Server began. Everything was new, incomprehensible and most often was done by trial and error. I really lacked a number of sensible mentors that I could equal.
Over the next few months, everything looked like a fierce trash. The projects were interesting, but left to the drift by their leadership. The rummages, eternal overtime, and tasks began, which often no one could even formulate normally. My favorite pastime was the eternal revision of the report on the unfolding of ready-made cakes on simple semi-finished products. But since any cake could be a part of another cake, the roof rode strongly from this harsh business logic.
I realized that it would only get worse and decided to act. He refreshed the theory in his memory and decided to try his luck in other places, but at the interviews I did not have enough experience to draw at least a strong June. For the first couple of days, I was impressed by my fails and seriously thought about changing work very early and getting some experience.
He began to intensively study the SQL Server materiel and eventually completely went into database development. I will not hide that this work was a hell for me, where, on the one hand, a practicing schizophrenic in the person of a technical director was amusing every day, and he was accompanied by an Afghan financial director who, in a fit of emotion, bit off his head with rubber ducks during a lunch break.
At one point, I realized that I was ready. He collected all the critical work, ensured a high frequency of releases, and directly normalized relations with customers. As a result, he came and put the findirector in the pose of a felled birch. Now it would be possible to joke about 23-year-old seniors, but that’s how I managed to raise my salary four times.
The next month bursting with pride what I could achieve, but what was the price? The beginning of the working day at 7.30 in the morning and before 10 in the evening. Health began to give the first glitches, and this was against the backdrop of systematic hints from the authorities that it would be better to intentionally file the project than to let you earn more than the average for our hospital. At least in something, but they kept their word, and I faced the dilemma of finding a new job.
After a while I was invited to come for an interview at a grocery company. I planned to leave for a similar position on .NET, but successfully failed the practical task. We already wanted to say goodbye, but the most interesting thing happened after potential employers found out that I had experience with SQL Server. I did not write much about him in my resume because I never thought that I knew much from this area. However, those who interviewed me considered a little different.
I was offered to improve the existing product line for working with SQL Server. Prior to that, they did not have a separate specialist who would be engaged in such activity. Everything was often done by trial and error. New functionality is often simply copied from competitors, without particularly going into details. My task was to show that you can go the other way, working out requests for system representations more efficiently than competitors.
Those couple of months have become an invaluable new experience for me in comparison with the previous activity of smoking cakes. But sooner or later, all the good things come to an end and the management suddenly changed priorities. At that time, the work was done and for me they didn’t come up with anything better than to retrain as a tester, which slightly went against our agreements on the development of new products. I quickly found an alternative - “wait a bit”, try to exercise social activity and at the same time voluntarily agree to leave the development in manual testing.
The work became a monotonous series of regressions, which did not motivate for further development. And in order to officially take off from regressions, I began to write technical articles on Habré, and then on other resources. It didn’t work out very well at first, but the main thing was that I started to like it.
After a while, I was entrusted with downloading the official company profile rating on Stack Overflow. Every day I came across interesting cases, lit up tons of the Hindu code, helped people, and most importantly - studied and gained experience.
By chance, I got on my first SQL Saturday, which was held in Kharkov. My colleague was supposed to tell the audience about the development of databases using products, which we have been doing all this time. I don’t remember why, but at the last moment I had to make a presentation. Denis Reznik, with a traditional friendly smile on his face, transmits a microphone, and you try to tell people something in a stammering voice. At first it was scary, but then "Ostap suffered."
After the event, Denis came up and invited me to speak at a smaller event, which was traditionally held at HIRE. Time passed, the names of the conferences changed, the audiences in which I held the meetings grew a little. Then I did not know what I was subscribing to, but a series of accidents formed my life choice, and then I decided to devote myself to the future.
Looking like specialists like Reznik, Korotkevich, Pilyugin and other cool guys whom I had the chance to meet ... I understood that in the framework of the current work I would not have tasks for quick progress. I had a good theory behind me, but lacked practice.
I was offered to raise a new project from scratch in a new place. Work from the very first day was in full swing. All that I wanted to get from life before I came up with: an interesting project, high salary, the ability to influence the quality of the product. But at some point, I relaxed and made a very serious mistake, right after we finished doing MVP for the client.
Trying to concentrate on the development and provide a better solution, I was less and less able to devote time to management and communication with the client. To help me, they gave me a new man who began to do this instead of me. Then it was difficult for me to understand the cause and effect relationships, but after that our relations with the client began to deteriorate quickly, overtime and stress in the team increased.
For my part, an attempt was made to smooth out the situation on the project, put things in order and return to a more relaxed development, but they did not give me this. Everyone was satisfied with the constant fires that had to be put out.
After analyzing the situation, I decided that I wanted to take a break from all this circus and suggested that the CEO from his previous place of work return to him on the terms that we would be doing a new project together. We discussed all the nuances and a month later planned to start development. A month passed ... then another ... and another. There was an unchanged answer to all my questions - wait. The thought to do something of my own did not leave me, but still I had to temporarily go for freelance helping the peoples of Central Asia to conquer the banking sector of Ukraine.
Literally a month later I learned that the development of my project was quietly started by left-handed persons with the official permission of the former authorities. These guys were cool .NET developers, but had no expertise in what they had to do. From the outside, everything looked like they were quietly throwing me at the project. In fact it was. In a fit of indignation, I began to do this project myself, but the motivation quickly faded.
The former CTO offered to help him on ongoing projects, and I began to do what I could best do - put out the fires. Having struck workaholism again, I reaped its consequences: malnutrition, a sleep pattern far from normal understanding and constant stress. This was all explained by two projects, which I alternately pulled towards a brighter future. One project brought joy to the 24/7 mode of operation, and the second was just a perverted understanding of management, so the team worked in perpetual trouble. This period in my life cannot be called masochism, but there were also funny moments.
You calmly dig up potatoes in your parents ’summer cottage under a retro-wave and then there is an unexpected call:" Serge ... horses stopped running ... ". After a couple of seconds of thought, standing on a shovel and simultaneously training the skills of Grandma Wanga in yourself, you dictate from the memory sequel commands so that a person can fix the problem on the server. I do not wish for a minute about such an experience - it was cool!
But here the fun begins ...
My life was radically changed by one meeting at the end of September 2017.
At that moment, in order to at least somehow cheer myself up from the working routine, I planned to speak at the conference. During lunch, he accidentally exchanged a few words with a colleague in the kitchen. In passing, he told me: “It turns out you are a well-known person ... people know you in other cities.” At first, not understanding what was at stake, he showed me a correspondence in a telegram. I immediately recognized the girl who came to me to speak when I went to the Dnieper with reports. I was very pleased that the person remembers me. Without further ado, he decided to write to her and invited her to Kharkov to a conference, in the framework of which he prepared reports.
I was one of the first to speak, and immediately saw her in the second row. The fact that she came was an unexpected and pleasant event for me. We exchanged a couple of phrases and began my long six-hour lassotherapy marathon. That day was one of the brightest in my life: a completely clogged room, 5 reports in a row and an indescribable feeling when people like to listen to you. It was hard for me to focus on the whole hall and my gaze instinctively reached out for her ... for that girl who had come from another city ... whom I had known for two years, but we hadn’t talked to her ... we just knew about each other all this time .
After the conference, I was tired and very depressed, but still I wanted to make the girl pleasant - inviting her to have dinner together in the company of the people we were both with. In truth, then I was a terrible interlocutor, constantly sore and demanded attention. It’s hard to say what happened to me then. Our walk in the night city also did not work out. It seemed to me that the best thing is to bring the girl to the hotel and go home to sleep. The next day I spent in bed, not having the strength to get up, and only in the evening I started scrolling through my head the words she had said: “Seryozha, I came for you ...”. I sincerely wanted to see her again, but by then she had already left.
We talked for a couple of weeks, until I decided that I needed to go to her ...
On the eve of the release, no one needs crap for the client, I postponed the deployment and went to the Dnieper. It is difficult to say what was going on in my head, but I wanted to see it without even knowing what I would be talking about. We agreed to meet in the park, but I epicly mixed up the address and 5 kilometers went the wrong way. After a while, realizing my mistake, I quickly returned by taxi with the flowers that I found in a gop district. And all this time she was waiting for me with cocoa.
We sat on an unfinished theater stage, drank cold cocoa and talked about everything that came to mind. Jumping from topic to topic, she told me about her difficult past, about the immutability of string data types on .NET ... I caught her every word. She was penetrating and smart, sometimes funny, a little naive, but all that was said was sincere. Already then I realized that I fell in love with her.
Having returned to work, I am in an emergency mode trying to carve out a couple of days of vacation and go to her a second time to admit my feelings. In reality, everything turned out differently ...
My infantility, stupidity, old complexes and my unwillingness to fully believe a person led to the fact that I strongly offended a girl who sincerely tried to like me. In the morning I realized what I had done and at the first opportunity I went live to ask her forgiveness. But she didn’t want to see me. Returning back, I tried to convince myself that I didn’t need it, but was it really so ... For a
month I was angry with myself ... was frustrated with others ... I said such things to a person whom I sincerely liked, for which it is impossible to forgive. From this it was even worse at heart and in the end it ended in a nervous breakdown and severe depression.
My ex-colleague, Dmitry Skripka, who brought me to the gym, helped me find a way out of the vicious circle of self-flagellation and internal complexes.
After that, my life has changed a lot. I really understand what it means to be weak and insecure. But when I started training, I felt the best that the gym can give. This is the very feeling of self-confidence and self-reliance. A feeling of how other people’s attitude towards you is changing. And at that moment I realized that I did not want to return to the previous life that I had. I decided to devote myself to the fact that all this time I put off in my life.
But did you notice that when a person begins something new, then he begins to declare his intentions in the surrounding reality. She constantly tells everyone with burning eyes about her plans, but time passes and nothing happens. Such people constantly say in the future: “I will do it,” “I will achieve it,” “I will change”, and so from year to year they live their Wishlist. They are like a finger-type battery - there is enough motivation charge for only one flash and then everything. I was the same ...
Initially, I planned that in the company of motivated colleagues you can turn mountains, but often the expectations of a bright future diverge from practice. Starting to do our project, we constantly planned and discussed instead of taking and doing.
Often everyone wants to quickly ... everyone wants the first try ... all sprinters ... everyone starts to run, but time passes ... one surrenders ... one surrenders. When the finish line does not loom on the horizon, few want to work hard just because you have to go the distance to the end ... in the morning, afternoon or late at night ... when no one sees, no one praises and no one appreciates what you are doing.
Never share your plans until you realize them. Share only the results, as it would be hard not to do it all yourself. Yes, in this case, the path chosen by us will not always bring pleasure to pink unicorns with a rainbow from the fifth point. We will not always be guided by bright motives in working on our priorities. Often, life will constantly be sent to where you don’t want to go at all. But every time I opened Visual Studio or came into the room, I remembered how I was and what I could be. I remembered a meeting with that girl from the Dnieper, which made me think about my attitude to life ... I understood a lot.
Usually the final word should be capacious enough to be remembered for a long time. I want to quote the words that I once heard in the hall from one intelligent person.
Do you think you come to the gym to fight with glands? No ... you are fighting with yourself ... with your templates ... with your laziness ... with your frames into which you drove yourself. Do you want to constantly solve other people's problems putting off your own for later? Even with small steps, but you need to confidently go to ensure that at one moment find your happiness in life. Because happiness is when principles and rules that you did not invent are not hanging on you. Happiness - when you have a vector of development, and you are already high on the road, and not from the final goal. So maybe it’s still worth it to raise w ... pu and start working on yourself?
Oh yes, I completely forgot ... initially this article was conceived to introduce people to the project that I have been doing all this time. But it turned out that in the process of writing, the priority shifted to describing the reason why I even started doing this activity and why I do not want to give it up in the future. If briefly about the project, then ...
SQL Index Manager is a free and more functional alternative to commercial products from Devart ($ 99) and RedGate ($ 155) and is designed to serve SQL Server and Azure indexes. I can’t say that my application is better than scripts from Ola Hallengren, but due to a more optimized metadata describing and the presence of various useful little things for someone, this product will definitely become useful in everyday tasks.
The latest version of the application can be downloaded atGitHub . Sources are in the same place.
I will be glad to criticism and fitback :)