21 септември, 2019

Николай Костов е софтуерен инженер с умения, обхващащи почти всяка сфера на програмните езици и технологии. Портфолиото му от проекти е изключително разнообразно, като една от любимите му разработки е популярна система за автоматична проверка на състезания и изпити по програмиране. Николай е и сертифициран треньор на Microsoft, награден с наградата „30 под 30“ от Forbes България и „Студент на годината в България“.

Николай, как започнахте да се интересувате от програмиране?

За голямо щастие моят път в програмирането започна доста рано. Започнах да се интересувам от програмиране още когато бях 6-ти клас и оттогава то леко-полеко се превърна в мое хоби, а впоследствие и в професия. Не съм имал никога ментор или човек, който да ме насочва в тази област. Интересното е даже, че в гимназията (НПМГ) учих химия и биология – нищо общо с програмиране и въпреки това, запазих интереса си към него.

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

По-късно заради състезанията минах на C++, започнах като ученик да изкарвам пари от проекти на PHP, писал съм на Visual Basic, Java, JavaScript и др. После научих за C# и от тогава той ми стана любимия език.

Вие имате богат кариерен опит и участие в различни проекти – кой проект се установи като любим за Вас? 

Много от проектите, които съм правил са ми били страшно интересни. Във всеки е имало по нещо предизвикателно и сложно. Ако трябва, обаче, от всички проекти, които съм правил, да избера само един – това ще бъде OpenJudgeSystem.

Накратко това е уеб приложение с отворен код, което писах преди може би повече от 7 години и до днес се използва активно. То представлява система за състезания и изпити по програмиране, в която автоматично се проверяват задачи на различни технологии (C#, C++, JavaScript, Java, Python, PHP и дори CSS). Това, което беше предизвикателното в създаването на системата, беше така наречения sandbox (или restricted process). Той има за цел да стартира кода на потребителите (студентите) в ограничена среда, която да ги пази от това да правят злонамерени действия с програмите си върху тестващия сървър. Тъй като цялата система е създадена на Windows, а в Windows такава защитена среда (sandbox) няма вградена, се наложи да я имплементирам използвайки т.нар. “Windows API”, което заедно с тестването беше едно от най-интересните неща, които съм правил.

По какво работите към този момент и какви технологии използвате най-активно?

Към момента най-активно и ежедневно използвам C#, .NET Core, ASP.NET Core и на работа, и в свободното си време. В компанията, в която работя, разработваме активно различни проекти, от адвокатски софтуер, който се интегрира автоматично с американския съд и подготвя необходимите документи за делата, през системи за финанси до абстрактна уеб-базирана система с възможности за уеб телефония, менажиране на маркетинг и sales информация, от къде идват клиентите и как, данни за тях, кол-центрове и служители в тях и т.н. и т.н.

Като “Студент на годината, 2015” и носител на много награди от национални ИКТ олимпиади, как бихте оценили познанията, които сте получили в средното училище, а на по-късен етап и от висше учебно заведение?

Определено съм доволен от гимназиалното и университетското си образование.

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

В университета изучавах компютърни науки във ФМИ. Там получих доста важни фундаментални знания по математика, които и до днес смятам, че са ми полезни. Обучението по софтуерните дисциплини, обаче, не беше на нивото, което очаквах. Сега карам магистратура в НБУ и съм доста доволен от базата, от преподавателите и от съвременния материал. При всички положения, обаче, 4 години в университета дават едно добро начало за сериозна работа в сектора. Друг е въпросът дали не може същата основа, човек да получи и за по-малко от 4 години.

Зад гърба си имате много фрийланс проекти. Какви са ползите на фрийланс работата и защо този вид ангажименти са предпочитани от много специалисти?

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

Кой е най-ценният съвет, който разбрахте в течение на професионалната си кариера и бихте дали на нашата аудитория?

От опита си съм се убедил, че най-успешните колеги са тези, които не се отказват и завършват нещата до край. Успех!

Интервюто проведе Вяра Стефчева.

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