20 септември, 2019

Мартин Куванджиев е oсновател и CEO на GoStartups и co-founder на Bitcoin Gold, една от топ 25 криптовалутите в света. Компанията му се занимава с разработка, маркетинг и бизнес дивелъпмънт за стартъпи. Откриваме го насред криза в кода на проект за “Pittsburgh Steelers” – отборът, печелил най-много титли в историята на американската Национална лига по футбол (NFL). Разбира се, всичко завършва с щастлив край, а той ни разказва за интересните моменти от опита му като разработчик. 

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

На въпроса кога разбрах, че искам да бъда инженер, отговорът е… може би винаги. Баща ми и дядо ми са инженери и са едни от най-добрите техници в града, обслужват цялата страна. Аз самият като малък бях много запален по МythBusters и мечтаех да стигна до Сан Франциско. Преди година успях да сбъдна мечтата си и се чувствах като дете в лунапарк – успях да видя на живо всичко, което до този момент съм гледал по телевизията. Тази година успях да обиколя почти целия град, дори стигнах до мястото, на което се заснема предаването – Работилницата на Джейми. Е, да, беше празно, може би, защото беше Memorial Day, но пък беше интересно.

След осми клас бях приет в Професионална гимназия по механоелектротехника и електроника в Бургас и така започнах да се занимавам по-задълбочено с електроника, схеми, платки и т.н. Винаги съм разглабял и човъркал разни работи. Може би първият път, в който писах код, беше около четвърти клас, когато беше нашумяла играта “Хановете”. В нея можеше да персонализираш страницата си, стига да имаш известни познания по HTML. Тогава се обърнах към програмистите в моя “съюз” в Skype и те започнаха да ми обясняват как да променям неща по кода. Това беше доста отдавна, около 2004 г., когато модемът издаваше извънземни звуци, за да се свържеш към интернет. По-късно започнах да използвам софтуер на Microsoft, подобен на уеб редактор, за да си подготвям кодовете.

Какви технологии предпочиташ да използваш за разработка?

Тъй като имам компания, с която разработваме всякакви стартъп проекти, при мен винаги е интересно от гледна точка на технологии. Когато има някоя изключително трудна задача, на помощ влизам аз. В момента общо взето правя какво ли не, но най-много харесвам да си пиша на Swift и да разработвам за iOS. Напоследък, обаче, ми се налага да ползвам TypeScript за Back-End. Точно в момента пък се занимавам с Continuous Integration Server и нещата леко гръмнаха точно преди да започнем това интервю…

А смяташ ли, че има мода при избора на технологичен стaк при програмистите: Има ли “традиционни” и “модерни” методи за разработка?

От гледна точка на модели и технологии за разработка забелязвам, че все по-активно се опитват да направят разработката по-лесна и достъпна за хората. Аз съм голям фен на Apple и тази година присъствах на WWDC – една изключително добра и впечатляваща конференция. На нея демонстрираха стремежа да променят нещата така, че всеки да може просто и бързо да направи свой Machine Learning модел, а след това и да си го обучи, настрои и пусне. Също така успяват да накарат и AR да работи на много добро ниво. Впечатли ме, че са създали отделни приложения, (подобно на “Create ML”) с които можеш да сложиш 10 папки със снимки и то само да обучи “Image Classificator”-a. Възможно е и с помощта на Reality Composer да създадеш една реална сцена, например AR игра, която да наредиш изцяло с 3D обекти, да зададеш на всеки един от обектите материал, цвят и отражения.

Всичко това е революционно развитие, ситуацията беше далеч по-различна преди 4-5 години, когато се занимавах сериозно с 3D принтиране – тогава си спомням каква мъка беше, ако искам да вкарам един 3D модел на iPhone-а си. В момента, в рамките на минута и половина е възможно да накарам същия модел да работи на iPhone, да го сложа в реален размер, в реалната среда около мен, да го разположа върху масата пред мен и чрез камерата софтуерът автоматично да разпознае къде се намирам, каква е обстановката, слънчево ли или не.

Чрез този процес се преценява по какъв начин да се изкара самият обект, за да е възможно най-реалистичен.

Какво те впечатли най-много на WWDC?

Нещата, които ме впечатлиха са много. На тази конференция от Apple винаги поставят отправна точка за развитието на технологиите в следващата една или няколко години.

За мен най-доброто бяха всички тези AI, AR, ML промени. Например, когато демонстрираха на сцената как с iPad можеш да проследиш движението на човек, мърдането на неговите кости – това е нещо, на което съм виждал толкова много варианти през годините, но толкова по-слаби и изискващи огромни изчисления. Днес от компанията представят тази функционалност с едни 25 реда кода – ето тези моменти са уникални. Харесва ми, че има екип от хора, който се опитва да направи новите технологии ползваеми и достъпни.

Ето, например, какъв е проблемът при всички крипто технологии? Готина технология, готино имплементирана, супер добре разработена като механизъм, а ползватели – почти няма. Причината е, че за да я използват, хората трябва да се информират какво е “private key”, какво е “портфейл”, трябва да са предупредени, че изтрият ли си приложението от телефона, губят всички пари и своя “private key” и т.н. Такава беше ситуацията и преди години, около ‘99, когато интернет е бил нещо голямо и изключително, но с проблема, че липсва добър браузър, който да го направи лесно достъпен. Всичко се е надувало ли надувало заради големите дози спекулация, и така до момента, в който се пука балонът и идва браузърът – ето тогава вече технологията започва да се ползва истински.

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

На #SwiftSofia Мартин сподели за изживяването си в Сан Хосе и обобщи ключовите моменти от WWDC 2019.

Какво е Bitcoin Gold и с какво алгоритъмът ви за майнинг е по-различен? Колко души проявяват интерес към тази валута и я купуват?

При биткойн, ако искаш да започнеш да копаеш и да подпомагаш мрежата и стабилността, ще получиш пари от самата мрежа. За да започнеш да копаеш е нужно да отвориш един конкретен сайт, на една фирма в целия свят, която произвежда най-добрите машини за криптомайнинг и да си купиш от тях. Големият проблем е, че това е и най-големият играч на пазар за криптомайнинг. Те произвеждат машините, като задържат голяма част от тях и ги използват за майнинг докато профита не е толкова голям. Ако има спад – започват да ги продават, и то клиентите получават машини, които вече са използвани, но са на 2-3 месеца, така че “нищо им няма”. Преди 2 години опашките за поръчки за криптомайнинг машини бяха толкова големи, че изискваха 3 месеца чакане на доставката и предварително заплащане по време на самата поръчка. Съответно самата компания взима решението какво да прави: ако има голяма печалба, тя произвежда само за себе си и трупа до момента на спад, когато започва да продава. Същата тази компания в дадени моменти държеше над 50% от целия “cashing power”. Ако при биткойн притежаваш толкова много, ти си в състояние да направиш “51% Attack”. При тази атака можеш да “override”-неш мрежата т.е.

Представете си, че превеждам пари на вас, вие виждате, че сте получили сумата в портфейла, но тъй като притежавам над 51%, мога да върна парите обратно при себе си.

Технически всичко влиза в един блок, който притежава един settlement и всички транзакции, които са минали в този блок, се водят със статус “изпратени” и “получени”. Да, но аз ще върна един блок преди този, в който съм направил плащането, ще използвам транзакцията и ще я пусна отново, но този път към своя портфейл. След това ще започна да копая със своите машини, които притежават над 51% от мрежата и след определен брой блокове, ще имам повече блокове в моята “неправилна” мрежа и ще “override”-на “истинската” верига. Защото по-дългият блокчейн печели и ако има две вериги, които се борят да докажат коя е правилната, печели тази с повече блокове.

Когато настана този проблем, излезе наяве, че има хора, които действително са способни на подобна атака срещу блокчейн. Аз, като човек, който притежава известни технически и биткойн познания, започнах да се оглеждам за варианти. Случайно се запознах с хора, с които станахме co-founders, общо сме на шест континента.

Всичко стана съвсем случайно – започнахме да четем материали за криптовалутите, създадохме дев общност, заедно пишехме код и така постепенно, без да искаме, основахме криптовалута. В началото идеята се казваше “Bitcoin GPU”, тоест имахме намерението да се копае с графични карти. Оттам започнахме да обсъждаме дали да пуснем pull-request към Core-a на биткойн, но се оказа, че процесът изисква много време. Създадохме “Bitcoin Gold” и натрупахме 200,000 последователи в различните социални мрежи, постоянен трафик в Discord групите, влязохме в класацията на топ 25 криптовалути в света. Сега имаме добри волюми, канят ни на различни конференции, аз самият пътувам много. Хората се кефят на идеята ни, разбира се в началото винаги има почва за спекулативни новини, но пък се получи. Интересното е как едно цъкане на код на дивана се превърна в успешна криптовалута.

Как разработи най-известните ти първи проекти – умният стик “Adept” и космическата ръкавица “Valkyrie”? 

През 2015 година създадохме умната ръкавица “Valkyrie”, която бе отличена с голямата награда на NASA Space App Challenge, след това от БАИТ и накрая получихме награда “Джон Атанасов”. Другият проект е умният стик “Adept”, който отчита натоварването и помага за упражнения в по-специални условия.

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

И двете идеи частично се родиха от заданията на конкурса на НАСА. В случая с ръкавицата се търсеше решение, с което да се улесни живота на станцията. По време на създаването ѝ беше бумът на смартфоните и смарт домовете. Реших, че ако се разчета достатъчно много мога да създам нещо, с помощта на което да спестя излишни придвижвания на космонавтите от единия до другия край на станцията. Във Valkyrie има акселерометър, жироскоп и магнитомер, а на кокалчетата на пръстите палец, показалец и среден – специални сензори, отчитащи ъгъл на завъртане. Представете си, че с нея сте като Танос. Когато щракнете с ръка, можете да пуснете или спрете лампата. Нужен е просто алгоритъм, който да засича жеста и да води до определено действие. Бяхме използвали framework за Voice Recognition технология, която разпознаваше гласа ми много успешно, при това говорим за времето, в което Google Assistant и Alexa ги нямаше, а Siri беше доста глупава. Целият проект ни отне 10 дни, през които почти не съм спал, като целта ни беше да създадем MVP, тоест колкото да работи, а не съвършен код. Идеята бе приета много добре от НАСА, дори по време на networking частта някои от най-големите имена в науката ме разпознаваха като лийда на отбора от демонстрационния клип. Беше невероятно, че хората, на които се възхищавам ме познаваха, още преди лично да съм се представил пред тях.

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

Ти имаш богата история в дев средите, а в момента си CEO на GoStartups. Как различи правилния момент, в който беше редно да се “ъпгрейднеш” към следващото ниво на кариерно развитие?

Отговорът на този въпрос е различен спрямо пазара. Преди 5 години всеки, който искаше да стане дивелъпър, имаше възможността да стане. Нужно бе компанията да инвестира в него и да му даде възможността за развитие, независимо от базисните умения (или липсата на такива). В момента, когато аз правя интервю за работа на Junior Developer, искам този човек да притежава основни познания за това как се програмира, различните езици, да знае какво е HTTPS – все неща, които са лесни, но много хората не ги знаят, макар че са основни за сигурността на продуктите. Но освен знанията е важно и да предлагаш добри пари, независимо, че този човек се обучава. Повечето фирми са готови да дадат 500 лева, но кой може да оцелее с толкова в София? Затова, мога да кажа, че в момента наблюдаваме по-високи изисквания дори за Junior човек и това е нормално, разполагаме с толкова много държавни и частни образователни институции. Днес практически всеки може да се запише и да започне да изучава програмиране, въпросът е колко от записалите се наистина го научават.

При мен заветният момент настъпи постепенно. Бях започнал своето развитие в бранша с работа по определени проекти, след това станах и co-founder на Bitcoin Gold, натрупах определен опит. Научих, че моментът, в който трябва да пристъпиш към следващото ниво на развитие е моментът, в който започнеш да разпознаваш възможностите в случващото се около теб. Например, виждаш, че някоя компания търси човек за определена работа и осъзнаваш, че това може би си ти. Щом си стигнал до тази мисия и си се разпознал в търсения специалист, значи вече си готов да пристъпиш към следващия етап от своето кариерно развитие.

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

В това отношение мога да дам личен пример с това как стартира моята компания. В началото на юни, 2018 година, посетих САЩ и реших да се видя с приятел в Сан Диего. Разделяха ни 600 км. разстояние, затова насрочих самолетен полет и в крайна сметка успях да стигна при него. Тогава той ми каза: “Чакай, ти нали си дивелъпър? Ела да погледнеш едни неща”, и ето, че отидох, видях какви са проблемите им и предложих решения. Тогава конкретната фирма работеше с вътрешни разработчици и с контрактори, но в някакъв момент получих предложение и аз да се включвам в определени проекти. Помогнах в разработката на един продукт, който отне много усилия, но благодарение на  опита ми, успях да го завърша за минимално време. Последва още един и още един продукт, правех всичко на iOS, попитаха ме дали имам човек за Android – аз препоръчах и така постепенно станахме 9 души. Сега сме заедно в офиса и работим за тази американска компания.

Кой е най-любимият ти проект, за който си писал код?

Последният, защото харесвам простите неща, които имат голям ефект върху хората! Ако създадеш нещо прекалено сложно, хората не го разбират и ефект няма. Последното нещо, което разработихме беше елементарна clicker игра, в която хората получават бира. В рамките на 10 секунди всеки участник трябваше да цъка на макс по екрана и ако напълни бирата на екрана над 250 мл. – печели половин бира, над 400 мл. – голяма бира. Имахме си и ранглиста за най-добрите. Ето с това просто, но уникално готино нещо се разбихме след края на WWDC в Сан Хосе. При нас дойдоха толкова много хора след събитието и равносметката беше 250 души с над 700 опита за 3 часа! Просто супер!

Кое е последното нещо в разработката, което буквално те побърка?

Наскоро се занимавах с CircleCI и с Ruby и се побърках с версиите на Ruby,  защото всяко едно нещо работи на една версия, но не работи на друга. Бях откачил напълно, блъсках се да направя една сравнително проста конфигурация в CircleCi и се побърках с Bundler и с fastlane. Имах толкова много задачи на главата, а това ми отне около 15 часа от времето. В петък, 5:30 ч., нещата се получиха. Уж много елементарна задача, а всъщност хич не се оказа така!

Какви други интереси имаш?

Имам много хобита, обичам да давам шанс на нови начинания и да се рефрешвам. Свиря на китара, вкъщи имам шест китари. Обичам да слушам блус, купих си веспа, с нея си обикалям от време на време. Обичам и да се събирам с приятна компания, да ходим на плажа, да палим огън, да се забавляваме. Интересувам се и от 3D принтирането, преди се занимавах много сериозно, купих си лазер за гравиране и рязане. Сам си направих всичко от нулата, поръчах си компонентите, а останалите нужни неща си ги принтнах и сглобих. Започнах да правя много персонализирани подаръци.

Китарите също започнаха като хоби, а пък се превърнаха в група. Свирихме по турнета в Бургас и околията, беше супер изживяване, особено за един студент. 3D принтирането пък стана бизнес и имаше много търсене, хората си поръчваха неща, а аз им ги правех на двойно по-изгодна цена от конкурентите. Последваха персонализирани подаръци и т.н. Не спирам да пробвам нови неща дори приятелката ми се шегува и казва: “Твоето хоби е да правиш пари!”, тъй като понякога новите ми начинания се присъединяват към някой мой или чужд бизнес.

Интервюто проведе Вяра Стефчева.

Тагове: , , , , , , , , , , , , , , , , , , , , ,