Един конкретен филм разбива представите на Лукас Рюбълки за програмиста, който хаква тайни трезори и се крие в асансьорна шахта. Лукас започва работа като Flash Developer, но след тъжния край на технологията осъзнава, че може би не е предвидил правилно развитието на интернет… Днес той се определя като софтуерен занаятчия, който често използва Angular, даже посещава любовна песен на своя любим фреймуърк.
Помните ли първия сблъсък между очакванията Ви и реалността на професията разработчик на софтуер?
Първото ми запознанство с програмирането беше преди много, много, много години, когато гледах хакерски филм, наречен “Sneakers” и си мислех, че това е най-готиното нещо, което човек може да прави с компютър! Струваше ми се толкова високотехнологично! След този филм реших, че искам да отида в училище по електроника, защото си представях, че ще бъда в асансьорна шахта, откъдето ще програмирам платки и ще правя готини неща (като във филма).
На 19 години завърших със специализиран профил “Електроника с ниско напрежение”, прибрах се обратно вкъщи и започнах работа в авиационната индустрия, където бях заобиколен от куп мъже на средна възраст, най-добрите в сферата. Те нямаха търпение да дойде уикенда, да се качат на лодките си и да пият бира. Е, това не беше образът, нито пък сънят, който си представях за живота си. Не исках да прекарам остатъка от живота си в запояване и поставяне на резистори върху дъски.
Започнах да се интересувам от компютри, изкарах някои сертификати и осъзнах, че хардуерът не е моето нещо и трябва да пробвам със софтуер. Това беше през 2001 г., когато се преместих във Финикс, Аризона. Започнах да следвам в технически колеж и тогава открих “Macromedia Flash”. Спомням си първия път, в който направих невероятно проста анимация, която приемах като лъч светлина, идваща от тавана. Осъзнах, че ако мога да създам нещо подобно за по-малко от час, кой знае какво още мога да направя, ако започна да се занимавам сериозно. Мисля, че това е моментът, в който реших, че наистина искам да съм програмист – исках да създавам неща, които хората могат да докоснат и почувстват. Така започнах да програмирам с Macromedia Flash през 2001 г.
Ако съпоставим очакванията ми срещу реалността – със сигурност не се намирах в асансьорна шахта, не разбивах и тайни трезори. Бих определил като най-хубавата част от програмирането именно възможността да седиш на едно място и да правиш едно нещо толкова дълго, колкото е нужно. По мое мнение отличният разработчик се отличава именно по способността да седне и да се фокусира върху разрешаването на проблем. Има моменти, в които започвам работа в пет сутринта и след едно премигване денят ми е изтекъл и вече е 5-6 часа следобед. За мое щастие, на мен ми харесват моментите, в които се изолирам в своята си “зона”.
Във Вашия уебсайт “One Hungry Mind” споделяте, че е имало момент, в който е трябвало да се върнете обратно към бялата дъска и да си направите нова самооценка. Днес как бихте определили себе си и мисията Ви?
Ще започна с кратка предистория – в течение на дълго време, когато някой ме питаше с какво се занимавам, винаги отговарях, че съм Flash Developer.
Проблемът бе, че бях изградил цялата си идентичност около една единствена технология и когато платформата на Flash стартира своя “преход”, осъзнах, че пред технологията предстои много ограничено бъдеще. Беше време да спра всичко и да преценя точно кой съм и какво правя.
Осъзнах, че всъщност не съм Flash разработчик, просто обстоятелствата така се стекоха, че можех да създавам анимации и 3D-анимирани уебсайтове. Обичах това, което правя, а не самият Flash – той беше само инструментът, който използвах за целите си. В този момент осъзнах, че никога повече няма да позволя да определям идентичността си чрез една единствена технология, особено таква, която е контролирана от една определена организация. Поставяйки кариерата си в ръцете на чужда компания, вие ограничавате развитието си.
Затова днес, въпреки че вероятно съм най-известен благодарение на работата си с Angular, описвам себе си като човек, който е дълбоко ангажиран с разработката на софтуер и помага на компаниите да изградят възможно най-добър софтуер, а Angular е само парченце от пъзела. Много често ще ме видите да помагам на организация с Angular – тогава често осъзнавам, че компаниите срещат предизвикателства нагоре и надолу по своята верига. Например, когато попитам какви са техните Agile практики, се оказва, че такива дори няма на дневен ред, което е голяма пречка за доставянето на големи софтуерни приложения. След това ги питам как вървят тестовете и става ясно, че процесите им за контрол на качеството са недостатъчни. Така че много пъти Angular е просто инструмент, който се вписва в по-голямата картина за това как помагам на компаниите да изградят успешен софтуер. И така, когато някой ме пита каква е моята цел и как определям себе си, вече казвам, че съм “софтуерен занаятчия” и помагам на компаниите в изграждането на най-добрия възможен софтуер, а Angular е един от инструментите ми под ръка.
Couple dollars on amazon for hundreds of dollars of laughs! @John_Papa in a pre @angularjs life pic.twitter.com/olfUc8nspy
— Łukasz Ruebbelke (@simpulton) June 6, 2016
По какво работите в момента като “софтуерен занаятчия” и какви са инструментите ви?
Работя по различни бизнес разработки, особено в областта на здравеопазването. Разработвам и много стартъп проекти, много доказателства за концепции, към които съм най-любопитен. В момента любимият ми стак е Angular и NestJS, които са много сходни. Считам, че NestJS е много добре обмислен фреймуърк. Много обичам и GraphQL, Docker и Cloud. Стакът ми е обикновен и доста типичен, общото звено са предпочитанията ми към JavaScript. Вярвам, че има и други добри технологии, но обхвата на JavaScript и TypeScript е толкова голям, че можете да създавате наистина впечатляващи приложения, без да напускате езика. Затова винаги залагам на JavaScript и той работи отлично за мен. Това е и причината да предпочитам да правя Full-Stack JavaScript разработка с помощта на Angular Nest и да поставям всичко в cloud.
Коя е най-хубавата част от ръководенето на уъркшоп?
Трябва да споделя, че уъркшопите са вероятно една от най-любимите части от професията ми, тъй като имам възможност да общувам с хора от цял свят! Водил съм много различни уъркшопи – както лично на място, така и виртуални, и по този начин имам възможността да се срещам с наистина брилянтни хора, с които поддържам контакт и до днес. Удивително е колко приятелства са започнали от тези събития и нетуъркинг с хора, които са също толкова умни и нетърпеливи да учат. Те са толкова ангажирани и страстни в това да бъдат най-добрите дивелъпъри в своята работа! Това е най-великото – срещите с други добри дивелъпъри, които истински се занимават с технологии и са любопитни!
Докато водя уъркшопи постоянно научавам нови неща, например някой ми задава въпрос и аз формулирам отговора си по съвсем нов начин. Когато не знам отговора, не се страхувам да си кажа. Смятам, че е от решаващо значение да бъдеш смирен, когато водиш подобни занятия и да споделяш откровено: “Хей, всъщност не съм се замислял…” или “Не знам отговора”, а пък след това да потърсиш отговора. Има много случаи, в които ми се задава въпрос, на който не знам отговора, и казвам: “Хей, нека продължим, а после, например по време на почивката, или по време на обяда, ще погледнем и отговора”. Наистина е уникално да прекарващ време с хора, които са също толкова нахъсани на тема технология и готови за придобиване на нови знания!
Вие сте Angular и Firebase Google Developer Expert, кое определяте като основно преимущество на програмата?
От една страна, смятам, че Google търси хора, които вече извършват дейности, характерни за Google Developer Expert. Така че, моето преминаване към специалната експертна програма за разработчици се получи съвсем естествено, не трябваше да променям нищо от практиката си, тъй като вече правех нещата, които те търсеха. Предимствата са, че със сигурност помага, когато споделите на клиент, че сте сред разработчиците-експерти на Google. За мен най-значителната полза е възможността да отида и да прекарвам време с други GDE, мрежа от най-висок клас разработчици, която е истински обещаваща!
Практикувате активно кросфит, обичате да бъдете и креативен – кои активности Ви предпазват от бърнаут?
Вярвам, че всичко и всяка една дейност е свързана в смисъла “Cross-Domain Pollination”, тоест можете да вземете уроци от един “домейн” (в случая кросфит, пиано или изкуство), да заучите основните постоянни принципи в тези занимания и да ги приложите към нещо друго. Много пъти човек се слива толкова много с кода, че се изморява физически и е предизвикателство да бъде в най-добрата си ментална форма. Най-доброто нещо, което можете да направите тогава, е да си отпочинете от дълбоките, интензивни аналитични дейности и да се заемете с нещо креативно.
За мое щастие моята кросфит фитнес зала е от другата страна на улицата, така че просто прекосявам улицата и започвам тренировката си. Имам и електрическо пиано в офиса, на което свиря по 25-30 минути дневно, за да отпускам. Много обичам легота, особено Lego Architecture Set, така че понякога играя и строя, за да “изключа” ума си. Интересното е, че проблемите, с които се боря, никога не си отиват, вместо това, остават на заден план. Често работя или си играя с Legos и изведнъж ми присветва търсения отговор. Затова смятам, че е от съществено значение да бъдеш в състояние да се освободиш, да оставиш мозъкът ти сам да се справи, като в същото време даваш почивка на ума си и се занимаваш с друга физическа дейност.
Упражненията са изключително важно лечение срещу бърнаут и има много научни доводи за биологичните ефекти, които казват върху нас. Ако сте инженер и програмирате в продължение на дълго време, силно ви препоръчвам всеките ден да намирате между 5 и 20 минути за тренировка.
Имате една интересна любовна песен за Angular… Каква е историята?
Това вероятно е една от най-забавните лекции, които някога съм водил, но отне много време, за да я подготвя. Получаването на слот на главната сцена на събитието “ngConf” е много, много, много трудно, но аз съм в добри отношения с организаторите, пък и имах идеята да напиша песен за Angular. И така, взех най-добрия си приятел Роджър, който също участваше в лекцията, направих бързо демо и го подадох заедно с темата на лекцията ми [“the mischief-maker” можете да я видите в Google]. След като си осигурихме място на главната сцена, с Роджър седнахме, написахме, записахме и репетирахме парчето. В същото време демонстрирах как се свързвам с MIDI контролер и визуализирам какво се случва. Освен това, цялата презентация беше направена на Electron. Това беше може би най-техническата лекция, която някога съм водил.
Освен, че беше много забавно, защото Роджър е фантастичен изпълнител, смятам, че хората, които истински обърнаха внимание на лекцията осъзнаха, че присъстват на една много техническа лекция, която успяхме да представим в осемминутна презентация. Смешното е, че уж бяха няколко минути, а всъщност ни отне над 140 часа, за да съберем цялото представяне в едно. Наистина значителна инвестиция, което ме накара да се чувствам изключително горд. И след това съм водил лекции, но според мен конкретно тази на главната сцена беше монументална и върхът на всичко, задето успях да събера всичко в една презентация!
Кой е най-добрият “cheat” за писане на код?
Интервюиран: Най-добрият “cheat”, който препоръчвам, е да се възползвате от колективната интелигентност на дивелъпмънт общността, защото хората в нея за изключително щедри! Започнете ли да се занимавате с развитието на общността, ще разберете, че има толкова много проблеми, които вече са били разрешени извън вашия конкретен належащ въпрос, че просто е нужно да използвате текущата информация и усилията на други разработчици. Погледнете например Angular, NGRAQs и всичкият този open-source софтуер, в тези феймуъркове отиват часове работа, а ние можем да ги използваме съвсем безплатно. Затова приобщете се към общността, бъдете ѝ приятел и бъдете полезни за нея!
Винаги, когато съм дарявал част от времето си в името на общността и в помощ на други разработчици, жестът ми се е отплащал двойно!
Има много технически аспекти на писането на код, но според мен най-доброто, което можете да направите, е да започнете да изграждате своя мрежа от познанства, да се фокусирате върху своите “soft skills” и да се обградите с най-добрите сред дивелъпърите. Това се отнася и за специалистите в GDE програмата, като част от нея, аз се срещам с други експерти и по този начин се превръщам в най-добрата версия на програмист, която мога да бъда. Така че, ако се обградим с група от 5-7 души, нека те да са възможно най-добрите, които познавате и сам ще видите как ще подобрите самият себе си.
Интервюто проведе Вяра Стефчева.