четвъртък, 28 март 2024   RSS
    Барометър | Региони | Компании | Лица | Назначения


    21004 прочитания

    Ако искате да програмирате заради парите, ще ви става все по-трудно

    За предизвикателствата пред ИТ бизнеса, бъдещето на програмните езици и професионалната реализация в сферата - Стоян Дамов, съосновател на българската софтуерна компания Tick42
    15 май 2018, 10:45 a+ a- a

    Стоян Дамов е един от основателите на българската софтуерна компания Tick42. Със съдружника си Любомир Константинов дълги години работят като консултанти в сферата на финансите, преди да стартират собствен бизнес през 2010. Към тях се присъединява и Лесли Спайро, който понастоящем заема позицията CEO. Екипът на Tick42 в София създава софтуер, предназначен за финансовата ниша. След клиентите ѝ са JP Morgan, Santander Group, CMC Markets, Reuters и Bloomberg. Най-популярният продукт на компанията е Glue42 – платформа за интеграция на уеб- и десктоп приложения. Как се промениха Tick42 и ИТ бизнесът за 8 години, как се развиват програмните езици и какво е бъдещето им, какво е важно, за да си успешен програмист днес и как да не прегориш? Вижте какво каза Стоян Дамов по тези и други интересни теми, свързани с предизвикателствата пред софтуерния бизнес и професионалната реализация в сферата.

    Началото...

    Как Tick42 израсна през годините? 
    Започнахме с петима програмисти и всяка следваща година растяхме с по още пет. В началото аз също програмирах, но с разрастването на компанията се наложи да спра да пиша код. В началото, когато наехме първите си програмисти, беше много различно. Пускахме обява, идваха 100 CV-та, от които канех 20 души на интервю. И от тях наемах само един. Сега вече ние трябва да мислим презентации, с които да впечатляваме кандидатите, тъй като предлагането вече е много по-малко от търсенето. Вече ние се продаваме, вместо програмистите да се продават на нас. Екипът ни в момента наброява 65 души. Болшинството от тях са програмисти – JavaScript програмисти, C# програмисти, Java програмисти. Имаме и програмисти, които знаят повече от един език за програмиране. Останалата част, около 10-12 души, са мениджъри, проджект мениджъри, дизайнери и т.н. 

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

    Какви са клиентите ви?
    Най-големият ни клиент в момента е JP Morgan, където 15 000 потребители работят с нашия софтуер. И 500 от техните програмисти използват нашата платформа, за да разработват приложения за техните клиенти. Очакваме до края на годината потребителите на нашата платформа да станат 25 000. Друг голям наш клиент са Santander, които обслужват около една четвърт от латиноговорящия свят. Те изкупиха сорскода на нашия софтуер. Имаме и по-малки клиенти, от които научихме интересни неща и случаи, които не биха ни хрумнали. Целта ни е през тази година да пуснем три версии на Glue42 и да покрием целия свят – едната за големи предприятия, базова версия за средния и малкия бизнес и версия за крайни потребители. Идеята е вече да не се концентрираме само върху финансовата ниша, а да бъдем полезни на всеки един бизнес. 

    За Glue42 

    Какво представлява Glue42? 
    Докато работихме през годините, наблюдавахме как работят хората в различните финансови институции. Какви грешки могат да направят, какви пречки срещат в работата си, как трябва да превключват между различни приложения, да търсят едни и същи данни в едни и същи приложения, да се логват непрекъснато и т.н. И всичко това ни даде идеи за това как да направим интеграция на продуктите на десктопа. Ние поддържаме native интеграция, т.е. може да вземете една .NET или Java апликация и да я интегрирате с една уеб апликация. И тази  уеб апликация може да работи като Node.js апликация, може да работи в браузъра, може да работи в нашия браузър – т.нар. HTML контейнер. От гледна точка на бизнеса, нашият продукт прави служителите по-ефективни. От гледна точка на служителите – облекчава работата им и ги прави по-щастливи, тъй като те по-лесно навигират между приложенията и намират нужните им данни. И от гледна точка на разработчиците, които интегрират нашата платформа, нашият програмен интерфейс е толкова лесен, че буквално изисква един ред код от едната страна и един ред – от другата, ако искат да свържат две уеб приложения. 

    Как се промениха езиците за програмиране и какво е бъдещето им?

    Как се развиха езиците за програмиране и с какви езици работите в момента?
    Преди години езици като Java, .NET и C++ бяха много популярни и се ползваха в цял свят. Но всичко това изчезна в полза на JavaScript. JavaScript не е просто език, а обещаната платформа. Има много езици като Rust, Clojure и др., които се транспилират до JavaScript и рънват в браузъри. Това отчасти се дължи на Google, които спомогнаха JavaScript да работи много бързо и в това състезание се включиха и Microsoft и други вендори на JavaScript Execution Engine. За мен най-важният език е JavaScript, защото той работи на всички устройства и с него могат да се правят чудеса. Можеш да направиш приложения, които работят както за уеб, така и за десктоп, едновременно за iPhone и Android. Това нито един друг език досега не го е постигал. И затова в момента за нас JavaScript  програмистите са най-важните програмисти. Не омаловажавам останалите, но за мен JavaScript е един от най-мощните езици за програмиране. 

    Това ли е бъдещето – сближаване на езиците за програмиране? 
    Всички програмни езици според мен се конвергират. Всеки език започва да наподобява останалите езици. И се крадат един други, което в интерес на истината е много хубаво, защото най-добрите фийчъри от езиците влизат във всички езици. Едно време нямахме голям  избор. Ако искаш да си Back-End разработчик, използваш Java. Ако искаш да си Front-End, използваш JavaScript или Macromedia Flash. Сега вече изборът е огромен – няма  Java, а платформа, върху която има различни езици – Groovy,  Java, Scala, Clojure. Същото нещо стана и с JavaScript – може да програмираш на JavaScript, но и на няколко диалекта на JavaScript. Като например на TypeScript, който според мен стана един от най-мощните и най-интересните езици в света. JavaScript има най-голямо приложение, тъй като с него може да се пише Back-End.

    Въпреки това големите обещания за Full Stack разработчиците са нереалистични. Аз лично не вярвам, че може да има Full Stack разработчик, тъй като е адски сложно да разбираш в детайли и да имаш огромен опит и в Back-End програмиране и във Front-End програмиране. Двете са тотално различни. Може да си правил и двете, но не и да си майстор в тях. Ако искаш да имаш по-обширен поглед и да бъдеш майстор в много неща, то накрая няма да си добър в нищо. Аз лично вярвам в специализациите. Няма лошо да се специализираш като Front-End разработчик днес, като Back-End разработчик след 5 години и да станеш Full Stack разработчик след 10 години, но не можеш да си Full Stack още докато започваш да програмираш. И да си мислиш, че ще наемеш един  Full Stack разработчик и той ще върши работата на двама разработчици. Това не работи. 

    Накъде върви ИТ бизнесът?

    Как се промени ИТ бизнесът през годините и накъде върви по твои наблюдения? 
    През моя поглед всичко отива към Front-End-а. През 2011 Марк Андрийсън от Netscape Navigator беше казал, че софтуерът яде света. И никой не се съмнява. В моя телефон имам телевизор, камера, фотоапарат, дистанционно и т.н. Софтуерът е навсякъде – в колите, микровълновите печки... Преди години много хора направиха грешката да подценят софтуера. Като например Borders, които подцениха потенциала на Amazon и си продадоха онлайн продажбата на книги като нестратегическа. А сега Amazon е една от най-богатите компании в света. Някои хора направиха много интересни бизнеси, като например Uber, които нямат таксита, но владеят бизнеса на такситата. Facebook и Twitter, които владеят новините и т.н. Примерите за такива доставчици на услуги, които добавят стойност, са страшно много. Реално стойността за потребителите, които тези компании изобретиха, е само софтуерна. Да, има известен хардуер и хора, които стоят зад всички тези неща, но всичко опира до софтуера.

    В голяма част от времето си работим на десктоп, но повечето хора прекарват на телефона около 20% от деня си. И за да мога  да привлека потребители, които използват моя софтуер и се връщат отново и отново, аз трябва да бъда на всички платформи.  И тук изниква въпросът: „Как най-бързо да напишеш софтуер, който да работи навсякъде?“. Отговорът е  JavaScript. И това е нещо, което в момента се случва. Защото Front-End разработчиците са най-търсени, най-малко на брой и с най-ограничени знания. Много хора си мислят, че  JavaScript е едновремешният скриптинг език, който беше много лесен език. Сега вече  JavaScript е общоприложим език за програмиране, на който можеш да пишеш всичко, и той стана сложен. Стана истински език за програмиране. И сега, ако започнеш да пишеш потребителски интерфейс на JavaScript, имаш „n” неща, които можеш.

    Как се става добър Front-End разработчик?
    Най-големият проблем според мен е, че един Front-End разработчик не знае какво да започне да учи. И че хората се хвърлят да програмират уеб приложения, преди да могат да програмират. Това са моите наблюдения, тъй като всичките интервюта в компанията провеждам аз. По-големият проблем е, че хората нямат основи, а не че не знаят технологията. Технологиите се научават. Можеш да направиш две неща. Ако си голяма компания, можеш да си направиш академия и да си обучиш хората. Нашите хора също имат ежеседмични срещи за JavaScript и Clojure, на които се самообучават използвайки презенатции представящи и решаващи истински проблеми.

    Второто нещо е да започнат да работят с академиите. Ние самите също го правим. Защото, за съжаление, senior разработчик хората разбират като брой години.  Senior разработчик не е брой години, а обширен  и релевантен опит днес. Аз може да съм имал страшен опит като C++  разработчик преди 12 години. Сега аз не съм senior C++  разработчик, а сигурно съм под middle. И има много такива senior Front-End разработчици, които са знаели jQuery и дотам са спрели. И затова мотото в нашата компания е „Продължавай да учиш”. Технологиите се променят непрекъснато и това няма край. Нашето предизвикателство в момента е, че липсват Front-End разработчици, от които имаме голяма нужда. А тези, които намираме, имат големи пропуски. И когато дойдат на интервю, аз си ги записвам. После им ги давам (на място) и им казвам да се приберат вкъщи, да научат всички тези неща и после, ако имат смелостта, да дойдат на второ интервю. Имаме такъв човек – седем месеца му отне да попълни дупките и сега е в компанията.  

    Как се става добър програмист?

    Т.е. всичко зависи от самоинициативата и самоподготовката? 
    Всичко опира до човека. Безброй са примерите на хора, които са тръгнали от нищо и са преуспели. Ще дам пример с едно момче, което дойде при нас след 6-месечно обучение в Телерик Академия, без предишен опит в програмирането.  В момента той е един от най-продуктивните ни разработчици. И сега е в основния екип на Glue42. Но за разлика от останалите, които след 10-часовия работен ден са били мегауморени, той се е връщал вкъщи и е продължавал. Защото е знаел, че има да наваксва години. Университетите имат чудесно обучение, дават достатъчно образование и добри условия. Но те не са достатъчни, за да започнеш работа. Те са достатъчни, за да започнеш да се интересуваш от работа и да надграждаш уменията си. И в Телерик Академията ги учат не само на техническите умения, но и на меки умения и дисциплина. Едно време аз си мислех, че да си техничар, е всичко. Не е вярно. Сега вече, колкото повече растем, толкова повече меките умения започват да изпъкват. И хора, на които им липсват, много трудно се превъзпитават. Дори и да знаете всичко, всякакви езици за програмиране, запишете една академия само заради меките умения.   

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

    Какво е важно при подбора на програмисти?

    Наел си в компанията човек без опит и се е оказал един от най-добрите програмисти след това. Какво е важно за теб в подбора на хора, как съзираш потенциала в един програмист? 
    Първо, трябва да му блестят очите поне колкото моите. Трябва да е надъхан да програмира. Нашата професия е откачена – тя е колкото инженеринг, толкова и арт.  Ще ви дам пример - на първата задача, която давам на интервюто, съм виждал 15-20 решения.  На втората - още повече. Тази свобода и експресивност на мозъка притежава художникът. Той може да нарисува един човек по всевъзможни начини дори и като Пикасо, т.е. да не прилича на човек. Същото е и с програмирането. По същия начин можем да правим софтуер. Накрая програмата, която си създал, е като твое дете. Ти си един създател, един малък Бог. Това го няма в много професии. При нас го има.

    Любимата задача на интервю за работа

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

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

    Съвет към бъдещите програмисти

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

    Имаме програмисти, които от Back-End разработчици станаха Front-End разработчици. Те идват при мен и ми казват, че JavaScript им е интересен и искат да пишат на Angular. И ме питат дали мога да направя нещо за тях. Ако му кажа „не“, най-вероятно ще си потърси “по-хубава” работа. Мога да го помоля да изчака няколко месеца, но не мога да му кажа „не“. Да, губя един Back-End разработчик, но пък имам още един Front-End. Няма проблем да учат и по време на работа. Нека да учат, трябва да учат. Един производителен програмист за 3 часа може да свърши работата на един по-мързелив за 8 дни. 

    Има ли лек за умората от програмирането и кои са най-добрите начини за почивка?

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

    Ти как си почиваш? 
    Аз и до днес работя по много – и на работа и вкъщи. Спасяват ме барабаните. Тъй като те изискват координация между четири крайника, мозъкът изключва тотално. Не може да мисли за нищо – за никакви лични или професионални проблеми. Единственото нещо, което се опитва да направи, е да балансира тялото върху едно малко столче и четирите крайника да се движат координирано, но и с различно темпо. Това за мен работи чудесно. Фитнесът също ми помага. Ходя 5 пъти в седмицата. Без фитнес, аз се скапвам на работа. Сутрин след фитнес тялото ми се зарежда и се чувствам прекрасно на работа. И разходки навън. Хората отдавна са се откъснали от природата. Трябва да има баланс, или както се казва „work hard, play hard”. И като съвет към всички програмисти: не съм чул за някой на смъртния си одър да е казал: „защо не работих повече“ или пък „защо не правих повече диети“. 

    Нагоре
    Отпечатай
     
    * Въведеният имейл се използва само за целите на абонамента, имате възможност да прекратите абонамента по всяко време.

    преди 6 часа
    ТИЗ започва паневропейски интермодален проект с италианската Gruppo UniRetiCon
    Целта е у нас да бъдат създадени различни интермодални платформи
    преди 7 часа
    Авиационният сектор у нас е достигнал на 92% нивото си от преди COVID пандемията
    85% от самолетите на българските авиокомпании са работили на пазари извън България
    преди 8 часа
    Български хляб достига до 10 европейски държави с Lidl
    Пловдивският производител „Хебър” инвестира близо 15 млн. евро в 2 нови производствени линии
    преди 10 часа
    Над 10% ръст на пътуванията на българи в чужбина през февруари
    Увеличават се и посещенията на чужденци у нас, показват данните на НСИ
    преди 12 часа
    Предлагат индустриалните паркове само за един вид производства
    С промените в закона ще бъде създаден нов тип специализиран парк