Как начинали свою карьеру технические топы украинских IT-компаний
Мы поговорили с техническими топами украинских IT-компаний и расспросили их о первых профессиональных шагах в карьере. Как им помогла первая работа, на каких языках они программировали и что запомнили из того времени.
Александр Демура, глава одесского центра разработки DataArt
Первая работа — программист в IT-отделе агентства недвижимости
Первая моя работа была в IT-отделе достаточно известного агентства недвижимости. Там сидели самые настоящие программисты и писали внутренние решения для учета строящегося жилья, аренды, продажи, обмена и т. п. Мне даже дали немного поглядеть через плечо одного из программистов в код — там были Oracle, Java 1.4 и даже использовался Apache Struts, что в начале
Помню непередаваемые ощущения от первого дня. Сижу, втыкаю в монитор, мышкой клик-клик, по клаве клац-клац, и снова сижу, разбираюсь. А вокруг народ по клавиатурам строчит, аж дым идет. Вот, думаю, скорость разработки же у людей! Наверное, под 100 команд в минуту! Не то что я тут, бездарь... Лишь спустя пару недель нашел объяснение феномену. Оказалось просто, что фокус в такие моменты был на окошке ICQ-клиента, а не в среде разработки, и они, оказывается, новичка обсуждали. Когда осознал это, работать стало значительно спокойнее, а вскоре я собрал у всех контакты, и моя скорость печати также волшебным образом повысилась.
Дальше все шло достаточно прозаично. Сначала меня даже боялись подпускать к коду — я проверял функционал, сравнивал отчеты с таблицами, проверял фильтры, сверялся с базой. Разумеется, мое любопытство было не остановить. По вечерам я пристально изучал код, читал статьи, а потом обнаглел настолько, что стал разработчикам рассказывать, как починить баги, которые я зарепортил. Потом освободилось место Java-разработчика, мне выдали ментора и разрешили писать код. Ментора я, разумеется, изводил вопросами, как мог. Например, зачем нужны бины и чем они отличаются от обычных объектов, зачем использовать тот или иной стандартный метод, если я могу написать свой не хуже, ну, и прочие джуновые заскоки в том же духе. Но он меня стоически терпел, многому научил, а потом активная фаза разработки закончилась, и он уволился. Новых проектов не подвезли, команда разошлась по другим компаниям, а я остался на поддержке — я ведь был самый дешевый, успел сунуть нос во все щели, и умел, несмотря ни на что, достигать целей.
Дальше начались отчаянные попытки компании найти себе новые проекты. Был некоторый фронт работ в плане дизайна, но из программистов я остался последним, и делать мне приходилось решительно все. То надо было верстать сайты, то интегрировать какие-то незнакомые библиотеки на C, то на PHP разработать портал для довольно крупного образовательного учреждения... На мои робкие попытки объяснить, что я не готов взяться (ведь у меня нулевой опыт!), директор клал руку мне на плечо и говорил, что я должен быть благодарен ему — ведь он дает мне отличную возможность научиться чему-то новому. Возражать далее я не смел, поэтому брал, разбирался и делал. А через полгода открывал свой код, смотрел в него, рыдал, но доделывал. Сейчас это, возможно, и смешно уже воспринимается, но на той работе я выработал отличнейший навык — делать то-не-знаю-что. Т. е. быстро вникать, разбираться, понимать ключевые закономерности, пробовать, ломать, чинить, снова пробовать, снова чинить, и, в конечном итоге, добиваться результата. Вообще, навык не бояться новых задач, и делать их, даже если с ними никто вокруг тебя никогда не сталкивался — он очень востребованный. Возможно, то, что я сейчас возглавляю отдел R&D-разработки для Healthcare-практики DataArt, в некотором роде — дань тому опыту.
Игорь Стареправо, Embedded Practice Director Luxoft
Первая работа — разработчик коммерческого ПО
Я учился на кафедре информационных автоматизированных систем в Национальном университете «Львовская политехника», где и получил первый опыт программирования в 1994 году. На тот момент существовало достаточно мало программистов, способных написать что-то под Windows. Будучи студентом и страдая от лютого безденежья, я купил на последние деньги книгу, единственную, которую мог себе позволить, — «Справочник по библиотеке OWL: написание кода для Windows». В реальности она представляла собой малоинформативную распечатанную инструкцию по библиотеке — я читал ее в перерывах между парами.
За этим занятием меня застал один из преподавателей кафедры, который предложил мне поучаствовать в его проекте. Перспектива иметь доступ к компьютеру, что само по себе было не слабым вознаграждением, конечно же, заставила меня согласиться. Сидя за компьютером и не имея совершенно никакого опыта, я с чистого листа начал писать код. Весь код. Как книгу. На это ушло месяца два. Затем месяц я боролся с ошибками компилятора, а затем столкнулся с ошибками линкера — чудовищем, с которым никто и никогда ранее не сталкивался. Отсутствие в то время интернета и людей, которые могут поделиться опытом, привели к успешному провалу этого проекта.
Несмотря на то, что мы получили скудные результаты, этот опыт был очень интересен, и я получил реноме человека, практикующего написание кода под Windows. Это не прошло незамеченным, и я был приглашен в компанию, которая занималась разработкой настоящего коммерческого ПО для украинского заказчика. Это и была моя первая оплачиваемая работа программиста. В компании «Интегратор» я работал над проектом для «Укртрансгаза» — участвовал в написании геоинформационной программы. Передо мной стояла задача написать библиотеку для передачи данных АТ по модему, однако как я полагаю, этот продукт так и не увидел своего релиза, поскольку компания достаточно быстро распалась.
Мой первый код — система передачи данных по ленд-модему, который точно ушел в продакшн, был написан для системы автономных проездов в Австралии. Мне достоверно известно, что код работает там по сей день и с удовольствием помогает перевозить по Австралии уголь. Система была достаточно комплексная и писалась большой командой, которая находилась в Украине и других странах по всему миру. Такой вот фрилансинг середины
Андрей Дулуб, Senior Delivery Manager в EPAM
Первая работа — разработчик банковской системы UniCorn
Закончив университет в 1996 году (мехмат Шевченко), я попал в команду разработчиков банковской системы UniCorn. Вооруженный знанием MS DOS 3.0, Basic and Pascal, я начал программировать на Ansi C под Unix. Параллельно изучал системное администрирование. Было не сложно, а супер сложно. Все непонятно, все чужое, но люди приветливые.
Первым моим подвигом стало выведение из строя одного из основных серверов банка в разгар рабочего дня. Простая программка на C, выводящая в цикле какую-то важную информацию в файл. Цикл оказался бесконечным, файловая система сервера наоборот. Работа банка была прервана на полтора часа.
Вторым подвигом было уничтожение пары файлов /etc/passwd и /etc/shadow все на том же сервере. Из-за отсутствия резервной копии, восстановление заняло около четырех часов. Сейчас это выглядит смешно. Тогда тоже было смешно, но гораздо меньше. Основным уроком для меня стало правило думать заранее и не экономить время на этом этапе. Не менее важный вывод- понимание, что бояться глупо.
С UnitCorn я провел 7 лет. С момента создания компании и до настоящего времени основное направление ее работ — системная интеграция в области банковских и крупных корпоративных проектов. Мои программы работали (а возможно, и работают) в десятках банков Украины.
Я искренне считаю эту команду своими учителями. Они научили меня работать, думать, принимать решения и отвечать за результат. Научили тому, что сделать хорошо любую работу — это самая сложная задача. Пользуясь случаем, Максим Навроцкий, Сергей Попович, Александр Курганов, Игорь Паламарчук, Игорь Шевченко — вы лучшие.
Иван Ролик, СТО Genesis
Первая работа — помощник в веб-студии
Моя первая работа была связана с ремонтом компьютеров. Я ещё учился в колледже и уже числился в небольшой компании саппорт-инженером по аппаратно-программному обеспечению: выезжал на вызовы, чинил компьютеры, устанавливал программы, чистил вирусы. Помню, что чаевых я получал больше, чем была ставка на основной работе.
Достаточно долго я был интровертным человеком, а здесь пришлось общаться с людьми. Это была первая работа с клиентом. Самое полезное, чему я тогда начал учиться, — это коммуницировать. Дальнейшая моя работа, какой бы она ни была, основывалась на взаимодействии с людьми.
А первая должность, связанная непосредственно с разработкой, — помощник в маленькой веб-студии. Помимо меня, были еще старший и младший разработчики, а я — вообще в подмастерьях. Мне давали самое неинтересное: наполнение сайта контентом и т. д. Позже старший программист поручил мне первое серьёзное ТЗ: создать форму обратной связи и научить сайт отправлять email на почту. Я абсолютно не понимал, что там нужно делать, но уже учился в колледже, была какая-то база по программированию (мой первый язык — PHP), и пришлось разбираться. Я справился, хоть и не без помощи синьора.
Антон Зотов, Associate Vice President, Engineering, GlobalLogic
Первая работа — инженер-программист на АЭС
Ещё во время обучения в институте я несколько раз проходил производственную практику на АЭС и делал полезные для них проекты. А так как по результатам обучения я выпустился с красным дипломом, мне было довольно просто трудоустроиться.
В 1999 году я стал инженером-программистом на атомной электростанции, занимался программированием и наладкой полномасштабного тренажера энергоблока АЭС — набора мощных серверов, который подключен к полной копии блочного щита управления (БЩУ).Тренажер, на уровне математических и физических данных, моделирует работу атомного блока. Он используется для тренировки персонала правильным действиям при возникновении аварийных ситуаций и работе в нестандартных условия на реальном энергоблоке.
Я программировал на языках Fortran и C в среде операционных систем UNIX и Solaris. Первое техническое задание было найти и устранить ошибку в системе. На тренажерной копии щита управления ядерным реактором одна из лампочек сигнализации при возникновении внештатных ситуаций вела себя не так, как на реальном энергоблоке. Мне поручили отследить и устранить причину.
Мне пришлось зарыться в огромные тома технической документации, перерыть тонны программного кода, потратить несколько дней, чтобы отследить, откуда именно идет ошибка. Тогда я только недавно выпустился из института и был ошеломлен масштабом и сложностью этой системы. Особенно впечатлило то, что человек вообще может такое создать и заставить работать.
Я вынес из опыта первой работы мотивацию всегда двигаться вперед. Сразу после выпуска из института моя квалификация как программиста была крайне низкой, уровень английского языка слабым, а опыт работы был очень ограничен. Я стал упорно заниматься английским, изучал языки программирования (С++, Java, Python), искал любые возможности найти практические задачи и даже подписался на пару проектов как фрилансер. Не все сразу получалось, но я не уставал параллельно искать работу программистом. И в какой-то момент меня взяли в киевский филиал бельгийской компании, которая занималась инновационными по тем временам решениями — 3D-принтерами и связанным с ними ПО.