Как начинали свою карьеру технические топы украинских IT-компаний. Часть 2
Представляем вторую часть материала о первых профессиональных шагах в карьере технических топов украинских IT-компаний. Мы спросили, как им помогла первая работа, на каких языках они программировали и что запомнили из того времени.
Вера Ткаченко, Software Team Lead в MacPaw
Первая работа — разработчик ПО в CyberVision, 2007 год
До первой коммерческой работы у меня были практики. Но, например, практика в Институте кибернетики НАН Украины была для меня еще и небольшой работой. Она была связана с параллельными вычислениями. Особо запомнился настоящий вычислительный кластер, на котором можно было проводить свои эксперименты. Это на самом деле было очень круто, особенно когда у тебя простая задача, например, перемножить две большие матрицы, и ты, студент, мог это сделать на настоящем кластере. Для этого еще помню нужно было забронировать время. Практика оплачивалась, но зарплата была скромной. Я бы не назвала это полноценной работой, но сам опыт был стоящий.
Потом, когда я пошла на настоящую работу, то попала в аутсорс-компанию CyberVision. Я искала компанию, которая брала бы сотрудников без опыта. CyberVision как раз оказалась одной из таких компаний, которые брали тебя и обучали. Собеседование заняло полдня и включало в себя выполнение тестовых заданий, общение с техническими специалистами и HR. Но прикольно то, что сразу говорили — готовы они взять на работу или нет. Так я и получила свою первую работу.
В первый мой рабочий день оказалось, что из компании недавно ушел какой-то крутой разработчик и после него остался компьютер. Мне очень повезло, так как компьютер оказался действительно мощным, и это меня очень впечатлило. Новичку могли спокойно дать старый и медленный ноутбук, а по факту выдали действительно классный и мощный компьютер.
Свою первую задачу я получила от тимлида Игоря. В одном из основных Java-проектов, связанных с телекоммуникациями, был довольно простой баг, фикс которого был очевиден для тимлида. Это было больше задание-проверка. Нужно было разобраться в громадном проекте, пофиксить и выслать патч. Помню, что перепроверила его тысячи раз, чтобы не ошибиться в первой же таске. После меня уже подключили к настоящим проектам.
Хотя вначале очень часто переключали с одного проекта на другой, но тогда очень хотелось попробовать все, и для начинающего специалиста это играло на руку. Возможность быстро попробовать разные технологии, общение с разными командами, с разными людьми, а так как это был аутсорс, то еще и с заказчиками. Я писала не только на Java, но и Python, Lua, HTML, Javascript. Был и необычный мобильный проект телевидения по подписке под Brew на чистом C. Такая экзотическая платформа, о которой сегодня даже и не слышно. Это было очень сложно, не знала, как даже подойти к этой задаче вначале.
Помимо опыта разработки, на первой работе классно было посмотреть, как по-настоящему все работает, а не как об этом пишут в разных статьях и книжках. Когда ты студент, то сам придумываешь себе задачи, все они получаются какими-то вымышленными и синтетическими. Такие задачи и решения в реальном мире применения не находят. На первой настоящей работе впечатляет то, что результат, который ты получил, потом используется кем-то, он действительно кому-то нужен и важен. Я очень благодарна CyberVision и всем людям, которые тогда работали, за этот опыт.
Тарас Мурашко, co-founder, CTO в EVO
Первая работа — java-разработчик в банке «Аваль», 2001 год
На пятом курсе Физико-технического института при КПИ я искал работу java-разработчика. На тот момент мой опыт программирования состоял в основном из описания лабораторных работ и небольших программ для себя. Перед тем как опубликовать резюме, я несколько недель активно готовился к собеседованиям: читал книги и спрашивал у знакомых программистов, что должен знать java-разработчик.
На опубликованное резюме, к моему удивлению, откликнулось несколько компаний. Больше всего приглянулось предложение от корпорации «Инком». Меня пригласили работать над проектом по внедрению системы документооборота Documentum в банке «Аваль». В то время они активно развивались в направлении системной интеграции и нанимали много студентов.
Сначала было достаточно сложно. Внедрение Documentum подразумевает знание огромного объема специфического АПИ. Но отличная документация и отзывчивые коллеги помогли мне достаточно быстро освоиться и начать приносить пользу проекту. Еще большим плюсом была быстрая обратная связь от команды внедрения. Это помогло нам сделать замечательный продукт для банка «Аваль».
Навык работы с системой Documentum больше не пригодился мне в будущем, но умение разбираться в сложных системах, анализировать потребности клиентов и работать в команде стало бесценным. Так что студентам-выпускникам и всем молодым специалистам без опыта работы советую не бояться пробовать силы в новой сфере. Не отказывайтесь разбираться в сложных задачах. Полученные знания и навыки пригодятся в будущем или станут фундаментом для профессионального роста.
Дмитрий Лапшин, СТО в Sigma Software
Первая работа — junior developer в Validio Software, 2000 год
Поработать на первом коммерческом проекте в ИТ мне довелось, еще когда я учился на 4 курсе ХНУРЭ в 1998 году. У нас в университете с 1996 года существовал «Отряд программист» — своего рода кружок по интересам, куда попадали студенты, которые интересовались программированием и хотели работать на благо родного универа. В первые годы существования отряда мы делали автоматизацию учёта книг в библиотеке, штатного расписания кафедры. Но подобные проекты сложно назвать коммерческими, скорее, они делались для удовольствия и самообразования.
Вместе с тем к концу
Примечательно, что письменного ТЗ, скорее всего, не было, а даже если и было, то очень кратким. Поэтому приходилось работать в духе agile: проводить заказчикам демонстрации и получать от них новые «хотелки». Только тогда ещё никто не знал, что это так называется — про существование процессов разработки я узнал много позже, уже на своей первой «настоящей» работе.
Что приятно, заказчики были очень открыты к нашим предложениям. В результате в программе появились такие возможности, как добавление предметов интерьера, настройка цвета освещения, а также можно было походить внутри смоделированного помещения с плиткой в стиле популярных 3D-игр того времени (Doom, Quake).
Помню курьёзную ситуацию, когда нужно было работать на следующий день после отмечания успешной сдачи бакалаврата. Думалось, как вы понимаете, с трудом :) Поэтому написанная в тот день часть кода был помечена комментарием: «Просьба не ругаться, код был написан в состоянии глубокого ступора». Этот эпичный комментарий мой коллега обнаружил только через пару дней и сильно смеялся. Что интересно, по факту багов в этом коде оказалось не так и много.
У нас ушло примерно полгода на создание продукта. Его приняли и даже заплатили небольшие деньги, было приятно.
Из особенностей проекта очень запомнилось создание системы защиты от копирования. В одной из популярных тогда книг на эту тему мы прочли про такой способ, как прожигание дискеты лазером. А поскольку наш заказчик с лазерами имел дело вплотную, то, как говорится, сам Бог велел выбрать именно этот способ.
Суть способа заключалась в том, что дискета прожигается лазером в определенных местах, и при этом повреждаются определённые сектора. Если при установке программы с дискеты (да-да, это был конец
Но мы пошли дальше. Опасаясь, что список повреждённых секторов можно довольно легко «пропатчить», мы зашифровали само тело инсталлятора таким образом, что ключом расшифровки была последовательность испорченных секторов. То есть на «нелицензионной» копии корректная расшифровка инсталлятора была попросту невозможна без полного перебора ключей. Неудобством этого способа было только то, что шифровать приходилось каждую дискету отдельно. Но поскольку массовое распространение программы не предполагалось, это были вполне приемлемые накладные расходы.
Если же говорить о full-time работе в компании, то моей первой ИТ-компанией стала Validio Software (тогда, в начале
Напоследок, хотел бы отметить, что, несмотря на специализацию, с которой меня взяли на первую работу, за первые два-три года пришлось поработать на очень разных технологиях, начиная от написания хранимых процедур в базе данных, и заканчивая JavaScript. Тогда это считалось нормальным, какого-то явного разделения на back-end и front—end разработчиков не было. Разве что, DBA считались отдельной «кастой», а остальные, в той или иной мере, были генералистами. Возможно, потому, что
Андрій Терлига, CTO в Intellias
Перша робота — Software Developer в ПКО «Політехніка», 2003 рік
Я розпочав свою кар’єру у 2003, навчаючись на 3 курсі «Львівської політехніки» за напрямком «Комп’ютерні науки». До нас з одногрупником звернувся один з керівників проектно-конструкторського об’єднання при університеті та запропонував взяти участь у невеликому стартапі. Метою стартапу була розробка продукту для автоматизації обліку пацієнтів у стоматологічних клініках, розрахована на український ринок. Ми з колегою особисто працювали майже над усіма етапами процесу розробки — збирали вимоги, створювали UX та UI, проектували архітектуру, розробляли та тестували продукт. Як для першого комерційного досвіду, результат вийшов непоганим, і після 6 місяців роботи нам вдалось запустити версію 1.0 в продакшн.
За цей час довелося добряче попрацювати, щоб продемонструвати результат у стислі терміни. Проте враження залишились виключно позитивні — робота була цікавою та поглинала з головою. У якийсь момент, під час реалізації захисту від копіювання, навіть довелося заінтегрувати трохи асемблерного коду :-)
Робота в ПКО «Політехніка» дозволила спробувати себе у розробці комерційного ПЗ та найважливіше — навчила брати на себе відповідальність та досягати результату в умовах незрілих процесів та за відсутності старших колег. Проте досвіду старших колег все-таки бракувало. Я зрозумів, що для подальшого професійного розвитку було важливо працювати в команді з досвідченими інженерами та менеджерами, які могли би надавати якісний зворотній зв’язок та скеровувати у вірному напрямку.
Після короткого пошуку серед наявних вакансій я натрапив на Intellias, які в той час шукали інженера у свій «пілотний» проект для нового клієнта. На початку 2004 компанія налічувала менше 15 людей, а проект-менеджмент виконували особисто засновники. Моїм першим проектом в Intellias була розробка вузькоспеціалізованої CRM-системи для лідера онлайн-ринку деревообробної промисловості. У якості основної технології виступав .NET, який у ті часи тільки набирав популярність. Після CRM-ки було ще декілька проектів з тим самим клієнтом з різним технологіями — вдалось трохи пописати на Java EE, потім на Struts та Spring, було багато JavaScript.
Мені пощастило — моє керівництво, колеги по проекту та менеджер зі сторони клієнта виявились справжніми професіоналами. Працюючи поряд з ними, я швидко розвивав не тільки технічні навички, а й софт-скіли та багато суміжних компетенцій. Після успішної реалізації перших проектів я почав цікавитись менеджментом. Мої інтереси помітило та підтримало керівництво компанії. У наших наступних проектах я взяв на себе роль технічого ліда, а невдовзі проект-менеджера.
Саме так я розпочав свій шлях з Intellias, де залишаюсь і сьогодні, представляючи технічну ланку
Анатолій Литовченко, Head of Software Engineering and Development Office в ELEKS
Перша робота — .NET Developer в DevCom, 2005 рік
Свою першу роботу я знайшов наприкінці третього курсу, коли зрозумів, що в університеті не дають того, що я хочу. Мене цікавило програмування та більш новітні технології. Тоді якраз розпочався бум по технології .NET Framework, з’явилась її перша версія, незабаром друга і т. д. На четвертому курсі я взяв собі книгу по .NET, вивчив її повністю та пішов працювати. Це була компанія DevCom.
Пригадую, що прийшов туди, сказав, що хочу в них працювати, вони дали мені тестове завдання та сказали прийти через тиждень. Досі пам’ятаю те хвилювання: дві ночі не спав, поки не зробив завдання. Виконавши його, прийшов у компанію на третій день. Вони переглянули моє завдання, сказали, щоб я в офісі зробив те саме, але з певними правками. Над завданням я працював до кінця дня. І вже наприкінці того тижня мене покликали до директора та повідомили, що готові взяти на роботу.
Мій перший проект був дуже цікавий, від нього багато що залежало. Це був веб-магазин для різних релігійно-громадських організацій. У них були магазини, вони розповсюджували деякі маркетингові матеріали, продавали щось, та можна було все замовити і купити чи зробити, наприклад, donation на сайті. Пригадую, що це був цілий набір, як конструктор сайтів для даних організацій. Також пам’ятаю перше, з чого почав роботу на цим проектом, було — вивчення структури самої моделі. Переглянув бази даних і знайшов у них неспівпадіння адресів фізичних easy core-рів. Вирішив їх пофіксити, отримав згоду від менеджера, і поки вивчав це все, мені дозволили писати коди. Таким чином, я вперше познайомився із базами даних.
Мій перший запит виконувався десь 40 хвилин. Я його запустив, і далі з’явилось більше та більше завдань, більше технологій. Мабуть, за перші два роки я перепробував все — і С++, і Java, і Visual Basic, і різні бази, щось на back-end та front-end. Єдине, до чого руки не дійшли, — це до мобільних технологій, вони тоді були менш розвинуті, але я це наверстав у наступні роки роботи.
Першою мовою програмування, на якій я працював був C#. Не враховуючи, те що ми робили в університеті. На першому курсі ми займались один і ти самим, тільки на листочках. Але комерційний досвід, вже був з C#.
Перша робота допомогла мені в тому, що дала змогу перепробувати різні технології. Я багато спілкувався з людьми, і в мене був досвід менеджменту та роботи з командами. Були маленькі, великі та довготривалі проекти. Плюсом було те, що це був продукт для американського ринку, і деякі проекти були в стадії support: конструктор ставився на сайт, і ми підтримували ці сайти. Доводилось сидіти вночі, бо клієнт міг подзвонити, і потрібно було з ним по-англійськи поговорити та дізнатись, в чому причина.
Після роботи у DevCom була ще серія компаній, через які я пройшов, а потім потрапив в ELEKS, де працюю майже чотири роки. У ELEKS я прийшов як R&D спеціаліст. Півроку попрацював у R&D на presale. Після цього з’явився проект, на який мені запропонували піти у якості ліда або архітектора, я одразу зголосився. Після цього я почав брати участь у розвитку community та працював на посаді competency manager з .NET та згодом доріс до хеда SEDO.
Я вважаю, що найважливішим є бажання робите, те що тобі подобається, тоді успіх гарантований.