Копаене на гробове, SQL Server, години аутсорсинг и вашият първи проект

Копаене на гробове, SQL Server, години аутсорсинг и вашият първи проект

Почти винаги създаваме проблемите си със собствените си ръце... с нашата картина на света... с нашето бездействие... с нашия мързел... със нашите страхове. След това става много удобно да се носиш в социалния поток от канализационни шаблони... в края на краищата е топло и забавно и не се интересувай от останалото - нека го подушим. Но след тежък провал идва осъзнаването на една проста истина - вместо да генерирате безкраен поток от причини, самосъжаление и самооправдания, достатъчно е просто да вземете и да направите това, което смятате за най-важно за себе си. Това ще бъде отправната точка за вашата нова реалност.

За мен написаното по-долу е точно такава отправна точка. Пътят няма да е близо...

Всички хора сме социално зависими и подсъзнателно всички искаме да сме част от обществото, стремейки се да получим одобрение за действията си отвън. Но наред с одобрението, постоянно ще бъдем заобиколени от обществена оценка, която е подсилена от вътрешни комплекси и постоянни ограничители.

Често се страхуваме от провал, постоянно отлагаме нещата, които са важни за нас, а след това логично рационализираме в главите си, опитвайки се да се успокоим: „така или иначе не се получи“, „това няма да намери одобрение от другите“ и „Какъв е смисълът да правя това все пак?“ Много хора просто не знаят колко са силни, защото никога не са се опитвали да променят нещо в живота си.

В крайна сметка, ако човек прави само това, което може, той вече автоматично създава шаблон в главата си: „Мога да направя това... Ще направя това...“. Но няма нищо необичайно в това човек да прави само това, което може. Правеше го, защото можеше, но в същото време оставаше в същия диапазон на първоначалните си възможности, в който се намираше през цялото време. Но ако не си успял и си го направил, значи си истински красив мъж. В крайна сметка само когато излезем от зоната си на комфорт и работим извън обхвата на възможностите си – само тогава се развиваме и ставаме по-добри.

Първият ми опит да направя нещо смислено започна през четвъртата ми година в института. Вече имах основни познания по C++ зад гърба си и един неуспешен опит да наизустя всички книги на Рихтер по спешен съвет от потенциален работодател. Случайно попаднах на библиотеката OpenCV и няколко демонстрации за разпознаване на изображения. Неочаквано започнаха нощни събирания в опит да се разбере как да се подобри функционалността на тази библиотека. Много неща не се получиха и чрез обратно инженерство се опитах да разгледам продукти с подобен фокус. Стигна се дотам, че се научих как да анализирам една комерсиална библиотека и малко по малко извадих оттам алгоритми, които не можех да внедря сам.

Наближаваше краят на петата ми година и започнах все повече да харесвам това, което съм правила през цялото това време. Тъй като трябваше да започна работа на пълен работен ден, реших да пиша на разработчиците на много търговската библиотека, от която получих идеите си. Струваше ми се, че лесно могат да ме приемат, но след няколко писма за желанието ми да работя с тях, разговорът ни не доведе до нищо. Имаше леко разочарование и силна мотивация да докажа, че мога да постигна нещо сам.

За един месец направих сайт, качих всичко на безплатен хостинг, подготвих документация и започнах да продавам. Нямаше пари за реклама и за да привлека по някакъв начин вниманието на потенциални клиенти, започнах да разпространявам занаятите си под прикритието на отворен код. Отскокът беше приблизително 70%, но неочаквано останалите хора, макар и неохотно, започнаха да купуват. Никой не се смути от кривия ми английски или безплатния хостинг, на който се намира сайта. Хората бяха доволни от комбинацията от ниска цена и базова функционалност, която покрива основните им нужди.

Появиха се няколко постоянни клиенти, които искаха да инвестират в моето начинание като партньори. И тогава внезапно се появиха разработчиците на същата библиотека, от която научих много навремето. Леко намеквайки, че алгоритмите им са патентовани и няма смисъл да се караме с тях, така нагло отнемат клиентела. Разговорът ни беше далеч от културата и на един етап реших да ги насоча към търсенето на трите вечни букви от азбуката. На следващия ден изпратиха официално писмо, че са готови да ми сътрудничат, но аз внезапно прекъснах диалога с тях. За да се защитя от бъдещи атаки от тези момчета, започнах да подготвям патентна документация и заявление за авторски права.

С течение на времето тази история постепенно започна да се забравя. Планът беше да се наеме по-опитен човек за помощ, но нямаше достатъчно пари за това. Алчността влезе в игра и исках да грабна голям джакпот. Беше планирана среща с нов клиент, който, както се оказа, по време на нашата комуникация, се намираше в същия град като мен. Сладко описвайки перспективите за сътрудничество, той предложи да се срещнем лично.

Всъщност млади хора с приятна външност дойдоха на срещата вместо него и, без да ме питат специално за мнението ми, предложиха да се возят извън града с аргумента, че спешно трябва да „поеме чист въздух“. Още на място ми дадоха персонализирана лопата, за да тествам уменията, които придобих като дете в картофените плантации на баба ми. И в продължение на един час перспективите ми бяха обяснени по разбираем начин, предложиха ми да не си хабя енергията, да спра да правя глупости и най-важното да спра да бъда груб със сериозни хора.

В един момент светът спря да изглежда слънчево и приятно място. Трудно е да се каже дали постъпих правилно тогава... но се отказах... Предадох се и се скрих в ъгъла. И това до голяма степен определи какво се случи след това: скрит гняв към другите поради липса на реализация, несигурност в продължение на много години, апатия при вземането на важни решения за себе си, прехвърляне на отговорността за грешките на някой друг.

Спестените пари бързо свършваха и трябваше спешно да се приведа в ред, но всичко излизаше от контрол. Тогава много помогна баща ми, който чрез приятели намери място, където да ме заведат без никакви въпроси. По-късно разбрах, че заради мен той е поел задължения към далеч не най-приятните хора, но с това ми даде шанс да се покажа.

Подготвяйки се за нова работа, отново започнах да чета Рихтер и интензивно изучавах Шилд. Планирах, че ще разработвам за .NET, но съдбата отреди малко по-различно в първия месец от служебната ми работа. Един от служителите на компанията неочаквано напусна проекта и в новообразуваната дупка беше добавен свеж човешки материал.

Докато колегата си опаковаше нещата, имах много епичен диалог с финансовия директор:

- Знаете ли бази данни?
- Не.
- Научете го за една нощ. Утре, като среден основен мениджър, ще ви продам на клиента.

Така започна моето запознанство със SQL Server. Всичко беше ново, неразбираемо и най-често направено чрез проба-грешка. Наистина ми липсваше да имам умен наставник наблизо, на когото да мога да се равнявам.

Следващите няколко месеца всичко приличаше на жесток боклук. Проектите бяха интересни, но ръководството ги остави на произвола. Започнаха извънредни бързания, вечен извънреден труд и задачи, които често никой дори не можеше да формулира правилно. Любимото ми занимание беше вечното преразглеждане на доклада за подреждането на готови торти в прости полуготови продукти. Но тъй като всяка торта може да бъде част от друга торта, тази сурова бизнес логика наистина ме подлуди.

Разбрах, че нещата ще се влошат само и реших да действам. Освежих паметта си на теорията и реших да опитам късмета си на други места, но на интервютата нямах достатъчно опит, за да се класирам поне за силен младши. Първите няколко дни бях впечатлен от неуспехите си и сериозно се замислих, че все още е много рано за смяна на работа и трябва да натрупам опит.

Започнах интензивно да изучавам хардуера на SQL Server и с течение на времето изцяло се насочих към разработка на бази данни. Няма да крия, че тази работа за мен беше истински ад, където, от една страна, един практикуващ шизофреник в лицето на техническия директор се забавляваше всеки ден, а в това беше придружен от афганистански финансов директор, който, в пристъп на емоции отхапа главите на гумени патета по време на обедната почивка.

В един момент разбрах, че съм готов. Той пое цялата критична работа, осигури висока честота на издания и директно нормализира отношенията с клиентите. В резултат на това той дойде и постави финансовия директор в положението на отсечена бреза. Сега може да се шегуваме с 23-годишни пенсионери, но така успях да вдигна четири пъти заплатата си.

Следващия месец се пръснах от гордост от това, което успях да постигна, но на каква цена? Работният ден започва в 7.30 часа и завършва в 10 часа. Вашето здраве започна да показва първите си неуспехи и това беше на фона на систематични намеци от ръководството, че е по-добре за нас умишлено да провалим проекта, отколкото да ви позволим да печелите повече от „средното за нашата болница“. Поне в някои отношения те удържаха на думата си и аз бях изправен пред дилемата да намеря ново място на работа.

След известно време бях поканен да дойда на интервю в хранителна компания. Смятах да заема подобна позиция в .NET, но се провалих с практическата задача. Щяхме да се сбогуваме, но най-интересното се случи след като потенциални работодатели разбраха, че имам опит в работата със SQL Server. Не писах много за това в автобиографията си, защото никога не съм смятал, че знам много в тази област. Тези, които ме интервюираха обаче, мислеха малко по-различно.

Предложиха ми да подобря съществуващата линия продукти за работа с SQL Server. Преди това не са имали отделен специалист, който да се занимава с подобни дейности. Често всичко се правеше чрез проба и грешка. Новата функционалност често беше просто копирана от конкурентите, без да се навлиза в много подробности. Целта ми беше да покажа, че можете да отидете в обратната посока, обработвайки заявки към системни изгледи по-добре от конкурентите.

Тези няколко месеца се превърнаха в безценно ново преживяване за мен в сравнение с предишното занимание с опушване на торти. Но всички хубави неща рано или късно свършват и приоритетите на ръководството внезапно се променят. По това време работата беше свършена и те не можаха да измислят нищо по-добро за мен, освен да се преквалифицирам като тестер, което малко противоречи на нашите споразумения за разработване на нови продукти. Те бързо намериха алтернатива за мен - да „изчакам малко“, да се опитам да се включа в социална дейност и в същото време доброволно да се съглася да оставя разработката за ръчно тестване.

Работата се превърна в монотонна поредица от регресии, които не мотивираха по-нататъшното развитие. И за да избегна официално регресиите, започнах да пиша технически статии на Habré, а след това и на други ресурси. В началото не се получи много добре, но основното е, че започна да ми харесва.

След известно време ми беше поверено да изтегля рейтинга на официалния профил на компанията в Stack Overflow. Всеки ден попадах на интересни случаи, изпушвах тонове индийски код, помагах на хората и най-важното - учех и трупах опит.

Случайно попаднах на първата си SQL събота, която се проведе в Харков. Моят колега трябваше да говори с публиката за разработването на бази данни с помощта на продукти, което правим през цялото това време. Не помня защо, но в последния момент трябваше да направя презентацията. Денис Резник, с традиционната си приятелска усмивка на лицето, подава микрофона, а вие със заекващ глас се опитвате да кажете нещо на хората. Отначало беше страшно, но след това „Остап се увлече“.

След събитието Денис дойде и ме покани да говоря на по-малко събитие, което традиционно се проведе в HIRE. Времето минаваше, имената на конференциите се променяха, а публиката, в която провеждах срещи, нарастваше малко по малко. Тогава не знаех за какво се записвам, но поредица от инциденти оформиха житейския ми избор и на какво реших да се посветя в бъдеще.

Гледайки на специалисти като Резник, Короткевич, Пилюгин и други готини момчета, които имах шанса да срещна... Разбрах, че в рамките на текущата ми работа няма да имам задачи за бърз напредък. Имах добра теория зад гърба си, но ми липсваше практика.

Предложиха ми да започна нов проект от нулата на ново място. Работата кипеше от първия ден. Получих всичко, което преди това исках от живота: интересен проект, висока заплата, възможност да повлияя на качеството на продукта. Но в определен момент се отпуснах и направих много сериозна грешка, веднага след като завършихме създаването на MVP за клиента.

Опитвайки се да се концентрирам върху развитието и предоставянето на по-добро решение, успях да отделя все по-малко време за управление и комуникация с клиента. За да ми помогнат, ми дадоха нов човек, който започна да прави това за мен. Тогава ми беше трудно да разбера причинно-следствените връзки, но след това отношенията ни с клиента започнаха бързо да се влошават, извънредният труд и напрежението в екипа се увеличиха.

От моя страна беше направен опит да се изравни ситуацията по проекта, да се въведе ред и да се върне към по-спокойно развитие, но не ми беше позволено да го направя. Всеки имаше постоянни пожари, които трябваше да бъдат гасени.

След като анализирах ситуацията, реших, че искам да си почина от целия този цирк и поканих изпълнителния директор от предишната ми работа да се върне при него при условие, че ще направим нов проект заедно. Обсъдихме всички нюанси и планирахме да започнем разработката след месец. Мина месец... после още един... и още един. На всичките ми въпроси имаше постоянен отговор - чакай. Идеята да правя нещо мое никога не ме е напускала, но все пак трябваше временно да отида на свободна практика, помагайки на народите от Централна Азия да завладеят банковия сектор на Украйна.

Буквално месец по-късно установявам, че разработката на моя проект е тихомълком започната от левичари с официалното разрешение на бившите ми началници. Тези момчета бяха страхотни .NET разработчици, но нямаха опит в това, което трябваше да направят. Отстрани изглеждаше, че тихо ме хвърлят в проекта. Всъщност това беше така. В пристъп на възмущение започнах сам да правя този проект, но мотивацията бързо изчезна.

Бившият технически директор предложи да му помогне с текущи проекти и аз започнах да правя това, което знаех най-добре - да гася пожари. За пореден път изпадайки в работохолизъм, пожънах последствията от него: лошо хранене, режим на сън, който беше далеч от нормалното и постоянен стрес. Всичко това се обясняваше с два проекта, които последователно дръпнах към светло бъдеще. Един проект донесе радост, защото работеше 24 часа в денонощието, 7 дни в седмицата, но вторият проект просто имаше изкривени управленски разбирания, така че екипът работеше в постоянна забързаност. Този период от живота ми не може да се нарече по друг начин освен мазохизъм, но имаше и смешни моменти.

Вие спокойно копаете картофи в дачата на родителите си, докато слушате повторна вълна и след това неочаквано обаждане: „Серьога... конете спряха да бягат...“. След няколко секунди размисъл, стоейки на лопата и едновременно с това тренирайки уменията на баба си Ванга, вие диктувате команди за продължение от паметта, така че човек да може да коригира проблема на сървъра. Не искам нито минута за това преживяване – беше готино!

Но тук започва забавлението...

Една среща в края на септември 2017 коренно промени живота ми.

В този момент, за да се развеселя някак си от работната рутина, планирах да говоря на конференцията. По време на обяда случайно размених няколко думи с колега в кухнята. Той небрежно ми каза: „Оказва се, че си известна личност... и в други градове те познават“. Отначало, без да разбира за какво говори, той ми показа кореспонденцията в телеграма. Веднага разпознах момичето, което идваше на моите представления, когато отидох в Днепър, за да дам доклади. Бях изключително доволен, че човекът се сети за мен. Без да мисля повече, реших да й пиша и я поканих в Харков на конференция, в рамките на която подготвях доклади.

Аз бях един от първите, които заговориха, и веднага я видях на втория ред. Фактът, че тя пристигна, беше неочаквано и приятно събитие за мен. Разменихме няколко фрази и моят дълъг шестчасов маратон на лазери започна. Този ден беше един от най-ярките в живота ми: пълна зала, 5 доклада подред и неописуемо усещане, когато хората обичат да те слушат. Беше ми трудно да фокусирам цялата стая и погледът ми беше инстинктивно привлечен към нея... към онова момиче, което дойде от друг град... което познавах от две години, но никога не сме общували... просто знаехме един за друг през цялото това време.

След края на конференцията бях уморен и много депресиран, но все пак исках да зарадвам момичето - като я поканя на вечеря заедно в компанията на хора, с които бяхме и двамата. Всъщност тогава бях ужасен събеседник, непрекъснато саркастичен и изискващ внимание. Трудно е да кажа какво се случи с мен тогава. Разходката ни из нощния град също не мина добре. Струваше ми се, че най-добре е да заведа момичето в хотела и да се прибера да спя. Следващия ден прекарах в леглото, без да имам сили да стана и едва вечерта започнах да повтарям в главата си думите, които каза: „Серьожа, дойдох за теб...“. Искрено исках да я видя отново, но по това време тя вече беше заминала.

Говорихме няколко седмици, докато реших, че трябва да отида при нея...

В навечерието на освобождаването никой не се нуждае от глупости за клиента, преместих разполагането и отидох в Днепър. Трудно е да се каже какво се случваше в главата ми, но исках да я видя, дори не знаех за какво ще говоря. Уговорихме се да се видим в парка, но аз епично обърках адреса и тръгнах 5 километра в грешната посока. След известно време, осъзнавайки грешката си, бързо се върнах с такси с цветя, които намерих в някакъв гоп квартал. И през цялото това време тя ме чакаше с какао.

Седяхме на недовършената театрална сцена, пиехме студено какао и си говорехме всичко, което ни хрумне. Прескачайки от тема на тема, тя ми разказа за трудното си минало, за неизменността на типовете низови данни в .NET... Задържах всяка нейна дума. Беше проницателна и умна, понякога забавна, малко наивна, но всичко, което казваше, беше искрено. Още тогава разбрах, че съм се влюбил в нея.

Връщайки се на работа, бях в авариен режим, опитвайки се да си измъкна няколко дни ваканция и да отида при нея за втори път, за да призная чувствата си. В действителност всичко се оказа различно...

Моята незрялост, глупост, стари комплекси и нежелание да се доверя напълно на човек доведоха до факта, че силно обидих момиче, което искрено се опита да ми угоди. На сутринта разбрах какво съм направил и при първа възможност отидох лично да й поискам прошка. Но тя не искаше да ме види. Връщайки се, се опитах да се убедя, че нямам нужда от нея, но наистина ли беше така...

Един месец се ядосвах на себе си... Изкарвах си го на околните... Казах такива неща на човек, когото искрено харесвах, за което не може да се прости. От това сърцето ми стана още по-зле и накрая всичко завърши с нервен срив и тежка депресия.

Един бивш колега Дмитрий Скрипка, който ме доведе във фитнеса, ми помогна да намеря изход от порочния кръг на самобичуване и вътрешни комплекси.

След това животът ми се промени много. Наистина разбирам какво означава да си слаб и неуверен в себе си. Но когато започнах да тренирам, се почувствах най-доброто, което фитнесът може да даде. Това е същото чувство на самоувереност и самоувереност. Усетете как се променя отношението на другите към вас. И в този момент разбрах, че не искам да се връщам към стария живот, който имах. Реших да се посветя на нещо, което отлагах през цялото това време.

Но забелязали ли сте, че когато човек започне нещо ново, той започва да заявява намеренията си пред заобикалящата го реалност. Той непрекъснато разказва на всички с блеснали очи за плановете си, но времето минава и нищо не се случва. Такива хора постоянно казват в бъдещето: „Ще го направя“, „Ще го постигна“, „Ще се променя“ и така от година на година изпълняват желанията си. Те са като пръстова батерия - мотивационният заряд стига само за едно светване и това е. аз бях същата...

Първоначално планирах, че в компанията на мотивирани колеги мога да преместя планини, но често очакванията за светло бъдеще се разминават с практиката. Когато стартирахме нашия проект, ние постоянно планирахме и обсъждахме, вместо да го вземем и да го направим.

Често всеки иска да върви бързо... всеки иска от първия опит... всеки е спринтьор... всеки започва да бяга, но времето минава... един се отказва... втори се отказва. Когато финалната линия не се очертава на хоризонта, малко хора искат да работят здраво, просто защото трябва да изминат разстоянието до края... сутрин, през деня или късно вечер... когато никой не вижда, никой няма да похвали и никой няма да оцени това, което правите.

Никога не споделяйте плановете си, докато не ги осъществите. Просто споделете резултатите, колкото и да е трудно да направите всичко сами. Да, в този случай пътят, който сме избрали, не винаги ще носи удоволствие и розови еднорози с дъга от дупето. Не винаги ще се ръководим от светли мотиви в работата по приоритетите си. Често животът постоянно ще ви изпраща на места, на които изобщо не искате да отидете. Но всеки път, когато отварях Visual Studio или идвах във фитнеса, си спомнях какъв съм и какъв мога да бъда. Спомних си срещата с онова момиче от Днепър, което ме накара да се замисля за отношението си към живота... Разбрах много.

Обикновено последната дума трябва да е достатъчно кратка, за да остане в паметта за дълго време. Бих искал да цитирам думи, които веднъж чух в залата от един интелигентен човек.

Мислите ли, че идвате във фитнеса, за да се биете с железа? Не...борите се със себе си...с шаблоните си...с мързела си...с рамките си,в които сте се напъхали. Искате ли непрекъснато да решавате проблемите на другите, докато отлагате своите? Нека да е с малки стъпки, но трябва уверено да се придвижите към намирането на щастието си в живота в един момент. Защото щастието е когато не се подчиняваш на принципи и правила, които не си измислил. Щастието е, когато имаш вектор на развитие и се изкачваш по пътя, а не от крайната цел. Така че може би все пак си струва да вдигнете задника си и да започнете да работите върху себе си?

О, да, съвсем забравих... тази статия първоначално имаше за цел да запознае хората с проекта, който правя през цялото това време. Но се случи така, че в процеса на писане приоритетът се измести към описание на причината, поради която изобщо започнах да се занимавам с тази дейност и защо не искам да се откажа от нея в бъдеще. Накратко за проекта...

Мениджър на SQL индекси е безплатна и по-функционална алтернатива на търговските продукти от Devart ($99) и RedGate ($155) и е предназначена да обслужва SQL Server и Azure индекси. Не мога да кажа, че моето приложение е по-добро от скриптовете на Ola Hallengren, но поради по-оптимизираното изтриване на метаданни и наличието на всякакви полезни малки неща за някого, този продукт определено ще стане полезен в ежедневните задачи.

Копаене на гробове, SQL Server, години аутсорсинг и вашият първи проект

Най-новата версия на приложението може да бъде изтеглена от GitHub. Там се намират източниците.
Ще се радвам на критика и обратна връзка :)

Източник: www.habr.com

Добавяне на нов коментар