Криза на първата възраст #2

 

Всеки е чувал, че хората преживяват кризи. Нямам предвид кризите, породени от трагични събития като смърт, раздяла с приятелката, уволнение или триседмичен запек. Става дума за онези кризи, които неминуемо ни прегазват, просто защото ей така – защото така сме създадени, така сме програмирани или защото Съдбата е кучка… Вероятно най-известната от тях е кризата на средната възраст – случва се щото си доживял до някаква възраст и затова Съдбата е решила, че трябва да страдаш … ти или хората около теб. Наскоро (от сбствен опит – за щастие или не) забелязах, че такива кризи се случват постоянно… Всъщност, …, кризи много: Като дете преживяваш криза, щото няколко наследствено тъпи твои съученици решават, че трябва на тебе да си избият комплексите или пък ако имаш щастието да си от тях – преживяваш криза, защото насилствено Съдбата ти доказва, че си прекалено тъп за да си жив… Малко след това, таман си навирил глава и хоп – първата криза в любовта, щото девойчето/момчето намърдали се за сефте в сърцето ти нямат идея какво искат, не им дреме за тебе или въобще не знаят, че съществуваш… Тамън намираш девойката/момчето, които ще те направят щастлив, гледаш през розови очила, птичките пеят, цветенцата цъфтят, пчеличките жужат и тряяс – двеойчето/момчето решили че трбява да ти предадат/продадат доверието… Спасяваш се с много алкохол и приятели, укрепваш и баам! – същото нещо още един път, и пак, и пак.. И така докато не стигнеш до онази възраст в която хората мислят за семейство… Мислиш си: "е на този етап живота ми зависи само от мене" и … Съдбата ти покзава колко си зависим… с ехидна усмивка и истеричен смях… Налягаш си парцалките, бориш се и по едно време всичките ти връстници се изпонаженили – тряяяс – ергенска криза… Оттам изход само един – намираш жената, бракуваш се и всички си отдъхват, че и ти ще си от хората, които послушно попадат в социалните шаблони. И спират да ти натякват, мърморят или говорят зад гърба. Отдъхваш си и ти, отпускаш се, започваш да се наслаждаваш на живота… Пръква се твоето генетично продължение – едно, две, пет или десет, в зависимост от капацитета на булката, която си избрал. Ти си осигурил продължението на родата си, роднините те оставят намира, жената спира да се занимава с тебе толкоз усърдно и .. здравей.. отново криза… Този път малоценност… И така – цял живот! Неизбежно е. Неизбежни са. Знам ли – така сме проектирани. Това с което аз имам намерение да ви забавлявам са кризите, които тресат хората в моята гилдия – младите съзряващи строители на матрицата – хората от IT сектора. И аз като млад съзряващ разработчик, успях съвсем чинно да си изживея тамън две такива красиви, екзотични и особенно непопулярни кризи. И понеже на 256-ят ден от лето Господне 2007 реших, че е време да раздавам от опита си, възнамерявам да позапозная аудиторията си с това, което чака или което са преживели младите войни на битовете и байтовете…

Криза на първата възраст #1

Е да, елементарно, Уотсън … няма да има #2 без #1. Криза #1 се случва още по време на студентските години… Масово – във втори курс. looserВсъщност – зависи колко бързо се развиваш.. Но рано или късно, неминуемо криза #1 те застига…  Таман си преживял два-три семестъра изпъстрени с алкохол, колежки/колеги и неприлично количество чалга (примерно), когато една красива сутрин се събуждаш и усещаш, че света въобще не е такъв, какъвто си го оставил… Разбираш, че част от студентския ти живот са някакви странни събития, които даскалята наричат "изпит"… Напрягаш се и се мъчиш да се сетиш какво е това, за какво се ползва и защо така някак си си пропуснал две-три сесии… С течение на обстоятелствата разбираш, че всъщност си много назад с материала. Започваш да се съмняваш в потенциала си, виждаш как колегите ти те изпреварват… Случва ти се да помолиш човек, който си смятал за абсолютен нещастник да ти помогне със задачите или теорията… Самочувствието ти се стапя… И колкото повече мислиш за това, толква по-силно се демотивираш… Неминуемо стигаш до момента, в който си казваш "абе за*би" и решаваш да опиташ отново по старата схема с многото алкохол и чалга (примерно). Точно тогава Съдбата ти тегли един шут – разбираш, че хората с които си се веселил досега "трябва да учат" или че "няма да пием тая вечер, щото след две седмици започва сесията"…

Криза #1 има различна продължителност… При някой може да отмине незабелязано за няколко дена, а при някой не отминава въобще… Това е един от моментите, в които младите кадети на изчислителната техника решават да изоставят това толкова бляскаво бъдеще и да се захванат с нещо по-просто… Криза #1 е и моментът, в който всеки уважаващ себе си разработчик се е запознал с своя смъртен и доживотен враг номер 1 – времето. Не знам дали студентите от другите специалности страдат от нея – тя е специфична за IT сектора, главно, защото е породена от ужаса, който студентите изпитват когато осъзнаят колко бързо се развива света. IT света. А той е един съвсем друг, различен свят, в който времето се мери в MHz, тактове, MIPS-ове или MВ/s… Всъщност единственото, което е по-бързо от промените в матрицата е светлината, но предполагам, скоро и това ще се промени…

"И какво да правим" ако случайно се озовем по средата на криза #1? Абсолютните изходи са два – или пропадаш, решавайки, че матрицата не е за теб или се стягаш и наваксваш пропуснатото (изпитото)… Ако решиш да се откажеш, защото примерно не се определяш като борец – бъдещето не е розово, ама пък не е и черно – вероятно прекъсваш и си намираш работа като касиер(ка), твърдейки, че работиш по специалността, защото работиш с клавиатурата на касовия апарат… Или се преквалифицираш и ставаш прочут масажист (примерно). И в двата случая хубавото е, че няма да се сблъскаш с криза #2. За тебе играта приключва, напускаш острова на Survivor и търсиш алтернативни начини за успех. А ако решиш да се бориш – чакат те много ритници… от Съдбата, от конкуренцията, или от който свари… Но пък за сметка на това всеки "антитръстов" сценарии става възможен за теб: първото, което ще разбреш е, че има начини да изкарваш пари докато седиш, спиш, сереш или почиваш на море примерно… Матрицата ще те приветства с "добре дошъл" в един шантав, сбъркан, ужасно забързан, сложен и весел свят! Ще трябва да се подготвиш да бъдеш неразбран, защото се превръщаш в едно от ония същества, които говорят на странни, нечовешки езици, пишат нечленоразделни заклинания по компютрите си, ходят на места, които не същесстуват, наричат компютрите си със женски имена и се смеят на изречения от сорта на "Малей снощи се форматирах на ниско ниво!", "шерни ми ракията" или "На Пешо рекурсията зацикли – от половин час драйфа на терасата"… примерно …

Незнам, може да звуча тривиало, или дори по-зле – може да звуча като нацист, но смятам, че ако не можеш да преживееш криза #1, няма смисъл да продължаваш… Не и в матрицата… IT сектора е враждебна среда, също като Луната или Марс… Хората, неспособни да се адаптират и борят не са за там – едно защото няма да им понесе, и второ, защото самият IT сектор няма нужда от такива кадри… Е, какво пък – ако го погледнем от добрата страна – криза #1 е моментът, в който ще разбереш става ли аджъба от тебе новия Нео или не… Да, сравнително късно, но по-добре късно от колкото още по-късно…

Проектът – убиец

Ти си един млад нов Нео. Преодолял си успешно криза #1. Научил си се. Дипломирал си се. Намерил си работа, даже втора и дори си напуснал първата, само защото не са ти харесвали условията и/или заплащането. Въобще не съжеляваш, че през мъглявите дни на криза #1 си избрал по-трудния път. Занимаваш се със високи технологии и последния писък на софтуера се гъне в ръцете ти като глина в ръцете на скулптор, … примерно… Бизнеса те обожава, защото имаш потенциал колкото малка ядрена електроцентрала. neoИ също толкова енергия. "Антитръстовия" сценарии работи с пълна пара и за няколко часа си способен да продуцираш гениална система, архитектура или код, които струват скъпо, много скъпо. Фирмите се избиват за тебе, а ти имаш избор, имаш бъдеще, имаш и способности… Това е типичния период в който младите бойци на байтовете биват споходени от криза #2. По-страшната от двете.

Незнам дали мога да опиша криза #2 по нормалния начин. Затова ще се опитам с аналогия: Към тебе летят проекти и точно като Нео в оная сценка от Матрицата (филмът) ти махваш с ръка и "куршумите" спират във въздуха. Само че … едно смешно куршумче, сачма от бренеке да кажем, не спира… Нещо повече – насочва се точно между очите ти… Ти се напрягаш и добиваш вънешн вид на човек, желаещ мигновенно облекчение в тоалетната… след триседмичен запек… Ама сачмата не спира… Никой не се съмнява, че ти можеш да спреш тая сачма – спирал си всякакви снаряди, противотанкови гранати, ракети "земя-въздух", ракети "земя-земя" и ракетата "Восток". Дори веднъж си спрял лигите, излизащи от на шефа ти устата… Ама съчмата ти се опъва.. Пародия! Мерва те точно между очите и те катурва на земята… и оставаш легнал, умаломощен, готов да бъдеш "употребен" и за капак – със събран поглед. Незнам дали от тая аналогия ставя ясна същността на криза #2… Затова ще дам още една – представете си щангист, мускулест, канара направо.. Световен шампион. Сега си представете как изтласква 200 кг (примерно)… И точно в тоя култов момент си представете, че нашия щангист има диария… Точно ей това се случва на младите Неовци, узряли достатъчно за криза #2. Появява се проект, с нищо не претендиращ да е специален. Напротив. Вътре бъка от утъпкани пътища и за всеки един проблем в този проект има готово решение. Изведнъж обаче, се оказва, че проекта не върви … И се започва една дъълга агония, в която се опъват нервите както на разработчиците, така и на мениджърите, така и на клиентите. Фирмата, в която работи нашия болен от криза #2 Нео губи позици, докато не стигне, пълна цитирам "конкурентно-парализираност". Портфейла на мениджъра изтънява докато не стане по-прозрачен от тоалетна хартия… Косите на глвата на поръчителя намаляват пропорционално на количеството пресрочени след deadline-а дни… Интересно за криза #2 е, че тя се появява изведнъж, неочаквано. Всъщност, това я отличава от един прост неуспешен проект – никакви външни признаци. Дори методите на работа на разработчика по никакъв начин не подсказват провал. Но тряяс, и тя се случва. И толкоз. Останалата част от периода на криза #2 може да се опише само като едно продължително време, прекарано в легнало състояние – за първата аналогия или като един продължителен процес на отделяне – за втората…

Не, няма външни фактори, които да са повлияли психически на разработчика за да изпадне в подбно състояние. Всъщност и вътрешни няма. Е, да – има допуснати грешки, но ако трябва да се "полира" причинно-следствената връзка – те са следствие от летящата съчма… или от диарията… Добре, тогава какво може да направи нашия млад войн на алгоритмите, за да се спаси? Ами … всъщност незнам длаи е полезно да "прескочиш" криза #2. За разлика от неуспешния проект. Незнам дали е полезно въобше да се прескача която и да е от кризите… Но ако е – то единствения начин е да си по-бърз от времето, т.е. когато съчмата се начоси към междуочието ти, ти трябва да си имаш изработена вече каска… или да си обул памперс – за втората аналогия.. За разлика от криза #1, тази поне може да бъде избегната…

Характерно за описаната ситуация още е, че тя ти разколачва живота. Миеко казано. Това е проектът-убиец – за разлика от обикновенното леке – неуспешния проект. Започваш да прекарваш повече време с компютъра си (не "пред" – със компютъра), отрязваш всякакви контакти и накрая прекратяваш изцяло социалния си живот. Използваш всяко възможно време за да пишеш код. За капак, нещата така се подреждат, че е неизбежно да прекараш няколко нощи работейки. Без сън. И въпреки всички жертви, проекта не иска да приключи, клиента не иска да разбере, а времето не иска да спре… Започваш да говориш с близките си (ако са ти останали такива) на C#, Java или (в моя случай) на PHP… Започваш да виждаш всичко в код… Вечерята ти се струва един невероятно вкусен клас, създаден от метода фабрика на микровълновата печка, нещо като: Dinner myDinner = oven.Prepare( (SemiFabricate) pizza );. Вглъбяваш се да дебъгваш този клас Dinner, а тоталното филтриране на всички портове райзва ексепшън след ексепшън от страна на най-близките ти.

Един ден по стечение на обстоятелствата се озоваваш на публично място, някъде където си ходил често преди и откриваш че светът, онзи извън матрицата, се е променил ужасно.. а ти – изоставаш! Загубил си синхрона – като в парадокса с космонавтите – ако имаме космонавти в ракета, която се движи със скоростта на светлината, за една тяхна разходка до най-близката звезда и обратно, на Земята всичко ще се е промемнило и ще са минали 100 години (примерно), въпреки че за тях ще е минал един ден (примерно)… Чат пат същото се получава и при криза #2 – задвижваш съзнанието си на бързите обороти на матрицата, и изведнъж осъзнаваш че света вън се е променил със шест месеца, въпреки че реално ти си се променил с два дена…

В края на периода си едно изтискано от живот съществувание (щото дори и за "създание" не можеш да се класираш), изключително силно приличащо на онова дето се мъдри на щангиста с диарията на задника… Клиента е спестил сума и пари от шампоани, а мениджъра ти е със странна комбинация от деменция, циклофрения и фобия от флопи дискове в лудницата. Наддал си с 35 килограма, въпреки че си се хранил веднъж на два дена – между нощните билдове. Вдигнал си високо кръвно и няколко диоптъра, но си щастлив, защото това са единствените неща, които са се вдигнали през този период. Очите ти сключват ъгъл от 30°. Сметките ти са замразени заради пропуснати вноски по заем или неплатени данъци, а ти трябва да ги платиш, защото в противен случай ще те вкарат в затвора… И точно минута преди клиента да преведе парите, се появява нов бъг! Грешка в софтуера, която не зависи ама по никакъв наичн от теб самия… Примерно бъг в операционната система или браузера. Недукоментиран, разбира се! Иначе щеше да имаш шанс да вземеш превантивни мерки… Клиента се усмихва ехидно, с рязко движение откъсва последния си останал косъм на главата и ти заявва че ти пуксната стотинка нма да видиш докато всичко не работи както трябва. И въобще не го интересува, че не си виновен ти! Сядаш отново пред машината си и започваш да дебъгваш на хората софтуера докато междувременно чакаш икономическа полиция да дойде да те прибере… Или хората от лудницата – който свари, той завари!

Гадно е. Освен ако нямаш садистично-мазохистично иронично заядливо чувство за хумор (като мене) и не седнеш добре да се посмееш на продуцираното от щангиста, в което си затънал до върха на ушите си… Но въпреки това смятам, че трябва да минеш оттам – най-малкото ще знаеш как реагира съзнанието ти при такива ситуации. За капак няма гаранции че криза #2 няма да се повтори… Можеш да вземеш превантивни мерки… Но в повечето случаи никой не взема… Вероятно, защото се смята, че криза #2 е абсолютно случайно явление. Нещо повече, при удивителни сходства на ситуациите хората допускат едни и същи грешки!Роско И попадат в криза #2 отново, докато не извъртят всички minor версии – #2.1, #2.2, #2.3 … Всъщност, за този феномен си има цяла теория, с която ме запозна един колега (на снимката в дясно) – т.нар. теория на ху*щата… Тя си е лично негово откритие и е достойна за патент, въпреки че има сериозна нужда от нова терминология 🙂 …

Теория на х**щата

Предупреждавам! С това лирично отклонение не искам да съм вулгарен и да развалям нежния слух или поглед на някого… Но… теорията е така дефинирана в момента, а и не е моя интелектуална собственост, че да я променям…

На кратко – представете си поле, пълно с добре заострени, навирени мъжки гордости… А… да… разбира се – представете си, че сте мъж (за тези от вас, които не са), щото на някой жени поле със х**ща може и да им харесва… На някой жени, казах! Представете си, че бягате по това поле и се спъвате и падате, назад… Как падате назад, като бягате напред? – незнам – теорията мълчи по този въпрос… Може би бягате назад… Защо бягате назад – и по този въпрос теорията мълчи… Та, падате заднешком и се набучвате на една от тези мъшки гордости… Боли… Очите ви се насълзяват… Едва се измъквате (отнизвате, противоположното на нанизвате)… Веднъж след като ви се е случило, преживели сте травмата, искате да си го върнете на съдбата… Знаете, че е опасно да бягате по това поле, въпреки това продължавате, напук… Или смятате, че след като сте пожертвали толкова много, няма смисъл да се върнете и да минете по заобиколния, но сигурен път… Или от мързел, щото не ви се заобикаля, но това е друг аспект… Затова бягате по полето, с ясното съзнание че можете да се набучите отново… Втория път като се спънете, ще пробвате да паднете по друг начин… За да не се набучите пак отзад… Пробвате да паднете по очи, настрани… Не, вие не сте от онези мъже, които харесват мъжки гордости… Напротив… Но за това което правите си има една единствена дума… и няма значение какви са обстоятелствата, които са ви довели до второ и трето падане – за хората изглежда като… онази единствена красноречива дума, която не искам да споменавам…

Колкото и налудничево да ви се струва, теорията е вярна! Факт!! Е, .. добре де … може би хипотеза, щото незнам как може да се докаже… Но смайващото е, че дори и нейния отривател допуска грешка след грешка, с едничката идея да завърши започнатото въпреки, че има друг, по-безопасен, макар и по-заобиколен начин…

Теорията е интересна, въпреки неподходящата формулировка… Заслужава да и бъде отделено повече внимание… Но това – някой друг път… Сега трябва да се върна на кризита…

Криза #3, криза #4, криза #5 …

Дали ще има трета, четвърта или N-та криза – незнам… Не съм стигнал до там… Ама като стигна – ще ви запозная… Всъщност откривам силна прилика с едновремешните игри Super Mario Bros – минаваш едното ниво, побеждаваш единия дракон, може да ти коства един живот, или няколко, но минаваш нивото… И продължаваш нататък. Марио имаше 8 нива… Едва ли някой може да каже колко са кризите общо… но пък и няма значение – всички можем да се досетим кога играта ще е превъртяна.. 🙂

Advertisements

#include

 

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

 

#include <experience>

Дето щото има блог на програмист, веб-дизайнер, разработчик, дейтабейз девелопър, софтуерен архитект и т.н. масово в тях "става на дума" за софтуер, неговата разработка и разни капанчета, бъгчета и сбъркани ситуации по време на тази разработка, финтове, висш пилотаж (в софтуера), фукане и обикновенна демонстрация на мноооогооо гооолеми познания.. Разбира се, има и много чудесни хора, които просто са решили да предадат знанията си, или да помогнат на хора като тях, изпаднали в същата беда… Аз не исках да имам подобно нещо в спейса си – тъй като не съм някакво чудо на природата или пък на модерния софтуер (все още 😉 ) щеше да излезе като обикновенна демонстрация на знания и фукане..  Но пък наскоро (след като решението на един проблем ми излезе… как се казва.. през… ъъ … "носа") реших, че по един или друг начин трябва да споделям опита си.. Първо, защото не съм егоист – хората (изброени по-горе) споделят, помагат, без дори да знаят, че са ми помогнали.. длъжен съм да продължа веригата и да предам нататък.. Второ, защото и на мен ми трябват свежи ориентирани кадърни кадри (:-) и ако всеки си стиска наученото за себе си – такива няма да се появят лесно…

Тъй като обаче, мразя да попадам в шаблони няма да си правя труда да обяснявам какво е туй еди-кой-си език, как се пише еди-какво-си в еди-коя-си среда, как се прави еди-какво-си с еди коя си платформа .. затова има сайтове като The Code Project или като блоговете за който стана дума по-горе.. Въпреки това е чудесно да споделиш опит, когато става дума точно за капаните и бъговете, които ти изкарват нервите на плитки, съсипват план-графиците на проектите, карат шефовете да оплешивявят и действат като разхлабително на банковата сметка на разработчика… Затова ще се старая да отделям фукането от ценната помощ.. … е .. то … всъщност.. критерия за това май-май е дали решението на проблема е дошло от друг блог или съм го открил сам.. и може би дали го има преведено на български – защото да, изненадващо е, но има голяяяма част от кандиадат-кадрите, който хич не могат да се оправят с английския (да кажем) и езика (изненадващо) ги спира от намиране на решение на проблемите им, което пък е спирачка за развитието им…

Още една важна част е и избора, който прави един разработчик през етапите на развитието си – на много малко места се говори за това и ми се ще да успея да спомена нещо и за това, защото .. колкото и да си добър, колкото и по-голям професионалист да ставаш в една област, избора, който си направил в самото начало може да те затрие по нататък…

Та! … казано с няколко думи.. категорията се казва "#include <experience>", има я в списъка на категории в дясно, има си RSS към нея.. и в нея ще си говорим за професионални неща.. Enjoy!