Защо съм „зъл“ на интервютата

Вчера водих поредното интервю и след краят му колегата който също участваше ме погледна учуден и ми каза в прав текст – „Ти си голям задник, защо така закопа това момче„.

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

Нека да дам малко контекст, преди да се опитам да обясня основната теза. Момче на около 28 години, с завършено техническо образование и 8 години професионален опит в IT, в частност  PHP. Според CV-то е почти идеалния кандидат за нас. Но както се казва – „На думи и CV-та всички сме богове“, за това има серия от интервюта, за да се види кой кой е.

Започнах да задавам стандартни въпроси за да се ориентирам най-общо за нивото му, интересно бе, че не знаеше коя е последната версия на PHP, според него бе 5.6. Също така не знаеше какво представляват traits, нещо което го има в PHP от 2012 година. Добре, казах си аз, не му се е налагало да ги ползва – не ги е ползвал. Ако може да мисли ще разбере колко хитра идея са и как се използват ефективно. Следващият ми въпрос беше „Каква е разликата между предаване по стойност и предаване по референция“ при което разбрах, че дори не знае каква е тази концепция. Не в PHP, а като цяло в програмирането. Хайде стига де, 8 години практика, техническо образование и да не знаеш, че съществува такова нещо е все едно да попиташ счетоводител каква е разликата между дебит и кредит и да получиш отговор „Не знам, никога не съм ги ползвал“. А тази концепция има значение, има ОГРОМНО значение, когато се пише код. Повечето езици я правят „прозрачна“, не се налага да се мисли, но когато кода зависи от нея и не се съобразиш – страшни бели стават.

Човека искаше доста висока заплата, не мога да кажа колко заради конфиденциалността, но да кажем, че искаше повече отколкото взима Президента и Министър председателя на България. Лошо няма, докато не си поискаш никой няма да ти даде, а и всеки работодател ще е щастлив да плаща 100 лева на месец вместо 1000, и всеки трябва да иска толкова колкото смята, че заслужава, но не това е от значение. От значение е каква бе неговата самооценка за уменията му и за пазара на труда в България.

Той се определя като senior developer  в PHP и MySQL и смята, че заслужава такава висока заплата. Ето тук е проблема, динамичния пазар на IT в България и хроничната липса на специалисти води до такова разглезване и нереалистична преценка. Липсват над 33 000 специалисти в сектора (според някой анализи са и повече) и всевъзможни фирми почнаха да промотират всевъзможни курсове с гръмки заглавия от типа на „Стани програмист за 2 месеца, стартова заплата 3000 лева чисто„. Разбирам тези фирми, има пазар – експлоатират го, а вече стана и силно конкурентен, нормално е да има подобни изцепки, но никой няма да даде 3000 лева на начинаещ, нека бъдем реалисти. А в конкретния случай човека искаше доста, ама доста над 3000. Да, единични фирми може и да дадат такава заплата на начинаещ, защото са отчаяни, или искат да изчистят едни пари, но това са изключенията, не правилото.

Помислете си, 3000 лева на месец – чисто. Приемаме, че това е заплатата която обещават разни фирми ако завършите курсовете им. Това са 1500 евро. Предполагам имате познати във Германия, Англия, Франция…. попитайте ги колко взимат хората там, но СЛЕД данъците. С колко пари се прибират в края на месеца? В някой държави данъците са над 60% от заплатата. Ще го кажа така, много хора на запад ще са много доволни ако успеят в края на месеца да имат 1500 евро в джоба си. Не че няма по-високи заплати, има, но тук говорим за някаква сравнителна линия между България и запада, който винаги ни се бута за пример, нали за да успеем да разберем дали дано нещо е малко или голямо трябва да го сравним с нещо друго. Колко взима един човек, който тепърва започва своята професионална кариера?
3000 лева на месец за българския стандарт, ами някой хора и за 1 година не вадят по толкова. А ако имате собствено жилище и не плащате наеми бих казал, че не е толкова зле. А ако пък сте добри и взимате повече от 3000, което е нормално за нашия пазар, още по-добре.

Защо тогава така сериозно ударих егото му, защо бях толкова остър, нали до сега обяснявам, че всеки може и трябва да иска колкото заслужава?

Отговорът е много прост, след интервюто той може да направи 2 неща, едното е да си каже „Егати и задника, на какъв ми се прави тоя, за какъв се мисли, по-добре, че няма да работя с такива кретени“ и ще бъде прав, в неговите очи и в неговия свят. Ще продължи с нереалистичните си самооценки и очаквания и в един момент някак си ще излезе, че всички в тази държава са кретени, задници и не го оценяват. „Аз съм егати пича, но България не ме обича„. И ще бъде прав, за него си, в неговия малък свят, тотално откъснат от реалността.

Другото нещо което може да направи е да си помисли „Чакай малко, изложих се, но се изложих не защото този задник е по-добър от мен  – изложих се защото уменията ми не са на необходимото ниво и претенциите които имам може би надскачат реалните ми възможности. Я да си седна на задника и да стана по-добър. Има толкова много книги, курсове, уроци, материали. Просто трябва да седна и систематично да повиша нивото си – да стана по-добър специалист.

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

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

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

„Dunning–Kruger“ ефекта често се визуализира със следната диаграма:

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

Самата тема е изключително интересна (заради това откритие авторите получават Нобелова награда) и има страхотни статии които разкриват много „мръсни“ детайли от човешката природа, които реално са виновни за това поведение, но егото влияе много в тази крива, особено в началото.

За това съм задник (понякога), защото колкото по-бързо започне кривата да спада, толкова по-бързо човек ще се „оправи“. Който иска да ми се сърди да ми се сърди. Който мисли, че съм гадно копеле, ами гадно копеле съм, но за тези 10-на процента от хората, които ще си седнат на задниците и ще разберат, че са в грешка, това ще е полезно и от тях ще излезе нещо стабилно.

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

Без бой не става, боя изгражда, той не разгражда“ – много умни думи на Камен Донев. Дали ще е физически бой или бой по егото няма значение. Ви да познавате боксьор който се е научил да се боксира без да са го били? Лекоатлет без навяхвания, разтежения и подобни контузии, музикант без лоша песен? Няма, няма и да има, защото точно тези „неуспехи“, „провали“, „унижения“, „травми“ са нещото, което бутат кривата в правилната посока.

Така че, шамар от един задник може да бъде много по-полезен от похвала от един пухльо!

Ако все пак не сте ме разбрали, аз не съм закопал човека с трудни въпроси (от алгоритми или структури от данни), аз го питах елементарни неща. Човека идва с претенции за старши, иска заплата на старши, казва, че последните няколко години е работил като старши а не може да каже каква е последната версия на технологията в която е „старши“. Едва ли има работодател който ще взема на сериозно човек, с претенции за „старши“ който не знае дали има разлика между малки и големи букви в имената на променливите – сериозно? Въобще не се стигна до нормалните въпроси за „старши“. Ако момчето имаше покритие на претенциите си, заплатата която поиска е напълно реалистична за нашият пазар, и най-вероятно щеше да я получи.

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

Уточнение:

Не знам защо но много от вас си помислиха, че аз съм обиждал или унижавал момчето. Не е така. Който ме познава знае, че за да обидя някой трябва доста да се е постарал. Това което направих е, че не му помагах да отговори на въпросите които задавах и просто му задавах друг въпрос. Когато това се направи с подходящата интонация има силен ефект, но наистина, аз МНОГО рядко си позволявам да обиждам, осъждам или злепоставям човек, ако го правя, го правя по най-недвусмисления начин.

Уточнение 2:

Моля за разбиране за правописа и граматиката. Не мога да направя нищо по въпроса. Причината е състояние, което не ми позволява да се оправя с правопис и граматика. Мислете за това като недъг, а не като некадърност. Опитвал съм се, но е извън възможностите ми. Отнема ми около 10 секунди да разбера кое е буквата ч и ц във всяка една дума. Срам ме е, но и невролозите не са сигурни защо е така. Мога да чета по 5-6 страници в минута осмисляйки съдържанието, но не мога да пиша грамотно. Извинявам се и моля за разбиране. Благодаря!

Уточнение 3:

Ама то аз съм за бой, цялото това чудо е било заради такова глупаво неразбиране, че момчето е искало 3К, а аз съм смятал, че това е било прекалено много за старши програмист в България.
Добре, дължа извинение на всички в този случай. Всеки който се е почувствал засегнат моля да ме извини, ако е възможно. Нека да се опитам да изясня нещата, доколкото е възможно на този етап:

-Момчето искаше МНОГО повече от 3000 лева.
-Според мен 3000 лева чисто на месец за старши програмист в България клони към долният минимум на реалните заплати в момента. Има фирми, които се опитват да минават „тънко“, но 3000 и нагоре е повече от нормално и реалистично за старши програмист в България.

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

517 мнения по „Защо съм „зъл“ на интервютата

  1. gatakka Автор

    Няма да влизам в коментари колко EJB замвства DI и проблемите които съм имал с него. Интересно ми е как се нарича човек, който не знае нито един от горе споменатите методи и си няма никаква идея за предимствата и недостатъците и какви неприятности да очка в срддносрочен план ако избере даден подход.

  2. Stilgar

    Аз с EJB не съм запознат ама просто търсене в Google вади огромно количество резултати за използване на DI с EJB и освен това самото EJB изглежда дефинира анотации за DI.

  3. RoYaL

    То и аз не разбирам много, ама вие кое от EJB визирате за еквивалент на DI? Това, че някакви бийнове са мениджнати при стартиране на app server-а и са персистънт и можеш да ги достъпваш през определен контекст? Това не си ли стиснаха ръцете хората преди години, че е грешно на много нива. Другото което съм виждал е баш injection. @EJB отгоре и бийн-а със стейта му се появява в обекта ти. Някой, който е по-запознат с архитектурата ще хвърли ли светлина какво е EJB3.0?

  4. JOKe

    Ivan T :
    Нещо се бъркаш човек.
    Първо DI не работи през Reflection това си е имплементационен детайл.. обикновено работи като един Map пълен с интерфейс+име и имплементация… няма връзка с Reflection.

    2ро EJB дори 2.. винаги не си си създавал ТИ класа.. като си казваш lookup още на времето на база дали е Stateless или Statefull EJB-то container-а ти връща същата инстанция, която си е за теб и твоята сесия или различна.
    Отделно.. горе спомена EJB3… пиши малко на EJB 3 .. какво си мислиш, че се случва като напишеш :

    @EJB
    private Calculator calculator;

    Ами … да точно така … DEPENDANCY INJECTION … това че не пише @Inject а пише @EJB не значи, че не е Injection 🙂

    Това @EJB е официалния начин от Java EE 5 a именно EJB 3, дето спомена горе… навремето се правeше един грозен lookup … (ползвал съм 2.1, преди това не знам). Повече информация тук https://docs.jboss.org/ejb3/app-server/tutorial/injection/injection.html

    Във Java EE 6 се появи CDI с идея… да нямаш 20 различни начина за injection като @EJB или @Resource и етц.. а да имаш само 1 анотация.. и всеки да си я интегрира … т.е. да слагаш само @Inject(както каза и gatakka азък, че даже не пише на Java) по подобие на Spring-ския @Autowire. Повече информация тук http://docs.oracle.com/javaee/6/tutorial/doc/giwhl.html има и проект с Extensions наречен DeltaSpike https://deltaspike.apache.org/ така да се каже да си инжектваш и други неща.

    Аз мога да кажа, че който не ползва някакъв вид DI го прави грешно.. и в един момента проекта 99.99999% ще стане мазало като спагети болонезе в което търсиш кюфтето с 2 парченца лук по него.

    За край.. може да си направиш винаги и сам DI фреймуорк … напълни си при стартиране на приложението един Map … направи си една логика при гетване от мапа да се проверява има ли създаден няма ли .. да създаде ли нов, да върне ли стария ( да поддържаш и prototype и singleton) и готово .. после просто за всяко поле при use (т.е. в гетъра му за да е lazy) си лоокъпваш от мапа…. мда… после ще се сетиш, че може да сложиш анотация да ти лоокъпва… и ХОП … не е само @Inject депенданси injection 🙂 Dependancy Injection е патерн .. и винаги е бил .. https://en.wikipedia.org/wiki/Dependency_injection

  5. Ivan T

    Мненията горе са фрашкани с неточности и откровени грешки. Като ми остане време ще се заема да коментирам поотделно. Да, работил съм с EJB за разлика от вас!
    Малко арогантно се получи от страна на който там го изръси.

  6. JOKe

    Ivan T :))) Убиваш ме хахаха, кой DI дуде 🙂 EJB анотацията ли ? 🙂 или на Spring DI ? или CDI ?

    Обяснявам ти че DI работи така както си го направиш..

  7. Ivan T

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

  8. Gudata

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

  9. Николай Неделчев

    Към автора:
    Благодаря за интересната статия и за направения анализ.

    Виждайки уточнение 2 мога да споделя това: https://moodle.org/mod/forum/discuss.php?d=150210
    Не ми изглежда сериозно това оправдание за „недъг“, най-малко защото сте написали „не мога“. А има едно клише, според което „не мога“ значи „не искам“.
    Все пак става дума за граматика и пунктуация – също толкова базови (изучавани в средното образование, все още), колкото са актуалната версия на PHP и разликата в предаване по референция и по стойност.

    Поздрави!

  10. Tajna

    Дислексия? Мислех,че не може да се програмира ако си дислектик? Аз съм с дислексия, дисграфия и още Бог знае какво 🙂 С много труд завърших прилично, даже отлично и средното, и университета, във времена, в които това не се разпознаваше и не съм била третирана като дете със СОП. Не, няма да те разберат. Поздрави за трудът, който си положил. Аз разбирам.

  11. Аз ли, ти ли

    Нека си представим следното: Аз съм на мястото на кандидата, ако по време на интервюто, ей така сладко говорейки си, те попитам за разлика между производна и диференциал. Второто ми питане – как се диференцира функция с краен брой точки на прекъсване от първи род …
    Ако пък ти не можеш да кажеш нещо смислено по темите, ставам и спокойно излизам…

  12. WisemanCAX

    До #Аз ли, ти ли:
    Прав си – интервюто е двупосочно!
    Аз съм правил (груби) грешки и са ме наказвали, но също така когато работодателят допусне (груба) грешка (вече) си го отнася.
    В България никой не може да спре прогреса/технологиите, но също така никой не може да върне 3 милиона българи, които меко казано избягаха именно защото има разлика между „пазарна икономика“ и „пазарна икономика“.
    Интервюто започва с… коректно написаната обява за търсене на (млад) специалист. Ако обявата е на български и недай си Боже да е „с правописни грешки“, то аз даже не запомням обявата камо ли да кандидатствам по нея.
    В момента кандидатствам за да си проуча (малко или много) конкуренцията, а не толкова да бъда лоялен служител, но така или иначе, ако работодателят е бил „мърляч“… аз съм „зъл“ към него!

  13. HR, marketing, consultant and PR турбомега високоефективният спец

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

  14. gatakka Автор

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

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

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

    Ако не разбираш тази елементарна логика много се радвам, че си в маркетинга а не в IT.

  15. chance

    Аз пък пиша на Java (правих складов софтуер за едни приятели (още се ползва), участвам и в 2 open source проекта), PHP (Symfony) и JavaScript (правих нещо като ERP система, която мисля че вече не се ползва (беше за Start Up-а на един приятел)), Python (предимно за да направя нещо набързо, без излишна хамалогия, и да тествам ERP системата), а в последно време на C (за програмиране на микроконтролери). Още не ми стиска да се пробвам да кандидатствам някъде за работа, за да не ме свали на земята някой senior, дето може да не е на кеф, докато съм на интервю. Явно ще трябва да поработя над този Dunning-Kruger ефект, та ако знаеш как се прави самоанализ на уменията, кажи! 😀

  16. Един от нас

    Привет и т.н.
    Четох, четох, разбрах и Гатака, и Рабин, и тук таме някои други разумни коментари.
    Прави сте момчета! Всички сте прави за себе си.
    Но искам да отбележа едно, че 5к не е нормалната за България заплата (въпреки, че би трябвало (пожелателно)). Дори 3 000 не е нормалната за страната.
    Познавам достатъчно колеги, които имат и опита, и знанията, и сертификатите, но не взимат посочените суми.
    Да, има фирми като тези в които Вие работите, но има и много други, в които дори да са добри условията, заплатите са на съвсем друго ниво.
    Радвам се, че вече не пиша код!
    Някак средата в която пишкомеренето е на почит, не ми липсва.
    Имам щастието да съм в сектора, но в позицията на джуниър, който отново учи и развива знания и опит, но в среда леко в страни от корпоративната.
    И да, не взимам вашите заплати, живея на квартира някъде в Софията и се грижа за още няколко гърла в провинцията, но не се оплаквам.
    Иване, хубаво е да има кой да ти нашльоква канчето понякога, но моят опит показва, че когато сам не си в състояние да направиш това със себе си, в 80% от случаите е просто проява на агресия породена от каквото ще да е (ниско самочувствие и т.н.), но безсмислена.
    През 14 години в сектора съм правил много неща.
    Много неща ми се е налагало да уча на момента, но съм намирал добри решения и съм правил читави, четимо написани и работещи неща, намирайки знанията за тях във времето на изпълнение.
    Плюсът с голямо + при мен е, че мисля бързо, мога да видя детайлите, но мога да погледна и цялата картина и да вържа нещата.
    Простичко е. А и Иване – може би имаме еднакъв проблем, но както някой каза, с подходящите упражнения и упоритост, се постигат чудеса.
    Съгласен съм с теб, че ако искаш да постигнеш нещо, където и да си, си трябва постоянство и работа, както и разбира се малко талант 🙂
    Не се карайте момчета. За всеки нещата са различни, но не мерете другите с вашите аршини. Човек може да не знае едно, но може да го научи, а потенциалът който може да развие да е 100% доходоносен, и обратното.
    Поздрави и да Ви е сладка бирата!

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *