Я открываю новую рубрику в блоге: “IT примет всех”, в которой профессионалы будут делиться своим жизненным опытом.
Первым будет Николай, со-основатель компании Кёниг Лабс, основатель и генеральный директор компании НП-Тех, мой давний знакомый.
Назови свою профессию и специализацию. Пусть испугаются вначале от умных слов. 🙂
Программное Обеспечение Вычислительной Техники и Автоматизированных Систем.
Как ты впервые узнал о компьютерах?
Году примерно так в 1987-88-м папа купил компьютер “Радио 86 РК”. Я был во втором классе или около того.
Когда сделал свой выбор в пользу IT? Была ли альтернатива?
Программированием интересовался вслед за старшим братом. Когда выиграл республиканскую олимпиаду и был принят в ВУЗ без экзаменов (а там было что-то около 200 человек на место) – определился окончательно. В моей голове никаких альтернатив никогда не было.
Расскажи о своих первых шагах в профессии, твой первый опыт, опыт джуна (начинающий программист — примечание Цифрового апельсина). Как тебя приняли более опытные? Какие сложности встретились вначале?
Первый собес (собеседование — прим. Цифрового апельсина) был в стиле Гугла — задачи на логику, математику, мышление. Это всё я прошёл с лёгкостью и считался в нашем молодом коллективе самой большой головой. Но вот дальше пошли сложности: в реальных задачах реального мира умение шурупить головой — это процентов 30 дела. Остальное — сидение на попе и педаленье кода. А это скучно и потому сложно. Было очень трудно заставить себя писать однообразный boilerplate код. Это приводило к затягиванию сроков и укрепление недоверия своему профессионализму. Так что я очень быстро провалился в долину отчаяния.
Расскажи о своём лучшем проекте (или просто похвастайся крупным достижением).
Моим самым интересным проектом был портал для бортовых навигаторов БМВ, который мы делали в Москве как часть очень крупного проекта по разработке новых набортных навигаторов. Там приходилось работать со смежными командами из Германии, Британии, Франции, Италии, Штатов. Было очень круто как с точки зрения инженерного опыта, так и с точки зрения масштабов. Ну, и культурный обмен был тоже интересен.
Какое самое крутое место работы из тех, в которых ты работал?
Самое крутое место работы – то, которое я создал сам. Кёниг Лабс изначально создавался, как компания, в которой хотел бы работать я сам, и всё выстраивалось с точки зрения того, как должны работать профессионалы.
Что лучше — работать из дома или в офисе? Плюсы и минусы обоих вариантов.
Лично мне лучше всего подходит гибридный режим. Работать полностью из дома я могу, только если живу один. Иначе постоянно отвлекают. Как-то пришлось работать 3 года подряд из дома с 2-мя, а в процессе уже и с 3-мя детьми. И в итоге для всех окружающих папа превратился в просто мебель, которую не надо трогать и отвлекать, а лучше всего попросту игнорировать. Такое себе.
Какие языки программирования и сервисы ты используешь сейчас?
Сейчас я в основном использую русский язык. 🙂
Самое главное в командной работе — чтобы каждый понимал, что он делает, зачем, почему. Что он ожидает от окружающих и что они ожидают от него. Без этого получается не команда, а просто набор крутых профи, почему-то выдающих фиговый результат.
Ну, а для каких-то простых автоматизаций всегда наготове питон (Python). Или жабаскрипт (язык программирования Javascript — прим. ЦА). Максимально простые инструменты без тяжёлых фреймворков и сред разработки. Хотя разрабатывал и на Шарпе (Язык программирования C# — прим. ЦА) и на Жабе (язык программирования Java — прим. ЦА).
Что надо знать, чтобы стать джуном?
Чтобы стать джуном, надо уметь запускать редактор кода и писать что-то, что запускается. Но это не будет хороший джун.
Чтобы стать прям хорошим джуном – нужно понимать и архитектуру компьютеров, хотя бы основы. И архитектуру ОС. И историю развития языков программирования и архитектуры систем. И базы данных. И основные паттерны разработки, принципы и лучшие практики. И иметь пару лет проектов за плечами.
Вообще, чтобы стать хорошим джуном, по-моему надо от 5 до 8 лет прям гореть программированием и осваивать базу. Но это долго и сложно, поэтому берут кого попало, а потом мучаются.
Если бы ты принимал на работу джуна, какие требования ты бы предъявил? И хард (знания и умения, применяемые в работе — прим. ЦА) и софт (человеческие черты, способность к коммуникации, психологические особенности) скиллы.
Я обычно проверяю даже не хард скиллы, а то, как человек общается. Сможет ли он вписаться в команду, будет ли комфортно ему и окружающим. Способен ли он понимать инструкции на человеческом языке, или он понимает что-то своё, а делает что-то третье. Как он рассуждает, как аргументирует свою точку зрения, как он подходит к решению задач. По хардам я прохожусь очень поверхностно, чтобы просто примерно понять область применимости кандидата. Дальше по хардам гоняют уже тимлиды.
Назови самую необычную профессию, которая тебе встретилась в IT?
Самым неожиданным когда-то стало то, что когда ты уже собрал команду – тебе вообще не надо ничего делать самому. Принести разработчику кофе и поговорить пару минут о том, как у него дела – гораздо полезнее, чем лезть в код и подсказывать решение задачи. Так что когда на стендапе менеджер говорит: “я сегодня ничего не делал для проекта” – это может быть просто офигенный менеджер. Вот это было самым неожиданным открытием.
Что хочешь пожелать будущим программистам и IT-шникам?
Программистам хочу пожелать помнить, что они работают не только с машинами, но и с людьми. Что в одно лицо можно сделать много – но не сделать по-настоящему великих вещей. Только коллективными усилиями.
Большое спасибо!