Digging graves, SQL Server, years of outsourcing, and my first project

Digging graves, SQL Server, years of outsourcing, and my first project

Almost always we create our problems with our own hands… our picture of the world… our inaction… our laziness… our fears. That then it becomes very convenient to swim in the public stream of sewer patterns ... after all, it is warm and fun, and the rest is all the same - we sniff. But after a hard fail comes the realization of a simple truth - instead of generating an endless stream of reasons, self-pity and self-justification, you just need to take and do what you consider the most important for yourself. This will be the starting point of your new reality.

For me, what is written 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 for our actions from the outside. But along with approval, we will constantly be surrounded by public assessment, which is supported by internal complexes and constant limiters.

Often we are afraid of failure, constantly putting off important things for ourselves for later, and then logically rationalize in our head trying to calm ourselves down: “it didn’t work out anyway”, “it won’t find approval from others” and “what’s the point of doing this?”. Many simply do not know how strong they are because they have never tried to change anything in their lives.

After all, if a person does only what he can, he 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 it because he could, but at the same time he remained in the same range of his original capabilities, in which he had been all this time. But if you couldn’t and did, then you are a real handsome man. 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 significant began in my fourth year at the institute. I already had basic knowledge of C ++ behind me, and one unsuccessful attempt to memorize all of Richter's books on the urgent advice of a potential employer. By chance I came across the OpenCV library and a couple of demos for image recognition. Unexpectedly, nightly gatherings began in an attempt to figure out how to improve the functionality of this library. Many things did not work out, and through reverse engineering I tried to look at products of a similar orientation. It got to the point that I learned how to dissect one commercial library and pulled out little by little algorithms that I could not implement myself.

The end of the fifth year was approaching, and I began to like more and more what I had been doing all this time. Since it was already necessary to start fully working, I decided to write to the developers of the very commercial library from which I drew my ideas. It seemed to me that they would easily take me in, but after a couple of letters about my desire to work for them, our conversation did not lead to anything. There was a slight disappointment, and a strong motivation to prove that I can achieve something myself.

Within a month, I created a website, put everything on a free hosting, prepared 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 open source. The rebound was about 70%, but, unexpectedly for themselves, the remaining people, albeit reluctantly, began to buy. No one was embarrassed by either my crooked English or the free hosting on which the site was located. 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 then the developers of the very library, from which I learned a lot in due time, suddenly showed up. Gently hinting that their algorithms are patented and you should not quarrel with them, so brazenly taking away the clientele. Our conversation was far from cultural, and at a certain stage I decided to direct them to the 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. In order to be safe from future attacks from these guys, I started to prepare patent documentation and apply for copyrights.

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 I wanted to snatch a big jackpot. A meeting with a new client was planned, which, as it turned out, in the course of our communication, was located in the same city as me. Sweetly describing the prospects for cooperation, he offered to meet in person.

In fact, instead of him, young people of pleasant appearance came to the meeting and, without particularly asking my opinion, they offered to take a ride 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 I acquired in my childhood on my grandmother's potato plantations. And for an hour in an intelligible form, they explained to me my prospects, suggested not to scatter my strength, stop doing stupid things, and most importantly, stop being rude to serious people.

In one moment, the world ceased to seem like a sunny and pleasant place. It is difficult to say whether I did the right thing then ... but I gave up ... I dropped my hands and hid in a corner. And this largely determined what happened next: latent anger towards others due to lack of fulfillment, uncertainty for many years, apathy in making important decisions for oneself, shifting responsibility for one's jambs to someone else.

The deferred money quickly ended and it was necessary to urgently put yourself in order, but everything fell out of hand. At that time, my father helped a lot, who, through acquaintances, found a place where they would take me without any questions. Later I found out that for my sake he got into obligations to far from the most pleasant people, but by this he gave me a chance to show himself.

Preparing for a new job, I again began to read Richter and intensively studied Schildt. I planned that I would be developing under .NET, but fate decided a little differently in the first month of my official labor activity. One of the company's employees suddenly left the project, and fresh human material was thrown into the newly formed hole.

While a colleague was packing things, I had a very epic dialogue with the financial director:

Do you know databases?
- Нет.
- Learn overnight. Tomorrow, as the middle of the basist, I will sell you to the client.

This is how my acquaintance with SQL Server began. Everything was new, incomprehensible and most often done by trial and error. I really lacked a sensible mentor nearby, whom I could look up to.

The next few months, everything looked like a fierce trash. The projects were interesting, but left to chance by the management. The rush began, eternal overtime and tasks that often no one could even formulate normally. My favorite pastime was the eternal revision of the report on laying out ready-made cakes into simple semi-finished products. But since any cake could be part of another cake, this harsh business logic went crazy.

I realized that it would only get worse and decided to act. I refreshed the theory in my memory and decided to try my luck in other places, but at the interviews I did not have enough experience to pull at least a strong June. For the first couple of days, I was impressed by my fails and seriously thought that it was too early to change jobs and that I needed to gain experience.

I began to intensively study the materiel in SQL Server and eventually completely went into database development. I will not hide that this job was a living hell for me, where, on the one hand, a practicing schizophrenic in the person of a technical director made fun every day, and he was accompanied by an Afghan financial director who, in a fit of emotions, bit off the heads of rubber ducks at lunchtime.

At one point, I realized that I was ready. He took over all critical work, ensured a high frequency of releases, and directly normalized relationships with customers. As a result, he came and put the financial director in the pose of a felled birch. Now one could joke about 23-year-old seniors, but that's how I managed to raise my salary four times.

The next month I was bursting with pride about what I was able to achieve, but what was the price? Start of the working day at 7.30 am and until 10 pm. Health began to fail for the first time, and this was against the background of systematic hints from the authorities that it would be better if we deliberately failed the project than let you earn more than it should be "on average for our hospital." At least in some way, but they kept their word, and I was faced with 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 in .NET, but I successfully failed the practical task. We already wanted to say goodbye, but the most interesting thing happened after potential employers found out that I have experience with SQL Server. I didn’t write much about him in my resume because I never thought that I knew a lot from this area. However, those who interviewed me thought differently.

I was asked to improve the existing line of SQL Server products. 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 was often simply copied from competitors, without much going into details. My task was to show that it is possible to go the other way, working out requests to system views better than competitors.

Those couple of months were an invaluable new experience for me compared to the previous cake-smoking activity. But all good things come to an end sooner or later, and the leadership suddenly changed priorities. At that time, the work was done and nothing better was thought up for me than to retrain as a tester, which was a bit contrary to our agreements on the development of new products. They quickly found an alternative for me - “wait a bit”, try to engage in social activity and at the same time voluntarily agree to leave development for manual testing.

The work became a monotonous series of regressions, which did not motivate further development. And in order to officially shirk regressions, I began to write technical articles on Habré, and then on other resources. At first it didn’t work out very well, but the main thing was that I started to like it.

After a while, I was entrusted with downloading the rating of the official company profile on Stack Overflow. Every day I came across interesting cases, smoked tons of Hindu code, helped people, and most importantly, I learned and gained experience.

By chance, I got to my first SQL Saturday, which was held in Kharkov. My colleague had to talk to the audience about developing databases with products, which we have been doing all this time. I don't remember why, but at the last moment I had to make the presentation. Denis Reznik, with his traditional benevolent smile on his face, passes the microphone, and you try to tell people something in colors in a stammering voice. At first it was scary, but then "Ostap suffered."

After the event, Denis came up and offered me to speak at a smaller event, which traditionally took place at HIRE. Time passed, the names of conferences changed, the audiences in which I held meetups grew a little. Then I didn’t know what I was subscribing to, but a series of accidents shaped my life choice, and what I decided to devote myself to in the future.

Looking up to specialists like Reznik, Korotkevich, Pilyugin and other cool guys with whom I happened to meet ... I understood that within the framework of the current work I would not have tasks for rapid progress. Behind was a good theory, but not enough practice.

I was offered to raise a new project from scratch in a new location. Work was in full swing from the very first day. Everything that I wanted to get from life before, I got: an interesting project, a high salary, the opportunity to influence the quality of the product. But at a certain point, I relaxed and made a very serious mistake, right after we finished doing an MVP for the client.

Trying to focus on development and provide a better solution, I managed to devote less and less time to management and communication with the client. To help me, they gave me a new person who started doing this instead of me. Then it was difficult for me to understand the cause-and-effect relationships, but after that our relationship with the client began to deteriorate rapidly, overtime and tension in the team increased.

On my part, an attempt was made to level the situation on the project, put things in order and return to a more relaxed development, but I was not allowed to do this. All arranged constant fires that had to be extinguished.

After analyzing the situation, I decided that I wanted to take a break from all this circus and suggested that the CEO from the previous place of work return to him on the terms that we would do a new project together. We discussed all the details and planned to start development in a month. A month passed ... then another ... and another. All my questions were answered invariably - wait. The idea to do something of my own did not leave me, but still I had to temporarily go on freelance helping the peoples of Central Asia to conquer the banking sector of Ukraine.

Literally a month later I find out that the development of my project was quietly started by left-wing individuals with the official permission of the former bosses. These guys were cool .NET developers, but they didn't have any expertise in what they were supposed to do. From the outside, everything looked like I was being quietly thrown into 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 current projects, and I started doing what I could do best - putting out fires. Having hit workaholism again, I reaped its consequences: malnutrition, sleep patterns far from normal understanding and constant stress. This was all explained by two projects that I alternately pulled towards a brighter future. One project brought joy with a 24/7 mode of operation, and on the second there were simply perverted understandings of management, so the team worked in an eternal rush. This period in my life can only be called masochism, but there were also funny moments.

You calmly dig potatoes in your parents' dacha under a retrowave and then an unexpected call: “Serge ... the horses have stopped running ...”. After a couple of seconds of thinking, standing on a shovel and simultaneously training the skills of Grandma Vanga, you dictate sequel commands from memory so that a person can fix the problem on the server. I don't wish for a minute about this experience - it was awesome!

But this is where things get interesting...

One meeting at the end of September 2017 drastically changed my life.

At that moment, in order to somehow cheer myself up from the working routine, I planned to speak at the conference. During lunch, I accidentally exchanged a few words with a colleague in the kitchen. In passing, he said to me: “It turns out that you are a well-known person ... people in other cities know you as well.” At first, not understanding what was at stake, he showed me the correspondence in a telegram. I immediately recognized the girl who came to my performances when I went to the Dnieper with reports. I was extremely pleased that a person remembers me. Without further thought, I decided to write to her and invited her to Kharkov for a conference, in which I prepared reports.

I was one of the first to speak, and immediately saw her in the second row. The fact that she arrived was an unexpected and pleasant event for me. We exchanged a couple of phrases and began my long marathon of turning six hours long. That day was one of the brightest in my life: a completely packed hall, 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 room and my eyes instinctively went to her… to that girl who came from another city… whom I knew for two years, but we never communicated with her… we just knew about each other all this time .

After the conference, I was tired and very depressed, but still I wanted to please the girl by inviting her to dinner together in the company of people with whom we were both. In truth, I was a terrible conversationalist then, constantly sarcastic and demanded attention. It is difficult to say what happened to me then. Our walk around the city at night did not work out either. It seemed to me that the best thing is to bring the girl to the hotel and go home to sleep. I spent the next day in bed, not having the strength to get up, and only in the evening I began to scroll through the words she said in my head: “Seryozha, I came for you ...”. I sincerely wanted to see her again, but by that time 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 transferred the deployment and went to the Dnieper. It's hard to say what was going on in my head, but I wanted to see her, not even knowing what I was going to talk about. We agreed to meet in the park, but I epically mixed up the address and walked 5 kilometers in the wrong direction. After a while, realizing my mistake, I quickly returned in a taxi with flowers that I found in some gop-area. And all this time she was waiting for me with cocoa.

We sat on the unfinished theater stage, drinking cold cocoa and talking about everything that came to mind. Jumping from topic to topic, she told me about her difficult past, about the inmutability of string data types in .NET ... I hung on her every word. She was insightful and intelligent, sometimes funny, a little naive, but everything she said was sincere. Even then I realized that I fell in love with her.

Back at work, I'm in an emergency mode trying to find a couple of vacation days and go to her a second time to confess my feelings. In fact, everything turned out differently ...

My infantilism, stupidity, old complexes and unwillingness to fully trust a person led to the fact that I greatly offended a girl who sincerely tried to please 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. Coming back, I tried to convince myself that I did not need it, but was it really so ...

For a month I was angry with myself… lashed out at others… said such things to a person whom I sincerely liked, for which it is impossible to forgive. From this it was even worse in my soul and in the end it all ended in a nervous breakdown and severe depression.

A former colleague, Dmitry Skripka, helped me find a way out of the vicious circle of self-flagellation and internal complexes, who led me to the gym.

After that, my life 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 same feeling of confidence in yourself and in your abilities. The feeling of how other people's attitude towards you changes. And at that moment I realized that I did not want to return to the old life that I had. I decided to dedicate myself to what I've been putting off all this time in my life.

But have you noticed that when a person starts something new, he begins to declare his intentions to the surrounding reality. He constantly tells everyone with burning eyes about his plans, but time passes and nothing happens. Such people constantly say in the future: “I will do”, “I will achieve”, “I will change” and so from year to year they live their Wishlist. They are like a finger battery - a motivational charge is enough for only one flash and then that's it. I was the same...

Initially, I planned that in the company of motivated colleagues, you can move mountains, but often the expectations of a brighter future diverge from practice. Starting to do our project, we constantly planned and discussed instead of taking and doing.

Often everyone wants to go fast… everyone wants on the first try… all the sprinters… everyone starts to run, but time passes… one gives up… the second one gives up. When the finish line is not looming on the horizon, few people want to work hard simply because they 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 have implemented them. Share only the results, no matter how hard it is to do it all yourself. Yes, in this case, the path we have chosen will not always bring pleasure and 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 send you where you don’t want to go at all. But every time I opened Visual Studio or came to the gym, I was reminded of how I was and how I can be. I remembered meeting with that girl from the Dnieper who made me think about my attitude to life ... I understood a lot.

Usually the final word should be capacious enough to stick in memory for a long time. I want to quote the words that I once heard in the hall from a smart person.

Do you think you come to the gym to fight with irons? No... you're fighting with yourself... with your patterns... with your laziness... with your limits in which you have driven yourself. Do you want to constantly solve other people's problems while postponing your own? Let small steps, but you need to confidently move towards finding your happiness in life at one moment. Because happiness is when principles and rules that you didn’t come up with hang on you. Happiness is when you have a development vector, and you get high already along the way, and not from the final goal. So maybe it’s still worth raising w ... ny and starting to work on yourself?

Oh yes, I completely forgot ... this article was originally conceived to acquaint people with a project that I have been doing all this time. But it so happened that in the process of writing, the priority shifted to describing the reason why I started doing this activity in the first place and why I don’t want to give it up in the future. 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 maintain 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 description of metadata and the presence of various useful little things for someone, this product will definitely become useful in everyday tasks.

Digging graves, SQL Server, years of outsourcing, and my first project

The latest version of the app can be downloaded from GitHub. The sources are right there.
I will be glad to criticism and feedback 🙂

Source: habr.com

Add a comment