Telerik Academy

Николай Костов, трейнър в Telerik Academy: Успешният ИТ специалист трябва да е екипен играч

От: User Not Found | 01 юли 2013

Nikolay-Kostov

Ако посещавате или някога сте посещавали Софтуерната академия на Телерик, със сигурност сте присъствали на лекции на Николай Костов. Ники се присъединява към Академията през 2011 г. и е в основата на много проекти като разработването на системата за онлайн състезания BGCoder и платформата за електронно обучение. Как е започнал да се занимава с програмиране и кое е най-ценното, което е научил от Академията – прочетете в интервюто с него.

- Как започна да работиш като трейнър в Академията?
- Аз бях един от най-добрите студенти във второто издание на Софтуерната академия. Един ден Светлин събра топ курсистите на вечеря и ни обясни, че Академията търси нов трейнър. Няколко човека изявихме желание и след интервютата бях одобрен. Много се чудих дали искам да се занимавам с това, но реших, че е интересно и искам да пробвам. Така през 2011 г. се присъединих към екипа на Академията.

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

- А как се породи интересът ти към програмирането?
- Беше отдавна. Първият ми реален достъп до код беше още в шести клас. Писах си дребни програмки, които да ми вършат работа, после лека-полека и сайтчета. В осми клас бях приет в НПМГ с профил „Химия и биология“, но бързо се ориентирах към информатиката. Преподавателката видя, че се справям много добре със задачите и ме покани да участвам в олимпиади и състезания по информатика, а в последствие и по информационни технологии. В класовете от 8 до 12 спечелих доста състезания и призови места и тогава осъзнах, че това ще е моят път в живота.

Най-първото програмиране, което пипнах, беше Basic, въпреки че вече беше остаряло дори и за моята възраст. После бързо минах на Visual Basic и C/C++ заради състезанията. По това време пишех и на C# и PHP. Макар и малък (осми клас), вече изкарвах пари с писане на PHP сайтчета. Като навършихме пълнолетие, си направихме фирма с един колега дизайнер и си работихме дълго време заедно. Все още приемаме поръчки от доволни клиенти, с тази разлика, че в момента разработваме уеб приложенията основно на ASP.NET MVC.

- А какво обичаш да правиш, когато не си на работа? Какви хобита имаш?
- Обичам да играя футбол, да излизам, да играя билярд, ходя на басейн и сауна поне веднъж седмично. От скоро тренирам kickbox (все още съм голям аматьор). Интересувам се от НЛП и психология. Най-голямото ми хоби в момента ми е професия – програмирането.

- Ти си авторът на системата за онлайн състезания и изпити BGCoder, която използваме в Академията. Разкажи повече за това.
- BGCoder беше написан за две седмици, защото трябваше много бързо да направим нещо, което да ни помага в проверката на изпитите. Когато започнахме да работим по проекта, в Софтуерната академия се обучаваха 300 човека, които трябваше да изпитаме на пет задачи. Изпитването на ръка беше трудно и означаваше много пъти да пускаме една програма и да copy-paste-ваме нещо, за да видим какъв е резултатът. Така се роди BGCoder. Имаме идея това лято да го пренапишем и да го подобрим, да качим задачи от минали години от олимпиади и състезания по информатика. С това ще помогнем на общността по информатика, от която и аз съм бил част и знам, че е необходимо да се развиваш, да учиш, да решаваш задачите от други състезания. Освен това системата е критично важна за много наши инициативи. Повечето изпити минават през нея - по C#, структури от данни и алгоритми, дори по JavaScript и състезанията на децата в Детската академия. 

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

- Кое е най-ценното, което научи в Академията, и кое е най-ценното, на което ти учиш студентите?
- Научих много неща, включително и житейски уроци. Едно от нещата, които най-много ценя в работата си, е, че, водейки, аз научавам много нови неща. За да водиш даден курс, трябва да си много добре подготвен. Уча курсистите най-вече как да се справят с решаването на задачи, проблеми, как да подхождат в работата си в професионален аспект най-вече. Опитвам се да им давам съвети от моята практика, защото аз вече 10 години се занимавам с програмиране и съм се научил как се правят нещата. Доста грешки съм правил и знам, че, ако на студентите някой им поднесе нещо структурирано и им покаже как се прави и как не се прави, на тях ще им бъде много по-лесно. 

- Какви лични качества трябва да притежава един човек, за да успее в ИТ индустрията?
- Първо трябва да е екипен играч и да може да се разбира добре с останалите. Трябва да знае, че когато той сбърка, бърка целият екип, или, когато той се справя добре, дърпа целия екип напред. Трябва да може да управлява времето си, да подрежда приоритетите си - когато има 20 задачи, да знае коя е най-важната за него или за екипа. Успешният специалист трябва да следва бизнес целите на фирмата, в която работи, да може да седне и да се концентрира, да спре всякакви неща, които го разсейват и да работи, да се справя, когато е под стрес. Защото в програмирането има стрес – когато наближи крайният срок, когато се пусне продуктът и започне да се продава, когато започнат да се правят релийзи. Тогава стресът е много голям. 

Споделям мнението, че един човек трябва да има тесни познания в сферата, в която работи, и да е запознат с всички останали неща, които нямат нищо общо с неговата работа. Ако владее технологията .NET например, трябва да знае, че съществува и Ruby, PHP, Pyton, Objective C дори, трябва да знае какви са техните концепции, защото това ще му помогне да ги приложи и в работата си. Така се раждат добрите идеи.

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