26 април, 2024

Даниел Иванов се занимава с програмиране от почти 8 години. Присъединява се към Immedis преди малко повече от 1 година. В момента е Technology Lead и ръководи екип от 5 човека. Извън работните му ангажименти, обича да пътува из България и да опознава непознати места.

dav

Здравей, Даниел, как започна всичко? Какво те мотивира да се занимаваш с технологии?

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

Списъкът с технологии, с които работиш, е много интересен. Как си се насочил към тях? Защо предпочиташ да работиш с тях?

Насочих се към C#, защото много ми допадна синтаксиса и езика като цяло. Това е език от високо ниво, чрез който с малко писане може да постигнеш много, в сравнение с Assembler примерно. Отварянето на ядрото на .NET според мен е едно от най-добрите решения на Microsoft. По отношение на базите от данни доста време съм работил с MS SQL Server, като още преди да се присъединя към Immedis, започнах да се занимавам с PostgreSQL, безплатна база от данни, която се развива доста динамично и има възможност за extension-и.

Съгласен ли си, че в движение всеки човек оформя лидерските си качества? Какви са твоите методи за лидерство? Има ли “учебник за управление на програмисти”?

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

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

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

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

Какви са условията за кандидатстване в твоя екип? Колко са интервютата, които трябва да преминат кандидатите?

Желание! За мен това е най-важното. Дори човек да няма познания или опит, това са неща, което лесно може се поправят. Вярвам, че ако човек има желание, то няма какво да го спре. В Immedis работим с екипи от по 5-6 човека, което ни дава възможност да отделяме време на всеки един, подпомагайки тяхното развитие.

Самият процес за подбор на персонал е стандартен  – първоначално кандидатът преминава през интервю с представител на отдел „Човешки ресурси“ и с мениджъра на екипа, за който кандидатства, а след това получава задача, с която да оценим техническите му знания и умения.

 

Имаш ли наблюдения върху кандидатите, които нямат технологичен бекграунд, а са резултат на академиите? Сред колегите ли има ли разработчици, които са без технологично образование?

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

Как се отразява кризата за вашия екип до момента? Как се отразява на проектите, по които работите? Какви предизвикателства се срещат?

По отношение на проектите не усетихме големи промени, тъй като имаме конкретни планове за следващите 2-3 години и работим активно по тях.

Сблъскахме се единствено с това, че намалихме темповете на растеж на самия екип. Просто е малко по-трудно да обучаваш нов колега дистанционно, отколкото лице в лице. Това обаче е само временна ситуация. Дистанционният начин на работа и обучение са неща, към които и ние, и всички останали компании определено ще трябва да се нагодим.

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

Влияе ли на продуктивността коденето вкъщи? Какъв технологичен стек използвате?

Изполваме PostgreSQL, NHibernate, C#, .NET Core, JavaScript, jQuery.
По отношение на продуктивността – не мисля, че продуктивността се влияе от нещо подобно. Според мен няма значение от къде работиш –  дали е от офиса, от вкъщи или от кафенето. Стига лаптопът ти да е с теб, то всичко е в твоите ръце. Една голяма част от пречките, които ни спират да постигнем каквото и да е, обикновено са само в нашата глава. Хенри Форд е казал: „Дали си мислиш, че можеш или че не можеш, все ще си прав“ – това е моята философия. На това се опитвам да науча и екипа си.

Работиш по оптимизирането на процесите във вашите отдели. Какъв е подходът при процеса за оптимизация и къде има нужда от оптимизиране?

Основният подход, който аз използвам, е “разделяй и владей”. Чрез него разделям на по-малки съставни части, над които вече мога да се концентрирам. Естествено не трябва да се забравя и голямата картина. Една от важните думи, през последните години на развитие за мен, е ефективност. Това е нещо, което се опитвам да предам и на колегите си. Много места може да се оптимизират, но дали е нужно, може да се определи само като се има предвид резултата, който ще се получи и вложените усилия. Пътят към съвършенството не е линеен, а по-скоро експоненциален, където всяко следващо подобрение е все по-скъпо от предното.

Според теб какъв е минимумът, който трябва да знае един разработчик? Кое е най-важното?

Минимумът според мен е да има базови познания по някой език за програмиране. Различните езици имат доста сходни, да не кажа еднакви оператори. Най-важен е начинът на мислене и подходът към решаване на проблеми и задачи, като това е една от основните ни и дългосрочни цели в развитието на екипите. Езикът е просто инструмент за материализиране на това решение. Веднъж стигнал ли си до него, реализацията е просто въпрос на време, независимо дали използваш C#, Java, JavaScript и т.н.

Какво би препоръчал на хората, които започват сега да се занимават с технологии и искат да оптимизират работата си?

Да не спират да учат и да са отворени за нови неща, като това може да са технологии, методологии и т.н. Сферата ни е доста динамична и технологиите постоянно се развиват, съответно и ние трябва да сме в крачка с тях. За да оптимизирам работата си често след като съм наясно какво трябва да направя, си отделям малко време да помисля по какъв начин точно да го направя, вместо веднага да скачам с първата мисъл. Понякога това може да намали нужното време в пъти. Work smart, not hard.

Тагове: , , , , , , , , , ,