08 юни 2009

Несправедливостите по Програмисткия свят

Категория: Нонсенс,СоциалниLucho @ 23:51

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

Don’t waste your time on jealousy. Sometimes you’re ahead, sometimes you’re behind. The race is long, and in the end it’s only with yourself.

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

Деф. 1 (дефиниция на Стефан за добрия програмист)
Всяко съществуване, което се изявява в спане, ядене (казва се „хранене“) и кодене се нарича Програмистка форма на живот.

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

Аз лично съм разширил тази дефиниция по следния начин:

Деф. 2 (дефиниция на Лъчо)
Всяко съществуване, което се изявява в спане, хранене, занимаване с разни други неща от време на време и кодене се нарича Програмистка форма на живот.

Това значи че даже и да сте претрупани с други неща трябва поне един път седмично да пишете някакъв красив код или да четете как да пишете красив код. Ако имате повече свободно време – повече красив код (през останалото време може да ходите на работа, например, където не винаги се случва да е възможно да пишете красив код).

Деф. 3 (дефиницаия на нисша форма на Програмистки живот)

Всяка форма на живот, която не се покрива от дефиниця 1 или дефиниция 2, но се числи към IT бранша се нарича нисша форма на Програмистки живот.

Например тестъри или некадърни дивелъпъри…

Та представете си следната картинка – двама души, единият сте вие – човек, който води своето битие по дефиниция 1 или 2 и друг, който не го прави – дефиниция 3. Сега си представете, че вторият взима по-висока заплата от вас или пък че получава по-добри отзиви за работата си (противоречиво, но възможно), макар и да я е свършил супер зле, но това няма как да се види от шефовете естествено. Представете си, че втория получава повишение, а вие – не, или даже че ви става шеф. Незнам кой би се примирил с подобна несправедливост или би се направил на скромен и би го преглътнал… аз немога. Лошото, е че немога да преглътна и по-леки несправедливости.

Немога да преглътна, когато съм се готвил една камара време за даден изпит и някой отиде и препише и накрая аз имам 4, а той 6.
Немога да преглътна, когато някой който неможе да напише името си без 3 правописни грешки, получи по-добра оценка от мен.
Немога да преглътна, когато някой представи проект, който очевидно не е писан от него, но е 10-12 пъти по-дълъг от на всички останали и получи потупване по рамото и овации.
Немога да преглътна, когато по-нисшестоящи форми на Програмистки живот, като например тестери или лелки които седят по-цял ден на бюро и нищо неправят (HR) и други получават заплата близка до моята (опазил ме бог да е по-висока).
Немога да преглътна, когато някой „мениджър“ или „шеф“ (това трябва да са много големи кавички), реши че на всеки програмист, трябва да се падат по 1.8 тестера, 1.3 HR-а, 2.4 аналисти и още една камара баластни нисши форми на Програмистки живот.
Немога да преглътна, когато по-нисшестоящи форми на Програмистки живот, ги пращат в командировка по няколко пъти годишно без видима причина, а аз се боря с бъгове или технически проблеми.

Всичко това за мен е несправедливо. Несправедливо е спрямо мен, спрямо усилията които съм положил и това ме изкарва от релси!

Не ме разбирайте погрешно, тестъри (наричани още QA), HR и останалото ИТ излишество са нужни – да, няма спор, но в други количествени пропорции и би трябвало да им се обръща доста по-малко внимание, имайки предвид, че програмистите създаваме нещото, от което фирмата печели. Програмистите и архитектите са тези, които реално правят баницата. Другите я опитват, за да проверят дали сиренето е достатъчно или я продават/договарят с някой клиент. Някой даже и това неправят, бтв.

Нехайството към тези, които правят баницата рано или късно ще бъде наказано, разбира се, може само да се надяваме, че ще е рано. Също и тези, които са се забили на дадено ниво и нямат желание да просперират рано или късно ще ядат калая, защото бранша и технологиите не са статични като тях, просто. Точно за това малките фирми са „good“, а големите „evil“. Малка фирма с 10-20 програмиста означава, че се внимава, кой се наема. Също така в нея не си малко зъбно колелце, без което машината ще продължи да работи – там ти си някой и съществуването ти е важно за абсолютно всеки в нея. В големите компании ти си никой, никой не знае за теб, има една камара административни глупости, с които те занимават. Освен това 80% от хората са некадърни, защото по някое време се е наемало на килограм, повечето са без мотивация или са „скатавки“, което е несправедливо спрямо останалите 20%. Процента на нисша форма на Програмистки живот е по-голям от колкото трябва и още един куп неща, които обричат всички процеси в компанията на неефективност. За съжаление това работи, работи защото се ползва масово и с успех, но както в природата, така и в IT индустрията има еволюционни модели и това означава, че след време всичко неефективно ще е умряло… след доста време за съжаление, така че ни остава само да чакаме и да наблюдаваме.

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

До тогава гледайте „Мойто име е Ърл“ и не се примирявайте с нищо, което не е справедливо!