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

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

Скоро секогаш проблемите ги создаваме со свои раце... со нашата слика за светот... со нашата неактивност... со нашата мрзеливост... со нашите стравови. Дека тогаш станува многу погодно да се плови во општествениот тек на шаблоните за канализација... на крајот на краиштата, топло е и забавно и не се грижи за другото - ајде да го шмркаме. Но, по тежок неуспех доаѓа сознанието на едноставната вистина - наместо да генерирате бескраен прилив на причини, самосожалување и самооправдување, доволно е едноставно да го земете и да го направите она што го сметате за најважно за себе. Ова ќе биде почетна точка за вашата нова реалност.

За мене тоа што е напишано подолу е токму таква почетна точка. Патот нема да биде блиску...

Сите луѓе се социјално зависни и потсвесно сите сакаме да бидеме дел од општеството, стремејќи се да добиеме одобрение за нашите постапки однадвор. Но, заедно со одобрувањето, постојано ќе бидеме опкружени со јавна проценка, која е засилена со внатрешни комплекси и постојани ограничувачи.

Честопати се плашиме од неуспех, постојано ги одложуваме работите што ни се важни, а потоа логично ги рационализираме во нашите глави, обидувајќи се да се увериме: „во секој случај не успеа“, „ова нема да најде одобрение од другите“ и „Која е поентата да се прави ова во секој случај? Многу луѓе едноставно не знаат колку се силни затоа што никогаш не се обиделе да променат нешто во нивните животи.

На крајот на краиштата, ако некое лице го прави само она што може, тој веќе автоматски создава шаблон во главата: „Јас можам да го направам ова... ќе го направам ова...“. Но, нема ништо извонредно во тоа човек да го прави само она што може. Тој го направи тоа затоа што можеше, но во исто време остана во истиот опсег на неговите оригинални способности во кои беше цело време. Но, ако не сте можеле и сте го направиле, тогаш сте вистински убав маж. На крајот на краиштата, само кога ќе ја напуштиме нашата комфорна зона и ќе работиме надвор од опсегот на нашите можности - само тогаш се развиваме и стануваме подобри.

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

Се наближуваше крајот на мојата петта година и почнав сè повеќе да ми се допаѓа она што го правев сето ова време. Бидејќи требаше да почнам да работам со полно работно време, решив да им пишам на развивачите на самата комерцијална библиотека од која ги добив моите идеи. Ми се чинеше дека лесно можат да ме примат, но по неколку писма за мојата желба да работам со нив, нашиот разговор не доведе никаде. Имаше мало разочарување, и силна мотивација да докажам дека можам сам да постигнам нешто.

За еден месец направив веб-страница, поставив сè на бесплатен хостинг, подготвив документација и почнав да продавам. Немаше пари за рекламирање, а за некако да го привлечам вниманието на потенцијалните клиенти, почнав да ги дистрибурам моите занаети под маската на отворен код. Отскокнувањето беше приближно 70%, но, неочекувано, останатите луѓе, иако неволно, почнаа да купуваат. Никој не се засрами од мојот искривен англиски или бесплатниот хостинг на кој се наоѓаше страницата. Луѓето беа задоволни од комбинацијата на ниска цена и основна функционалност што ги покриваше нивните основни потреби.

Се појавија неколку редовни клиенти кои сакаа да инвестираат во мојот потфат како партнери. И тогаш наеднаш се појавија развивачите на самата библиотека од која научив многу во мое време. Нежно навестувајќи дека нивните алгоритми се патентирани и нема смисла да се караат со нив, па дрско да ја одземаат клиентелата. Нашиот разговор беше далеку од културен и во одредена фаза решив да ги упатам да ги бараат трите вечни букви од азбуката. Следниот ден испратија официјално писмо дека се подготвени да соработуваат со мене, но јас нагло го прекинав дијалогот со нив. За да се заштитам од идни напади од овие момци, почнав да подготвувам документација за патент и апликација за авторски права.

Како што минуваше времето, оваа приказна постепено почна да се заборава. Планот беше да се ангажира поискусна личност да помогне, но немаше доволно пари за ова. Алчноста влезе во игра и сакав да земам голем џекпот. Беше планиран состанок со нов клиент, кој, како што се испостави, за време на нашата комуникација, се наоѓаше во истиот град со мене. Слатко опишувајќи ги изгледите за соработка, тој предложи лично да се сретнеме.

Всушност, наместо него, на состанокот дојдоа млади луѓе со пријатен изглед и, без конкретно да го прашаат моето мислење, понудија да се прошетаат надвор од градот, тврдејќи дека е итна потреба „да се наполни свеж воздух“. Веќе на лице место ми дадоа персонализирана лопата за да ги тестирам вештините што ги стекнав како дете на плантажите со компири на баба ми. И во текот на еден час, моите изгледи ми беа објаснети на разбирлив начин, ми предложија да не трошам енергија, да престанам да правам глупави работи и што е најважно, да престанам да бидам груб со сериозни луѓе.

Во еден момент, светот престана да изгледа како сончево и пријатно место. Тешко е да се каже дали тогаш ја направив вистинската работа... но се откажав... се откажав и се сокрив во еден агол. И ова во голема мера го одреди она што се случи следно: латентен гнев кон другите поради неисполнување, несигурност долги години, апатија во донесувањето важни одлуки за себе, префрлање на одговорноста за своите грешки на некој друг.

Заштедените пари брзо истекуваа и итно требаше да се средам, но се ми падна од контрола. Во тоа време многу помогна татко ми, кој преку пријатели најде место каде што ќе ме одведат без никакви прашања. Подоцна дознав дека заради мене влегол во обврски кон далеку од најпријатните луѓе, но со ова ми даде шанса да се покажам.

Подготвувајќи се за нова работа, повторно почнав да го читам Рихтер и интензивно го проучував Шилд. Планирав да се развивам за .NET, но судбината реши малку поинаку во првиот месец од мојата официјална работна активност. Еден од вработените во компанијата неочекувано го напуштил проектот, а свеж човечки материјал бил додаден во новоформираната дупка.

Додека мојот колега си ги пакуваше работите, имав многу епски дијалог со финансискиот директор:

- Дали знаете бази на податоци?
- Не.
- Научете го преку ноќ. Утре како среден основен менаџер ќе те продадам на клиентот.

Така започна моето запознавање со SQL Server. Сè беше ново, неразбирливо и најчесто направено со обиди и грешки. Навистина ми недостигаше да имам паметен ментор во близина на кого би можел да му се обратам.

Следните неколку месеци сè личеше на жестоко ѓубре. Проектите беа интересни, но раководството ги остави на своја рака. Почнаа итни брзања, вечни прекувремени часови и задачи кои често никој не можеше ни да ги формулира правилно. Мојата омилена забава беше вечната ревизија на извештајот за распоредување на готови колачи во едноставни полупроизводи. Но, бидејќи секоја торта може да биде дел од друга торта, оваа сурова деловна логика навистина ме полуде.

Сфатив дека работите само ќе се влошат и решив да дејствувам. Ја освежив меморијата на теоријата и решив да си ја пробам среќата на други места, но на интервјуата немав доволно искуство за да се квалификувам за барем силен јуниор. Првите неколку дена бев импресиониран од моите неуспеси и сериозно помислив дека е уште многу рано да се сменам работа и дека треба да стекнам искуство.

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

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

Следниот месец пукав од гордост за тоа што можев да го постигнам, но по која цена? Работниот ден започнува во 7.30 часот, а завршува во 10 часот. Вашето здравје почна да ги покажува своите први неуспеси, а тоа беше наспроти систематските навестувања од раководството дека би било подобро за нас намерно да го пропаднеме проектот отколку да ви дозволиме да заработите повеќе од „просекот за нашата болница“. Барем на некој начин го одржаа зборот, а јас се соочив со дилемата да најдам ново работно место.

По некое време, ме повикаа да дојдам на интервју во компанија за храна. Планирав да заземам слична позиција во .NET, но не успеав во практичната задача. Требаше да се збогуваме, но најинтересното се случи откако потенцијалните работодавци дознаа дека имам искуство со работа со SQL Server. Не напишав многу за тоа во мојата биографија бидејќи никогаш не мислев дека знам многу во оваа област. Меѓутоа, тие што ме интервјуираа мислеа малку поинаку.

Ми беше понудено да ја подобрам постоечката линија на производи за работа со SQL Server. Пред ова немале посебен специјалист кој би се занимавал со вакви активности. Сè често се правело со обиди и грешки. Новата функционалност честопати беше едноставно копирана од конкурентите, без да навлегува во многу детали. Мојата цел беше да покажам дека можете да одите на друг начин, обработувајќи ги прашањата до системските прегледи подобро од конкурентите.

Тие неколку месеци ми станаа непроценливо ново искуство во споредба со претходната активност на пушење колачи. Но, сите добри работи завршуваат порано или подоцна, а приоритетите на раководството наеднаш се сменија. Во тоа време, работата беше завршена и не можеа да смислат ништо подобро за мене отколку да се преквалификувам како тестер, што беше малку спротивно на нашите договори за развој на нови производи. Тие брзо најдоа алтернатива за мене - да „почекам малку“, да се обидам да се вклучам во социјална активност и во исто време доброволно да се согласам да го оставам развојот на рачно тестирање.

Работата стана монотона серија на регресии, кои не мотивираа понатамошен развој. И за официјално да избегнам регресии, почнав да пишувам технички написи на Хабре, а потоа и на други ресурси. Отпрвин не функционираше многу добро, но главната работа е што почнав да ми се допаѓа.

По некое време, ми беше доверено преземање на рејтингот на официјалниот профил на компанијата на Stack Overflow. Секојдневно наидував на интересни случаи, пушев тони индиски код, им помагав на луѓето и што е најважно, научив и стекнав искуство.

Случајно стигнав до мојата прва SQL сабота, која се одржа во Харков. Мојот колега мораше да разговара со публиката за развој на бази на податоци со користење на производи, што е она што го правевме цело ова време. Не се сеќавам зошто, но во последен момент морав да ја направам презентацијата. Денис Резник, со својата традиционална пријателска насмевка на лицето, го подава микрофонот, а вие со пелтечење се обидувате да им кажете нешто на луѓето. На почетокот беше страшно, но потоа „Остап се занесе“.

По настанот, Денис дојде и ме покани да зборувам на помал настан, кој традиционално се одржуваше во HIRE. Времето минуваше, имињата на конференциите се менуваа, а публиката во која одржував состаноци растеше малку по малку. Тогаш не знаев за што се пријавувам, но серија несреќи ги обликуваа моите животни избори и на што решив да се посветам во иднина.

Барајќи специјалисти како Резник, Короткевич, Пиљугин и други кул момци имав шанса да запознаам... Разбрав дека во рамките на мојата сегашна работа нема да имам задачи за брз напредок. Имав добра теорија зад мене, но ми недостигаше пракса.

Ми беше понудено да започнам нов проект од нула на ново место. Работата беше во полн ек од првиот ден. Добив сè што претходно сакав од животот: интересен проект, висока плата, можност да се влијае на квалитетот на производот. Но, во одреден момент, се опуштив и направив многу сериозна грешка, веднаш откако завршивме со создавање на МВП за клиентот.

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

Од моја страна, се направи обид да се израмни ситуацијата на проектот, да се врати редот и да се вратам на помирен развој, но тоа не ми беше дозволено. Сите имаа постојани пожари кои требаше да се изгаснат.

Откако ја анализирав ситуацијата, решив дека сакам да се одморам од целиот овој циркус и го поканив извршниот директор од мојата претходна работа да му се вратам под услов заедно да направиме нов проект. Разговаравме за сите нијанси и планиравме да започнеме со развој за еден месец. Помина еден месец... па уште еден... и уште еден. На сите мои прашања имаше постојан одговор - чекај. Идејата да правам нешто свое никогаш не ме остави, но сепак морав привремено да одам хонорарен, помагајќи им на народите од Централна Азија да го освојат банкарскиот сектор на Украина.

Буквално еден месец подоцна дознавам дека развојот на мојот проект тивко го започнале левичари со официјална дозвола на моите поранешни претпоставени. Овие момци беа кул развивачи на .NET, но немаа експертиза за тоа што треба да прават. Однадвор изгледаше како тивко да ме фрлаат во проектот. Всушност, тоа беше случај. Во напад на огорченост, почнав сам да го правам овој проект, но мотивацијата брзо исчезна.

Поранешниот CTO се понуди да му помогне со тековните проекти, а јас почнав да го правам она што најдобро го знаев - гаснење пожари. Повторно паднав во работохолизам, ги собрав неговите последици: лоша исхрана, распоред за спиење кој беше далеку од нормален и постојан стрес. Сето ова беше објаснето со два проекти кои наизменично ги влечев кон светла иднина. Еден проект донесе радост бидејќи работеше 24/7, но вториот проект имаше едноставно изопачено разбирање на менаџментот, па тимот работеше во постојана брзање. Овој период од мојот живот не може да се нарече поинаку освен мазохизам, но имаше и смешни моменти.

Смирено копате компири на дачата на вашите родители додека слушате ребрав, а потоа неочекуван повик: „Серјога... коњите престанаа да трчаат...“. По неколку секунди размислување, стоејќи на лопата и истовремено тренирајќи ги вештините на баба Ванѓа, диктирате наредби за продолжение од меморијата за да може некој да го реши проблемот на серверот. Не сакам ниту една минута за ова искуство - беше кул!

Но, тука започнува забавата...

Една средба на крајот на септември 2017 година радикално ми го промени животот.

Во тој момент, за некако да се развеселам од работната рутина, планирав да зборувам на конференцијата. За време на ручекот, случајно разменив неколку зборови со колега во кујната. Лежерно ми рече: „Излегува дека си позната личност... луѓето те знаат и во другите градови“. Отпрвин, не разбирајќи за што зборува, ми ја покажа преписката во телеграма. Веднаш ја препознав девојката што доаѓаше на моите настапи кога отидов во Днепар да давам извештаи. Бев исклучително задоволен што личноста се сети на мене. Без понатамошно размислување, решив да и пишам и ја поканив во Харков на конференција, во рамките на која подготвував извештаи.

Јас бев еден од првите што зборуваше и веднаш ја видов во вториот ред. Тоа што таа пристигна за мене беше неочекуван и пријатен настан. Разменивме неколку фрази и започна мојот долг шестчасовен маратон на ласинг. Тој ден беше еден од најсветлите во мојот живот: целосно преполна сала, 5 извештаи по ред и неописливо чувство кога луѓето сакаат да те слушаат. Тешко ми беше да се фокусирам на целата соба и мојот поглед инстинктивно беше привлечен кон неа... кон таа девојка која дојде од друг град... која ја познавав две години, но никогаш не комунициравме... само знаевме еден за друг сето ова време.

По завршувањето на конференцијата, бев уморен и многу депресивен, но сепак сакав да и угодам на девојката - со тоа што ќе ја поканам на заедничка вечера во друштво на луѓе со кои бевме и двајцата. За волја на вистината, тогаш бев ужасен соговорник, постојано саркастичен и барав внимание. Тешко е да се каже што ми се случи тогаш. Ниту нашата прошетка низ градот ноќе не помина добро. Ми се чинеше дека најдобро е да ја однесам девојката во хотелот и да си одам дома да спиеме. Следниот ден го поминав во кревет, немајќи сила да станам, а дури вечерта почнав да ги повторувам во главата зборовите што таа ми ги кажа: „Серјожа, дојдов по тебе...“. Искрено сакав да ја видам повторно, но дотогаш таа веќе беше замината.

Разговаравме неколку недели додека не решив дека треба да одам кај неа...

Во пресрет на ослободувањето, никому не му треба глупости за клиентот, го преместив распоредувањето и отидов во Днепар. Тешко е да се каже што се случува во мојата глава, но сакав да ја видам, дури и не знаејќи за што ќе зборувам. Се договоривме да се сретнеме во паркот, но јас епски ја измешав адресата и одев 5 километри во погрешна насока. По некое време, сфаќајќи ја мојата грешка, брзо се вратив со такси со цвеќиња што ги најдов во некој кварт на Гоп. И сето тоа време ме чекаше со какао.

Седнавме на недовршената театарска сцена, пиевме ладно какао и разговаравме за се што ќе ни падне на памет. Прескокнувајќи од тема на тема, ми раскажуваше за нејзиното тешко минато, за неменливоста на типовите на стринг податоци на .NET... Се обесував на секој нејзин збор. Беше остроумна и паметна, понекогаш смешна, малку наивна, но сè што кажа беше искрено. Уште тогаш сфатив дека се заљубив во неа.

Враќајќи се на работа, бев во итен режим, обидувајќи се да издвојам неколку дена одмор и да одам кај неа по втор пат за да ги признаам моите чувства. Во реалноста сè испадна поинаку...

Мојата незрелост, глупоста, старите комплекси и неподготвеноста целосно да му верувам на некоја личност доведоа до фактот дека многу навредив девојка која искрено се обиде да ме задоволи. Утрото сфатив што сум направил и во првата прилика отидов лично да и побарам прошка. Но, таа не сакаше да ме види. Враќајќи се, се обидов да се убедам себеси дека не ми треба, но дали е тоа навистина вистина...

Еден месец се лутев на себе... им го извадив на оние околу мене... и кажав такви работи на личност која искрено ми се допадна, за која е невозможно да се прости. Поради тоа срцето ми се чувствува уште полошо, а на крајот сето тоа заврши со нервен слом и тешка депресија.

Поранешниот колега, Дмитриј Скрипка, кој ме донесе во теретана, ми помогна да најдам излез од магичниот круг на самофлагелирање и внатрешни комплекси.

После тоа мојот живот многу се промени. Навистина разбирам што значи да се биде слаб и несигурен во себе. Но, кога почнав да тренирам, го почувствував најдоброто што може да го даде салата. Ова е истото чувство на самодоверба и самодоверба. Чувство како се менува ставот на другите луѓе кон вас. И во тој момент сфатив дека не сакам да се вратам на стариот живот што го имав. Решив да се посветам на нешто што цело ова време го одложував во животот.

Но, дали забележавте дека кога човек започнува нешто ново, тој почнува да ги објавува своите намери на околната реалност. Постојано со блескави очи на сите им кажува за своите планови, но времето минува и ништо не се случува. Таквите луѓе во иднина постојано велат: „Ќе го направам тоа“, „Ќе го постигнам“, „Ќе се променам“ и така од година во година ги живеат своите желби. Тие се како батерија со прст - мотивациското полнење е доволно само за еден блиц и тогаш тоа е тоа. Јас бев истиот...

Првично планирав во друштво на мотивирани колеги да можам да поместувам планини, но честопати очекувањата за светла иднина се во спротивност со практиката. Кога го започнувавме нашиот проект, постојано планиравме и дискутиравме наместо да го земеме и да го направиме.

Честопати сите сакаат да одат брзо... сите го сакаат тоа при првиот обид... сите се спринтери... сите почнуваат да трчаат, но времето поминува... едниот се откажува... вториот се откажува. Кога целта не се наѕира на хоризонтот, малку луѓе сакаат да работат напорно само затоа што треба да ја поминат растојанието до крај... наутро, дење или доцна навечер... кога никој не гледа, никој нема да го пофали и никој нема да го цени тоа што го правите.

Никогаш не ги споделувајте вашите планови додека не ги спроведете. Само споделете ги резултатите, без разлика колку е тешко да го направите сето тоа сами. Да, во овој случај, патот што го избравме нема секогаш да носи задоволство и розови еднорози со виножито од задникот. Нема секогаш да се водиме од светли мотиви во работењето на нашите приоритети. Честопати животот постојано ќе ве испраќа на места каде што воопшто не сакате да одите. Но, секогаш кога отворав Visual Studio или доаѓав во теретана, се сеќавав што сум и што можам да бидам. Се сетив на средбата со таа девојка од Днепар, која ме натера да размислувам за мојот став кон животот... Разбрав многу.

Вообичаено, последниот збор треба да биде доволно краток за да остане во меморијата долго време. Би сакал да цитирам зборови што еднаш ги слушнав во салата од интелигентна личност.

Мислиш дека доаѓаш во теретана да се бориш со пегли? Не... ти се бориш со себе... со твоите шаблони... со твојата мрзеливост... со својата рамка во која си се возел. Дали сакате постојано да ги решавате туѓите проблеми додека ги одложувате вашите? Нека биде во мали чекори, но треба самоуверено да се движите кон наоѓање на вашата среќа во животот во еден момент. Затоа што среќата е кога не подлежиш на принципи и правила кои не си ги измислил. Среќа е кога имаш вектор на развој, а попатно се качуваш високо, а не од крајната цел. Значи, можеби сепак вреди да го кренете задникот и да почнете да работите на себе?

О, да, целосно заборавив... оваа статија првично беше наменета да ги запознае луѓето со проектот што го правам цело ова време. Но, се случи така што во процесот на пишување, приоритетот се префрли на опишување на причината зошто почнав да се занимавам со оваа активност на прво место и зошто не сакам да се откажам од неа во иднина. Накратко за проектот...

SQL Index Manager е бесплатна и пофункционална алтернатива на комерцијалните производи од Devart (99$) и RedGate (155$) и е дизајнирана да опслужува SQL Server и Azure индексите. Не можам да кажам дека мојата апликација е подобра од скриптите од Ола Халенгрен, но поради пооптимизираното стругање на метаподатоци и присуството на секакви корисни ситници за некого, овој производ дефинитивно ќе стане корисен во секојдневните задачи.

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

Најновата верзија на апликацијата може да се преземе од GitHub. Изворите се наоѓаат таму.
Ќе ми биде драго да критикувам и да повратам :)

Извор: www.habr.com

Додадете коментар