Никола Илиев – Ние се учим винаги, всеки ден, и няма как да знаем всичко

19/08/2022

Днес ви представяме Никола Илиев, който отличихме със специална награда за страхотното му представяне на Националната олимпиада по информационни технологии – НОИТ 2022 г.

Вижте какво ни разказа той …


Здравей, Никола, може ли да ни разкажеш с няколко думи за себе си и интересите ти в програмирането?

Здравейте, казвам се Никола и на Олимпиадата по Информационни Технологии, която се проведе тази година, станах Лауреат. Живея и уча в Шумен, но септември месец ще бъда студент във ФМИ. Интересувам се и харесвам да създавам цялостни (full-stack) уеб приложения, защото научавам повече неща и ми е много интересно. За front-end досега съм използвал основно фреймуърка Next.js, Figma за създаването на прототипен дизайн и MUI за оформяне и стилизиране на потребителския интерфейс. В момента разучавам Remix, а за back-end в бъдеще обмислям да се занимавам с Go, но имам интерес и към Elixir/Rust.


Разкажи повече за проекта и как се появи идеята за него?

LandCast е платформа за качване, гледане и провеждане на уебинари в реално време. Състои се от четири сървъра (клиентско уеб приложение, GraphQL API, SFU сървър и сървър за видео транскодинг). В предишния ми проект “WorkNET” бях разработил функционалност двама души да си звънят един на друг и да си комуникират в реално време чрез WebRTC. Оказа се, че ми е доста интересно да работя в сферата на лайв стрийминга и затова реших да надградя знанията си като създам проект, в който да може да се стриймва от даден човек към много (one-to-many). Отделно бях чел, че уебинарите стават все по-актуални покрай Ковид пандемията и реших проектът да бъде свързан именно с тях. Стартирах проекта LandCast юни месец 2021 и голяма част от лятото го прекарах в учене на нови технологии, които ми трябваха за успешното му реализиране.


Какво те научи работата по проекта?

Научих се да работя с Figma, надградих сериозно знанията си по езика Go, научих се да създавам GraphQL апита и да ги свързвам с GraphCDN. Надградих значително опита си с React и TS. Научих се как се изгражда от нулата VoD система (FFMPEG, HLS, S3, CDN), лайв стрийминг към много потребители (SFU + уеб сокети) със записване на самия стрийм (MediaRecorder) и се запознах с различни контейнери и кодеци. Научих се да пиша unit и integration тестове и разбрах колко важно наистина е да се тества всеки софтуер. Всичките бекенд сървъри се хостваха във виртуални машини на DigitalOcean и трябваше да се науча да работя с Linux и да конфигурирам NGINX.

 

Знаеш ли, че Linux, ffmpeg, go и rust са open source проекти? 

Да,  фактът, че са open source проекти ги прави още по-готини. Лично аз харесвам open source проектите. Първо, защото почти всички са безплатни и второ, защото на някои може да направим форк, да си добавим нови функционалности или да допринесем с оправянето на някой бъг. Подобни open source проекти допринасят за развитието на ИТ сектора значително, повишават качеството на софтуера, не си губим времето да създаваме нещо, което вече го има създадено, спестяваме време и ресурси.

 

Доколко според теб възможностите и наградите, които предоставят Телебид Про и други компании като нас на участниците в олимпиадата са полезни и действат ли като мотивация?

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

 

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

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

 

Би ли дал някакъв съвет на хората, които ще участват в НОИТ, а и на други състезания и олимпиади?

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

Екипът на TelebidPro пожелава на Никола да продължава да учи всеки ден и да следва своите мечти.

Как се развиват и изграждат IT уменията в екипа на TelebidPro?