Преди години, когато работех като ръководител на отдела човешки ресурси, провеждах интервюта и подбирах кандидатите за работа на длъжност програмист в нашата компания. Използвах една съвсем опростена, логична, разбираема и разкошна методология (не е измислена от мен). Кандидатът първо преминаваше през дълго интервю с куп различни технологични въпроси, а след това трябваше да състави няколко неособено сложни алгоритъма. На хартия, както правехме ние в институтите.
Като погледна назад, разбирам, че този подбор работеше наистина перфектно. Всичките, които подбрах тогава, станаха уважавани в нашето Голямо село програмисти. Повечето от половината от тях отдавна се занимават със собствен IT бизнес в най-различни сфери – от софтуер за предприятия до разработването на CRM системи.
Но този натрупан опит някак размъти ума ми. Дотолкова, че реших да сменя методиката. Нали съм великият специалист по технологични интервюта.
Промените
Промените, които направих съвсем не са сложни – сега хората пишеха кода не на хартия, а на компютър. Мислех си, за какво хората да седят като в някой древен манастир и да пишат някакви драсканици. Така или иначе и аз използвам IDE, контекстно подсказване, мощни дебъгери и всички други помощни средства на съвременното програмиране.
Така че започнах да давам на човека съответната задача за съставяне на алгоритъм и го оставях зад компютъра за половин-един час. Когато се връщах, проверявах какво е станало и преглеждах решението. Направи ми впечатление, че кодът е много добър – добре е написан и оптимизацията е на ниво. Чак започнах да се чудя – нима съвременното поколение е дотолкова ‘на ти’ с технологиите, че пишат код все едно, че дишат?
Да, събрах аз един екип от такива хора.
Първите месеци
В началото всичко бе направо прекрасно. Редовно преглеждах всичките показатели за тяхната продуктивност и ефективност, и не преставах да се учудвам на бързия ръст на тези момчета. Преди време, през първите месеци хората вникваха в нещата на нашата компания доста трудно – те с лекота пишеха кода на учебните задачи, но в началото имаха затрудения с работните задачи. Тук подобни проблеми нямаше.
Ясно бе, че с по-лесните задачи те ще се справят бързо. Започнах да им давам по-сложни задания – такива, които по-рано давах след една година служба. Тези момчета се оправяха и с тези задачи и алгоритми, без дори да искат помощ и да питат за нещо допълнително. Гледай ти! Направо бях шокиран. Започнах да се радвам какво поколение расте!
Мислех, че така ще бъде винаги. В смисъл, ще има линеен ръст. Да бе, да.
Платото
След около 3-6 месеца всичките тези хора демонстрираха плато на продуктивността. За съжаление, именно тогава те преминаха към отдалечена работа, защото се разрази епидемията от новия коронавирус. И аз си седях вкъщи и се ядосвах.
Времето течеше, затъркаляха се месец след месец, а продуктивността замръзна на ниво стажант. Понякога имаше краткотрайни локални пикове, но те можеха лесно да бъдат обяснени с големия брой опростени, монотонни и еднотипни задачи. Продължавах да се ядосвам и да крещя в чатовете.
Мислех си, че проблемът е в отдалечената работа – там няма как да използваш цялата сила на харизмата. Може би на хората им липсва мотивация, може би не им стига живото общуване, а понякога и малко по-силното подтикване от моя страна. Тук и моят шеф ми направи мечешка услуга – започна да пита дали продуктивността заради отдалечената работа не пада? Казвах, че е спаднала, но като влезем в офиса всичко ще тръгне.
Офисът
Влязохме в офиса през месец август. Седим, работим, задачите са много (по време на отдалечената работа нямаше много поръчки). Гледам показателите – не растат. По дяволите! Ще се наложи да се намеся в работата на другите.
В началото започнах доста тъпо да предлагам помощта си на другите. Не можеше да се справиш с този алгоритъм? Извикай ме. Ще дойда, ще седна за малко на твоето място пред компютъра, а ти гледай и запомняй, как трябва да се работи.
Но те са много, а аз съм сам. Няма да се получи това. Трябва да се направи нещо по-дълбоко и по-мащабно. Реших да се върба към най-първия етап – технологичното интервю.
Повторното интервю
Не, не ги карах да пишат сорс кода на хартия – просто сядах наблизо, казвах какво трябва да се направи, а програмистът трябваше да го реализира. Мислех да започна с поредица от задачи, като постепенно повишавам сложността. Но всички приключи още при основите на програмирането.
Оказа се, че само един от десетте назначени от мен програмисти може да работи с базовите понятия, типизацията, знае техните свойства и методи. Нещо по-лошо, само 2-3 на десет души долу горе могат да работят с вградената помощ и с контекстните подсказки. Ужас – те съвсем идиотски не могат да намерят необходимите свойства и методи. Изобщо не може да става дума да ги използват, дори и в най-елементарната задача.
Само един от тях се оказа по-смел и запита:
‘А може ли да погледна в Google?’.
Чак сега ме осени какъв идиот съм бил.
Google-програмистите
Сякаш върху главата ми падна голям чувал с брашно. Два дена не ми мина. Нима е възможно нещо подобно? Този красив и оптимален код, който те ми показваха на първото интервю, е бил открит в интернет. Тези решения, които им осигуриха взривен ръст на производителността и продуктивността в първите месеци на работата, са взети от Глобалната мрежа. На въпросите на потребителите, на които наетите от мен хора отговаряха след вълшебните думи ‘ще ти звънна по-късно‘, са взети от интернет.
Много лошо – та те пишат код без изобщо да разбират базовите конструкции. Не, те не пишат код, те го свалят отнякъде. Не, не се изразявам точно… Да изтеглиш и разгледаш достъпен код е нещо нормално. Но те само го преписват. Без да умеят да го пишат и без да го разбират.
Започнах да се възмущавам – как може така? Ясно е, че винаги може някоя нова технология да се разгледа в интернет, може да намериш някое решение, което ще ти ускори работата и ще станеш по-добър. Но базовите неща поне! Как може да ги преписваш от интерент?
И знаете ли какво ми отговориха?
‘Какво толкова?’.
Едва не отидох в някой манастир заради това. Разбира се, бързо разбрах, че проблемът не е в тях, а в мен.
Те просто следват законите на своя си свят. А аз идиотът, тези закони не можах да видя, не разбрах и не осъзнах тяхната сериозност. Сериозността на повърхностното отношение.
Повърхностното отношение
Когато бях още първи курс, всичките нас ни събраха в аудиторията на нашата катедра. Там един доста възрастен чичо, който бе заместник декан и доцент ни каза:
‘Институтът не дава знания. Той ще ви научи самостоятелно да ги придобивате’.
На мен ми провървя. Знаете ли защо? Защото се учех в самото начало на този нов век, когато интернет можеше да се види само в илюстрациите. Искаш да разбереш какво е C++ – моля, сядай и започвай – има материали за С++. Искаш да напишеш курсова работа за измерване на грапавините – отиди в библиотеката, прочети книгите и необходимата техническа литература, напиши си курсовата работа. Трябва да направиш исторически доклад – вземи списанията и си извади необходимите статии. Точно така, трябва да провериш и прочетеш всичко, докато не намериш необходимите материали.
А Google-програмистите нямат късмет. Те имат достъп до всякаква информация – тук, веднага и навсякъде. Те са се научили бързо да намират необходимата информация – независимо дали това е магазин за продажба на хайвер, дънки с намаление или рекурсивен алгоритъм.
Но хора, има много медицински и какви ли не други изследвания за това, че в мозъка се образуват и се укрепват тези невронни връзки, които човек използва най-често. Ако постоянно пишеш код, то ще започнеш да правиш това все по-добре. Това се нарича придобиване на опит, постига се с работа, учене и тренировки, и е безценно. Разбира се, ако преписваш код от интернет ще ставаш все по-бърз именно в това. Ако постоянно търсиш информация в интернет, ясно е, че ще развиеш точно това умение и ще ставаш все по-голям майстор в тази насока.
Само че далеч не всичко е публично в интернет. Ето защо имаме плато. Продуктивността на Google-програмиста не е умението за писане на код, а умението кодът да бъде преписван от интернет. Това доста прилича на скоростта на теглене на файлове от Глобалната мрежа.
Навярно един ден Google-програмистите ще изпреварят обикновените програмисти. Най-вероятно при решаването на стандартни задачи и съставянето на несложни алгоритми. А засега ние мъчително ще формираме нови невронни връзки и ще използваме обектно програмиране, типовете и сложните конструкции на различните езици за програмиране.
Трябваше ли да се прецакам така? Срамота!
Всичко важно от света на технологиите, директно в пощата ти.
С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.
Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!