От писане на код в тетрадка до софтуерен архитект - историята на Мартин Чаов
![От писане на код в тетрадка до софтуерен архитект - историята на Мартин Чаов](/Files/Publications/2019/09/Lectors-blog-post-article-design_Martin-Chaov_10735739_113858734.png)
Днес ви представяме Мартин Чаов - той е технологичен лийд и софтуерен архитект в SBTech - една от най-бързо развиващите се компании в сферата на спортните залагания. Специалист е в разработката на клиентски софтуер и програмирането с JavaScript. Основната му задача е да поддържа и развива архитектурата на приложенията за крайни потребители на SBTech. Това включва, responsive web applications, PWAs, native apps и др. Но това не е всичко. Неговият професионален път е дълъг, изпълнен с предизвикателства, които му дават и богат опит, който той днес с радост преподава на своите студенти. В следващите редове ще откриете вдъхновяващия разказ на неговото професионално развитие - стъпка по стъпка, за да почерпите доза мотивация за осъществяването и на вашите мечти в сферата на програмирането!
Как започна всичко
Когато за първи път се сблъсках с научно-фантастичните произведения, те успяха да разпалят любопитството в мен, исках да се докосна до компютрите от книгите, но уви, около мен изобщо нямаше компютри :).
Като ученик успях да се докопам до центъра за работа с деца в Пловдив (края на 90-те), където имаше курс по роботика. Разбирайте - Правец 8S (ако не се лъжа) и BASIC. Роботите не си ги спомням ясно, защото не бяха нищо особено. Това, което определено помня, е първият ми сблъсък с програмирането.
Дадоха ми да рисувам кораб! Като дете в 4-5-ти клас, в главата ми имаше какво ли не, но то не беше дори близко до резултата, който в случая излезе на екрана. Преписвах като луд от една тетрадка. Код, писан на ръка, на език, който не знам (английски + BASIC). След като ми оправиха грешките и кода се компилира, видях зеления кораб:
Не бях особено впечатлен.
Та така и със следващите няколко програми, които преписвах от тетрадката на баткото, който водеше заниманията. Никак не бях впечатлен. Това приключи кариерата ми на програмист за известно време :)
Преходът от софтуер към хардуер
С първия ми копютър - Windows 98SE - се случи каквото се случва и с първата палачинка - отиде в боклука, защото „малко гръмна“, след хубавото почистване, което му устроих. Добре че нашите се смилиха над мен и успяха да ми купят нов - преди 20 години компютрите си бяха скъпа придобивка.
Времената бяха сравнително скучни - интернет не беше това, което е сега. Търсачките се инсталираха и търсеха научни документи, а не… буквално всичко. Единственият ми досег със софтуер беше диск от списание. Така попаднах на различни приложения: за компютърна графика, 3д, видео обработка, игри. Опитал съм от всичко по малко. Препрочитах и чоплех това, което имам, по няколко пъти.
Точно на дисковете, които имах от списанията, попаднах на Macromedia Flash и Dreamweaver... Беше много яко и лесно да нахвърлиш нещо, което да работи в уеб браузър. JS по това време беше един от няколкото езика, които се бориха за надмощие в уеб браузърите. CSS нямаше. Ученическите ми години преминаха в заигравка ту със софтуера, ту с хардуера. За жалост, хората около мен не споделяха моите интереси и „програмистки трепети“. Като добавим и факта, че литературата по темата беше основно на английски, намирането на информация и ученето на нови неща от IT сферата в началото на второто хилядолетие се оказа предизвикателство.
В училище се занимавахме основно с Паскал, където за първи път се сблъсках с масиви. Но с 2 учебни часа на седмица - колко да научиш, покрай другите предмети…
Заради различните трудности с езиците и липсата на информация, лека полека се захласнах по хардуера. По този начин започнах и първата си работа в една фирма, която се занимава с асемблиране, инсталация и поддръжка на компютри. Около 2005-2006 г. вече знаех, че искам да се занимавам с хардуер. Не просто да асемблирам компютри, исках да пиша драйвери. Звучеше супер яко! Ходех по разни олимпиади по инфромационни технологии, където впрочем се запознах със Светлин Наков. Той беше в журито на едно от направленията. Приеха ме с информатика в ПУ, на база представянето ми на олимпиадата - мен и още 60 човека от различни конкурси. Но беше страхотно - нямаше приемни изпити, нямаше кандидатстудентски трепети. Бях приет още преди да завърша училище.
Преходът към дизайн
Леле, а как се пишат тези драйвери! Асемблито не успя да ме откаже от програмирането, нито математиката успя, а С++ направо ме уби. Имах чувството, че не мога да мисля по начина, по който трябва. Доста сломяващо усещане. Времето, прекарано пред графичните софтуери на Адоби, Дискрийт и Аутодеск, в крайна сметка ми помогна да си намеря стажантска работа като дизайнер в Пловдив през 2007-8 година. Нямаше много възможности. Една голяма фирма с много кандидати и ситно сито. Попаднах на много добра работа, която успявах да съчетавам с университета. В тази малка Пловдивска фирма правех основно фронт-енд и дизайн. Така отново се докоснах до JS. След години на игра с различни технологии, а и след университета, парчетата от пъзела си дойдоха на мястото. Попаднах на език, в който всичко, което напиша, работи. Доста изненадващо и приятно чувство. Започнах да се заигравам повече и повече. Можех да намеря приложение на повечето неща, които учех във ФМИ.
Първоначалният екип, с който започнахме работа, с времето се разпръсна, но всички продължиха да се развиват в тази сфера - някои като мениджъри, други - технически.
След известно време смених работата. Първите няколко промени бяха замайващи. Заплатата ми порасна рязко и за момент позабравих за университета :). В крайна сметка си завърших образованието, защото не обичам да оставам недовършени неща след себе си.
SBTech - началото като дизайнер, което прерасна в програмист
Така стигнах до SBTech (2010-11) - имах доста пълно дизайн портфолио и започнах да работя с тази (на времето малка) фирма като фрийлансър. Правех им всички визуални неща. Като се започне от банери, дизайн на цели продукти, печат, видео.
Поканиха ме да започна да ходя в офиса и лека-полека ме придърпаха на пълен ден при тях. Така започнах да се докосвам и до продукта на фирмата. Започнах и да пиша код - тук-там по нещо. Във времето се оказа, че като програмист съм по-ценен, отколкото като дизайнер.
И така, проблем след проблем, решение след решение, започнах да се утвърждавам и да поемам повече отговорности и предизвителства.
В SBTech съм минал през какво ли не, предвид, че съм там почти десетилетие. Започнах като фрийланс дизайнер, а след това захванах фронт-енда. Поех екип. Поех позиция на технически лидер. Спомогнах за установяването и обучението на новите екипи на няколко пъти и в различни локации. СТО-то разчиташе на мен за решаването на различни проблеми с клиентския софтуер. Отказвах ролята на софтуерен архитект няколко пъти, защото никога не съм се чувствал достатъчно подготвен за тази отговорност. В крайна сметка нещата се развиха така, че я поех в началото на 2017.
Началото на моето лекторско “пътешествие”
От 2013 насам изнасям лекции и обучения на различни теми. Сред тях основно са - програмиране, JavaScript, оптимизация на код, TDD, CI/CD, софтуерни архитектури. Това, само по себе си, е изключително преживяване за мен - чувството да можеш да предадеш своя опит на новите софтуерни таланти е невероятно. В момента съм изправен и пред още едно предизвикателство - от 2017 г. стартирах и магистърската програма по софтуерни технологии на ФМИ СУ.
Ако думите на Мартин са ви вдъхновили и си мечтаете и вие да направите първата стъпка в посока постигане на мечтаното професионално развитие в IT сферата – присъединете се към някой от предстоящите модули по софтуерно инженерство! Обучението е с изключителна практическа насоченост и имате възможността да получите кариерно съдействие за над 70 от най-добрите технологични компании в света!
Предстоящи модули:
МОДУЛ: Fundamentals Module – септември 2019
МОДУЛ: C# Advanced - септември 2019
МОДУЛ: Java Advanced - септември 2019
МОДУЛ: JS Advanced - септември 2019
МОДУЛ: C# DB - септември 2019
МОДУЛ: Java Web - септември 2019
МОДУЛ: JS Web - септември 2019
МОДУЛ: Front-End - септември 2019