Професия: Go програмист

За професията разказва Иван Боршуков, лидер на екип "Бизнес системи" в "Хаос груп"

Иван Боршуков    ©  Капитал
Бюлетин: Вечерни новини Вечерни новини

Всяка делнична вечер получавате трите най-четени статии от деня, заедно с още три, препоръчани от редакторите на "Капитал"

Да си софтуерен инженер, използващ Go, е интересно и вълнуващо, защото този език набира все повече популярност в последно време, особено при разработката на облачни приложения. Използва се от най-големите компании в света като Google и Facebook, както и от много други по-малки. Друг интересен факт е, че голяма част от най-популярните проекти с отворен код за последните години също са разработени с Go. Това дава възможност на човек да придобие представа за множеството различни направления, в които езикът се използва успешно.

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

Софтуерният инженер прилага принципи и практики във времето, като прави дизайн, строи, поддържа, тества и оценява софтуерни продукти.

Визитка

Иван Боршуков е част от екипа на "Хаос груп" вече повече от 3 години. Занимава се с разработка на софтуер, който е животоподдържащ за бизнеса на компанията.

Започвайки като програмист, Иван натрупва опит и експертиза относно бизнес процесите в компанията и разработката на Go приложения, което му позволява успешно да премине към ролята на технически ръководител на някои от критично важните за бизнеса на компанията проекти. В това число влизат лицензионният софтуер, както и цялата екосистема за онлайн търговия, изградена от компанията. В момента Иван е лидер на екип "Бизнес системи" в компанията.

Той е един от активните участници в потребителската група на Go в България и заедно със съмишлениците си организира срещи за обмяна на опит и информация по темата.

Самият той работи активно за запознаване с Go на младите хора. Преподава програмиране с Go в Нов български университет. Заедно със свои колеги води курсове и във Факултета по математика и информатика на СУ "Св. Климент Охридски", както и други курсове, въвеждащи в Golang.

Моята професия

Ролята на Go програмистите е изграждане на нови системи и функционалности, както и поддръжка на вече съществуващи такива в различни онлайн и офлайн бизнес системи, като се използва езикът за програмиране Go. Разпространението на Go в България все още е ограничено, което понякога прави намирането на ресурси и информация предизвикателно. От друга страна, е предизвикателно самият ти да споделяш опит и информация и да си "посланик" на тази технология, която все още не е много позната в България.

Моето образование и умения

Завършил съм средното си образование в Националната природо-математическа гимназия (НПМГ) "Акад. Л. Чакалов", след което се дипломирах като бакалавър в СУ "Св. Климент Охридски", специалност "Информатика". В момента карам магистратура "Изкуствен интелект", отново в СУ. Смятам, че Факултетът по математика и информатика към СУ дава много добра основа за всички студенти, желаещи да се занимават професионално с разработка на софтуер.

Моят път дотук

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

Моите задачи и отговорности

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

Нужните умения и опит

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

Моите предизвикателства

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

Моите удовлетворения

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

Заплатата

Заплащането е добро като цяло. При натрупване на опит човек може да бъде добре удовлетворен, тъй като все още в България има малко специалисти.

Моите планове за кариерно развитие

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

Моите източници на информация

Източниците на информация, които ползвам, са изцяло онлайн. Част от тях са официалният блог на сайта на езика Go, както и платформата Golang Weekly, която предоставя седмичен бюлетин на новостите в общността и различни интересни проекти. Друго интересно място за търсене на информация и дискусии е официалният слак канал на езика.

Търсени умения

- Добри познания по компютърни науки - те са основополагащи и не зависят от конкретна технология или език за програмиране

- Основни познания по компютърни мрежи и операционни системи

- Възможност и желание за работа в екип

- Познаване и владеене на поне един език за програмиране
2 коментара
  • Най-харесваните
  • Най-новите
  • Най-старите
Нов коментар