„Всеки може да е програмист. Време е да сме повече инженери!“

апр. 23, 2024 | Срещи

„Всеки може да е програмист. Време е да сме повече инженери!“

23 април 2024 | Срещи

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

Дълги години е начело на екипа програмисти в СофтУни, води лекции по безброй технологии. Преподава, увлича и дава занаят, от него и аз съм научил основите на технологията, с която днес си изкарвам хляба. Повече от успешен със своите начинания – приложението му My Tested ASP.NET е с над 2 милиона сваляния, той притежава и един от най-популярните български профили в GitHub.

Днес Ивайло е изправен пред ново начинание. Екипът му се превърна във фирма, която се е устремила към амбициозната задача да припомни, че създаването на софтуер все повече трябва да бъде инженерен процес, а не просто кодене.

  • Наистина ли всеки може да стане програмист, както казва учителят, помогнал на мнозина да изпълнят тази мечта? Какви са основните трудности, които спират хората? (Тук.)

 

  • Кои са големите проблеми, с които се сблъскват днешните програмисти? Защо си струва те вече да са не просто кодери, а да подхождат инженерно и към останалите страни от работата си? (Тук.)

 

  • Дали наистина е толкова трудно да си намериш първа работа в тази област? Кои са най-честите грешки? (Тук.)

 

  • Как Ивайло, на когото лекарите предричат, че няма да може да ходи, днес вдига 150-килограмови тяги благодарение на… инженерния подход? (Тук.)

 

– Начело си на AMBITIONED – софтуерна компания, която в същото време помага на младите кадри в първите им стъпки. Може ли да разкажеш повече за идеята?

– СофтУни досега имаше 10-ина платформи, развивали сме ги с екип от 15-ина човека. Почти всички идваха като завършили курсисти, а днес са доста опитни. Същевременно системите ни вече са зрели, изискват по-скоро поддръжка. Затова решихме да изнесем целия екип като софтуерна компания. Искаме да я развием, като се позиционираме в .NET технологиите. Ще правим проекти, като другата голяма цел е да изграждаме професионалисти.

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

Искам да наблегнем на инженерния подход в софтуерната разработка.

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

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

 

Ивайло Кенов

снимки: Добрин Кашавелов

 

– По идея и сега софтуерната разработка трябва да се случва така, но е факт, че много често остава само на думи.

– Разпитах изключително много софтуерни инженери за това какво не им харесва в работата, на която са в момента.

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

Да кажа, че ще оправим всички тези проблеми, е безумно романтично, но това ни е визията, искам да работим в тази посока. Ще се позиционираме на чуждестранните, развити пазари, където биха оценили такъв вид услуга.

Може би звучи романтично, трудно, но има и компании, които успяват да постигнат баланс между развитие, приходи, качество и оптимални процеси. Доста често такъв тип проекти са тези, които са по някакъв начин животозастрашаващи. А на мен ми се иска това да се превърне в стандартна разработка.

Според мен много базови неща, от които тръгват проблемите, могат да бъдат решени с процеси и инженерен подход.

 

– Много добре разбирам за какво говориш. Подобни неща ми каза в интервю Вели Пехливанов и така за известно време и аз професионално се оказах част от екипа на Resolute.

– Да, чел съм негови интервюта и напълно споделям неговата гледна точка.

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

Искам да наричам „инженери“ всички колеги, това искам да постигнем.

Не искам да сме кодери!

Не просто програмисти, просто да пишем код, а да мислим инженерно. Не само в самия код, а и в процесите около него, в метриките. Знаем ли какво оценяваме, или всичко се случва на око?

На повечето места хората не ги обучават. Често това е наследен проблем – тийм лидерите, които никога не са били научени, няма как да учат тези след тях.

 

Ивайло Кенов

снимки: Добрин Кашавелов

 

– Хубаво го каза – да сме инженери, не само докато пишем код.

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

Да, не съм измислил топлата вода, но това са проблеми, които често остават неразпознати. И много пречат на работата.

Нашият екип през годините е бил попълван от завършили курсисти. Досега всички, които са излизали, са ставали много добри, превръщали са се в лидери. Помага това, че с колегите сме преподаватели и знаем как да подходим към някого, за да го дообучим. Когато той вече няма какво да вземе при нас, отива в индустрията. Искаме да постигнем същото, но в компания от 100 човека.

 

– Учил си нещо съвсем различно в университета. Как и защо реши да станеш програмист?

– Някак си дойде от само себе си. Избрах да уча за строителен инженер, защото бях ходил на много олимпиади по математика. Бях силен в състезанията, които не изискваха дълбоки познания и тежка теория, а по-скоро бързина. В първи курс се учеше само математика, беше ми интересно, изкарвах шестици. А после изведнъж… двойки и тройки. Стигнах до предметите, които искат много четене и там приключих.

Започнах да се чудя какво да правя с живота си. Пробвах да започна малък онлайн бизнес, купих си някакъв скрипт на PHP – тогава ми се струваше, че е за огромни пари. Пускам сайта, рекламирам,

спамя по форуми и започва някакъв бизнес. Смешна работа, каубойската.

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

 

Ивайло Кенов

снимки: Добрин Кашавелов

 

– Много интересна история! И сигурно тогава си решил, че си струва да учиш повече в тази посока?

– Не точно. Видях, че програмирането ми се удава, моите родители също го бяха забелязали. Точно те ми казаха, че има някаква академия – „Телерик“, където се водят курсове и мога да се запиша. Така направих, записах се, курсът щеше да започва след половин година… и забравих. Сетих се в последния момент. 14 септември, изведнъж си спомних, че трябва да пиша мотивационно писмо.

Но в началото не исках да се занимавам с това. Бях седял на компютъра 10 години,

не ми се правеше същото, исках нещо по-свързано с хората, с повече комуникация, по-смислено.

По онова време беше доста различно, по новините не повтаряха, че програмистите са добре платени, нямаше такъв наплив. В гимназията се преподаваше толкова скучно, че всички се отказваха.

Отидох в академията случайно, само за да видя какво представлява. Не знаех какво да правя с живота си, бях решил, че със строително инженерство няма да се занимавам. Но изведнъж… започнаха да се случват успехи. Скоро изпреварвах повечето хора, дори такива с образование в тази област. Започнах да ставам първи на курсовете от 1200 души. И ми ставаше все по-интересно, програмирането се оказа точно това, което ми харесва – решаване на казуси.

Без да се усетя, се занимавах по 16 часа на ден и така 3-4 години. Всичко друго остана на заден план. Идваше ми отвътре, имах огромно желание и ми беше много интересно. Това е нещо, което може да те изстреля напред, така стана и с мен.

Освен това осъзнах, че програмирайки, човек може да помага наистина за напредъка на технологиите. Това много силно ме мотивира.

 

– Как започна да преподаваш?

– На 6-ия месец в академията, заради няколкото първи места по курсовете, ги питах какви са условията да си трейнър. Мислех си, че ще ми откажат, защото съм интровертен и ми е трудно да говоря пред хора.

Беше ми харесала средата на академията, културата, и исках да продължа да съм част от нея. Да помагам и да давам на хората това, което академията ми даде – смисъл в живота и интересни казуси за решаване.

Въпреки това аз съм такъв човек, че ми е трудно дори да питам непознат колко е часът.

По-затворен съм, трудно ми е да комуникирам с непознати, имам всички предпоставки да не съм добър лектор.

Две години започвах лекциите с огромно сърцебиене! Интересно е, че и до ден днешен ми е неудобно да питам колко е часът, но излизам пред 4000 души да водя лекции и, съдейки по обратната връзка, нещата се получават. Хората се радват на лекциите, гледат, купуват ги, постоянно ме питат и имат желание за още.

Имам над 1000 лекции, средно по 3 часа, за съжаление не всички ги има онлайн. 10 години не съм спирал да водя, нямах почивка, освен по празниците. После продължих нататък – едни от най-интересни ми лекции са от поредицата Code It Up за напреднали. Серията за софтуерни архитектури е особено търсена, защото предоставя над 30 часа видео по темата в подреден и смилаем вид.

 

Ивайло Кенов

снимки: Добрин Кашавелов

 

– Какви са най-честите причини, заради които хората не успяват да станат програмисти?

– Повечето имат самоограничаващи вярвания: „не съм добър в математиката, в говоренето пред хора“. И аз спокойно можех да си кажа „няма да съм добър лектор, само ще се излагам“. Но щом станах лектор и успях да преборя себе си, макар че видимо не съм бил талантлив за това, значи всеки е способен на всичко.

Постоянно виждам, че хората се съмняват в себе си изключително много.

Според мен в днешно време е елементарно да станеш програмист, без да подценявам онези, които не са успели. Материята е събрана, смилаема, подготвена, трябва само да не те мързи. Да, може да успееш за 6 месеца, може и за 2 години да не стане, всички започваме от различно място. Но хората се съмняват в себе си и се отказват прекалено лесно.

За да успееш, даже не са нужни особени предварителни условия – само базова грамотност, четене, разбиране, здрав разум. През моите обучения успешно са станали програмисти хора от всякакви области – хуманитарни, икономически, музиканти, художници, хора само със средно образование, дори 15-годишни. На много от тях в началото им беше изключително трудно, но не се отказаха и сега са лидери в индустрията.

Всеки може да стане програмист! Свикваш и се учиш.

Например курсът по обектно-ориентирано програмиране е едно от най-лесните неща, нищо алгоритмично, въпрос на синтаксис. Аз бях кръгла нула! Курсът е 4 седмици, на третата нищо не разбирам, гледам лекциите по няколко пъти, изпитът тропа на вратата. Но седна една колежка, показа ми го за 2 часа, аз го схванах и станах първи на изпита. Не бива да се отчайваш лесно, не бива да се отказваш.

Процесът на учене е в това нонстоп да получаваш шамари.

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

Във всяко нещо е така. И след като започнах работа, учех още нови неща. След това в мениджмънта – напуска цял екип от 6 ключови човека, какво правиш? Силен шамар! Но ако сега напуснат, знам какво да правя.

 

Ивайло Кенов

снимки: Добрин Кашавелов

 

– Наистина ли е трудно в нашата област да си намериш първа работа? Защо фирмите като че ли не наемат достатъчно джуниъри?

– Често хората завършват някаква академия и си мислят, че нищо друго не им трябва. Според мен маркетингът ги подвежда, отвсякъде се чува: „Ела да учиш и за 3 месеца ще си намериш работа“. Това не е невъзможно, но се случва рядко и изисква много усилия. Но ако анализираш проблема, изводите идват лесно.

Да кажем, че на всеки 3 месеца академиите завършват 500 души. Всичките – с абсолютно еднакъв профил, едно и също CV. По какво да изберат работодателите?

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

Първата ти задача, като завършиш, е да не спреш да учиш. Процесът по намиране на работа не е две седмици, отнема време. Имаш този период, за да продължиш да се подобряваш. Ако седнеш и вместо да се вайкаш, че никой не те взема на работа, разпишеш този проект, от тези 500 човека вече си елиминирал 400, потенциалният работодател има какво да види.

Много важно е и да си направиш CV-то да е смислено и да изглежда добре, да се отличава от останалите. Процесът на наемане на практика е това да успееш да се продадеш по-добре от всички останали. За това трябва да изпъкнеш по някакъв начин. Не трябва да се подценява и предишен опит, дори да е в съвсем друга област и на начална позиция. Това показва дисциплина, трудова култура и умения за работа в екип.

И още нещо – ако ти дадат задача, трябва да ѝ обърнеш внимание и да я изпълниш така, че да се отличиш.

Хората си мислят, че няма джуниър позиции, защото не виждат толкова обяви. Истината е, че компаниите знаят как да намерят кандидати – наемат хора през академиите, такива, които са се представили най-добре по време на обучението. Имаме партньори, които почти всеки месец наемат по 5 човека. Това означава, че само те на година имат 60 позиции, над 10% от онези 500 човека! Ето още една причина да се стараеш по време на обучението.

 

Ивайло Кенов

снимки: Добрин Кашавелов

 

– За финал оставих една доста различна тема… Как ти стига времето и за преподаване, и за проекти, а и да ходиш доста често и във фитнеса?

– Отделно от тази компания съветвам още 4-5. От 15-20 стартъпа през годините, чак през последните 1-2 години се научих и започнаха да се случват нещата. Работните ми дни сега пак са по 16 часа, стигнах същия цикъл.

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

 

– Правиш салта и вдигаш 150-килограмови тяги, а преди 10 години лекарите са ти казвали, че няма да можеш да ходиш. Как стана това?

– Да, така ми бяха казали. Всичко започна с изключително силна гръбначна болка, месеци наред не можех да спя. Не успях да намеря правилните лекари, които да решат проблема и през годините се научих да си го решавам сам с проба и грешка. Знам, че не е правилно, но нямах друг избор.

Някои видове упражнения много пречат, различни видове храни влияят… като някаква реакция на тялото. Събрах цяла книга със записки и накрая стигнах до един момент, когато вече нямах такъв проблем.

Спаси ме отново аналитичният, инженерният подход…

Дигитални истории

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

<a href="https://karamanev.me/author/georgik" target="_self">Георги Караманев</a>

Георги Караманев

Програмист, журналист и писател. Още за мен – тук.
Дигитални истории

Най-нови публикации:

„ИИ не е по-добър програмист от този, когото имате!“

„ИИ не е по-добър програмист от този, когото имате!“

„Както и да интегрираме ИИ, накрая всеки ред код трябва да бъде прочетен от човек.“   „Пълно безумие е да вярваме, че генерален ИИ може да бъде постигнат с големите езикови модели.“  ...

повече информация
ИИ при букмейкъра. Спечелиха ли Claude и ChatGPT от залози за Световното?

ИИ при букмейкъра. Спечелиха ли Claude и ChatGPT от залози за Световното?

Дадох по 20 евро на най-новите версии на ChatGPT и Claude. Отворих им акаунти на два популярни букмейкърски сайта, точно преди да започнат решителните мачове от Световното. После им оставих пълната...

повече информация
Какво научих от виртуалния „Георги Караманев“?

Какво научих от виртуалния „Георги Караманев“?

Да си говориш сам. В психологията това далеч не се приема за признак на добро емоционално здраве. Ами ако освен да си приказваш сам, пуснеш на свобода своя виртуален двойник, за да си говори с него...

повече информация

Още публикации по темата:

От рубриката:

„ИИ не е по-добър програмист от този, когото имате!“

„ИИ не е по-добър програмист от този, когото имате!“

„Както и да интегрираме ИИ, накрая всеки ред код трябва да бъде прочетен от човек.“
„Пълно безумие е да вярваме, че генерален ИИ може да бъде постигнат с големите езикови модели.“
„Светът, такъв, какъвто го познавахме, е мъртъв и няма да се върне.“
На Иван Ванков – Гатака винаги може да се разчита за собствен, неортодоксален, провокативен и замислящ поглед към технологиите, ще се убедите от следващите редове.

повече информация
„Всъщност няма смисъл да притежаваш кола“

„Всъщност няма смисъл да притежаваш кола“

Дали бъдещето окончателно принадлежи на електрическите коли? Как ще изглежда мобилността утре? Ще притежаваме ли собствени коли? А колко далеч е моментът, когато човек вече няма да има нужда да шофира?
За Деница Даверова „вчера“ е киното. Посветила му е две десетилетия, а баща ѝ е сценаристът на легендарния филм с това име. Днес и утре обаче за нея са технологиите.
От малка има една не често срещана сред момичетата страст – колите. После идват електрическите превозни средства. През 2018-а тя за първи път се качва на електромобил и бързо решава, че това е бъдещето – и за мобилността, и за самата нея. Напуска снимачните площадки и основава Travel by Electric – платформа, която събира в себе си цялата нужна информация за шофьорите.

повече информация
„Създавайки истинския ИИ, имаме право само на един опит“

„Създавайки истинския ИИ, имаме право само на един опит“

За генералния изкуствен интелект говорят всички. Огромната следваща стъпка, която ще ни изправи пред колосални и непредвидими предизвикателства като вид. Ето че една от първите научни конференции по тази тема се състоя в Югозападния университет в Благоевград, а неин организатор беше днешният ни гост.
Димитър Добрев е изследовател в областта на изкуствения интелект и математическата логика, преподава в СУ. Автор е на разработки за дефиницията на ИИ, за създаването на генерален ИИ, за риска първият истински изкуствен интелект да се окаже и последен. Както казва той, преди да пуснем духа от бутилката, нека поне да сме решили какво искаме от него.
Говорим за интелекта като сила, за наивността към бъдещето, за контрола, регулациите, отворения код и за онзи прост, но плашещ въпрос:
Ако не знаем какво бъдеще искаме, как очакваме да го получим?

повече информация

Най-новите:

„ИИ не е по-добър програмист от този, когото имате!“

„ИИ не е по-добър програмист от този, когото имате!“

„Както и да интегрираме ИИ, накрая всеки ред код трябва да бъде прочетен от човек.“
„Пълно безумие е да вярваме, че генерален ИИ може да бъде постигнат с големите езикови модели.“
„Светът, такъв, какъвто го познавахме, е мъртъв и няма да се върне.“
На Иван Ванков – Гатака винаги може да се разчита за собствен, неортодоксален, провокативен и замислящ поглед към технологиите, ще се убедите от следващите редове.

повече информация
„Всъщност няма смисъл да притежаваш кола“

„Всъщност няма смисъл да притежаваш кола“

Дали бъдещето окончателно принадлежи на електрическите коли? Как ще изглежда мобилността утре? Ще притежаваме ли собствени коли? А колко далеч е моментът, когато човек вече няма да има нужда да шофира?
За Деница Даверова „вчера“ е киното. Посветила му е две десетилетия, а баща ѝ е сценаристът на легендарния филм с това име. Днес и утре обаче за нея са технологиите.
От малка има една не често срещана сред момичетата страст – колите. После идват електрическите превозни средства. През 2018-а тя за първи път се качва на електромобил и бързо решава, че това е бъдещето – и за мобилността, и за самата нея. Напуска снимачните площадки и основава Travel by Electric – платформа, която събира в себе си цялата нужна информация за шофьорите.

повече информация
ИИ при букмейкъра. Спечелиха ли Claude и ChatGPT от залози за Световното?

ИИ при букмейкъра. Спечелиха ли Claude и ChatGPT от залози за Световното?

Дадох по 20 евро на най-новите версии на ChatGPT и Claude. Отворих им акаунти на два популярни букмейкърски сайта, точно преди да започнат решителните мачове от Световното. После им оставих пълната свобода да се справят сами. Какво ли се получи? Може ли ИИ да се превърне в помощник на залагащите или в край на този бизнес?
Не бях отварял букмейкърски сайт. Не бих и работил за такива, видял съм достатъчно примери, че хазартът е наркотик, който убива.
Но в днешните времена… не можем ли да проверим дали пък ИИ не е този, който може да победи него? Да се окаже, че е прекалено добър и да обезсмисли чистата математика, която се крие зад това, че няма как да не загубиш дългата игра…

повече информация
Какво научих от виртуалния „Георги Караманев“?

Какво научих от виртуалния „Георги Караманев“?

Да си говориш сам. В психологията това далеч не се приема за признак на добро емоционално здраве. Ами ако освен да си приказваш сам, пуснеш на свобода своя виртуален двойник, за да си говори с него всеки? Какво ще го попита, което би попитал теб? Ами което не би попитал?
Някои експерименти на този сайт вече са по-смели от невъзможното и невъобразимото. Ето че ви очаква точно това. Преди два месеца на тази страница се появи „Георги“ – мой дигитален двойник, когото можете да срещнете и днес с бутончето за разговор най-долу вдясно на този сайт.
Добре дошъл беше да си поговори с него всеки. От самото начало бях предупредил, че ще следя разговорите, за да завършим подобаващо експеримента със следващите редове. В които ще разгледаме какво се случи с виртуалния „Георги“. Какво го питаха хората? Къде се справи той и къде се провали? Какво има да ни каже всеки от тези разговори?
Надникваме в разговорите с чатбота, размислите ще оставя основно на вас. А ако искате да проверите уменията му, той все още е тук и ви очаква. Признавам, аз определено не предполагах и за частица от разговорите, които проведе „Георги“. Ето какво имам предвид.

повече информация
Защо всички слушат Андрей Карпати?

Защо всички слушат Андрей Карпати?

„Вече съществува нов вид програмиране, който наричам „вайб кодинг“ – кодене по усещане, когато напълно се оставяш на вайба, прегръщаш експоненциалния растеж и забравяш, че кодът изобщо съществува.“
2 февруари по нашите ширини носи определени асоциации, но същата дата на миналата година роди ИТ света на бъдещето. Именно тогава един световноизвестен програмист създаде с думите по-горе цяло ново направление. „Вайб кодинг“ – светът, в който софтуерът не се създава с писане на компютърен код, а с обяснения на човешки език.
Андрей Карпати през последните години е сред малцината учени, които не само създават, но и премислят, обясняват изкуствения интелект на целия свят – с лекции и блогпостове, които се четат като приключенски романи. Словакът създаде огромна част от термините, с които днес боравим в света на ИИ, а и на концепциите, които ни помагат да го осмисляме и използваме. Един от създателите на OpenAI, на самоуправляващите се коли на Tesla, изненадващо преди месец той обяви, че става част от Anthropic – компания, която несъмнено проправя бъдещето.
А как ще изглежда това бъдеще според Андрей Карпати? Що за човек е един от пророците във времената на напредналия изкуствен интелект?

повече информация
Share This