«Любой уважающий себя айтишник занимается технологиями и в свободное время» — 10 вопросов программисту, выпуск 6

lucmlnz7k15blp1ssni2atbutse.jpeg

Завершающий выпуск »10 вопросов» из Берлина. На этот раз беседуем с Артемом Никитиным, который живет в Берлине, но по-прежнему регулярно летает в Москву. До переезда занимался тестированием бэкенда в Qiwi, а в августе 2015-го согласился на приглашение HERE Technologies. Первый разговор с новым работодателем состоялся во время путешествия в Гонконг — в отеле Mira. В том самом, где Сноуден давал знаменитое интервью Guardian, которое изменило всю его жизнь. Совпадение? Артем не уверен и хочет как-нибудь проверить еще раз.

Новая должность в Here называется System Engineer, что в России в зависимости от команды может называться DevOps, сисадмином или SRE. В Here Артем отвечает за CI и все вокруг этого.

7hjsxofrxvgczisp6u6zdofitbe.jpeg

1. Расскажи о фиче, которую ты реализовал и которой гордишься.


В прошлом году я начал пилить go-имплементацию одной из библиотек, которую мы заоупенсорсили недавно — Flatdata. На сегодняшний день — это, наверное, моя самая большая ачивка как инженера. Эту библиотеку используют в одном из наших ключевых сервисов, однако имплементацию я делал в свободное от работы время, просто for fun.

2. А теперь — про самый лютый факап.


Самый дурацкий случай был несколько недель назад. На CI на Jenkins нужно было настроить несколько новых джобов. В джобе было несколько шагов: сначала скачивались файлы, создавались какие-то директории, потом — git-клон через команду в пайплайне. Но на следующих этапах возникала проблема — файлов, которые создавались на этапе сетапа, не было! Я стал копать, выяснять, нужные ли установлены права и все в таком духе. Потратил на это один или два дня. А оказалось что дженкинсовский плагин для гита во время создания клона по умолчанию удаляет все содержимое директории, куда ты делаешь клон. Соответственно, весь тот сетап, который я делал на первом этапе, был удален. А решение проблемы заключалось в том, чтобы просто поменять шаги местами.

3. Опиши свое рабочее пространство: от кресла и монитора до сред программирования и любимых утилит.


Сейчас в Here внедряется концепция Smart Office. За человеком нет закрепленного стола — приходи и бери любой. Есть несколько нюансов в таком подходе. Некоторые люди по инерции занимают одно и то же место. А есть ребята, которым по состоянию здоровья, например, не подходит любой стол и стул. Но в целом система вроде работает.

puaomgvuddqll8k-noe14ut8-py.jpeg

Лично я в плане рабочего места очень аскетичен. Из железа у меня только ноутбук, и мне не нравится использовать дополнительный монитор. Меня он скорее отвлекает, чем помогает. Поэтому у меня просто MacBook Pro 15» — в топовой конфигурации 2015 года, когда его покупали. А остальное — стол, стул…

Наша команда создает решения для мобильных устройств, поэтому у нас Xcode для iOS и Android Studio для Android. GoLand — для гошечки. В общем, стандартные утилиты.

4. По какому принципу ты выбираешь работу? Стек, продукт, бытовые условия, деньги?


Для меня главный критерий — вызов, сложные технологические задачи. Причем они могут быть и вполне обыденные, но каждый раз на новом месте их решение будет другим, со своими нюансами. Если взять построение полноценного CI/CD-пайплайна, то это будет по сути уникальная задача, потому что продукт другой и команда другая. У Келси Хайтауэра есть на эту тему замечательная фраза: «CI — это описание корпоративной культуры bash-скриптами».

Деньги, безусловно, важны — мы же живем в материальном мире. Но стоят они не на первом месте. Если бы стартап мне предложил очень интересную задачу, но за реализацию платили меньше денег, чем я привык, я бы рассмотрел предложение. Но пока таких предложений не поступало. Зато была куча странных предложений, когда денег вообще мало и непонятно, что это и зачем.

5. Что в технологиях и языках, которые ты используешь, ты бы хотел исправить?


В Go есть всем известная проблема с управлением зависимостями. Она только начинает сейчас решаться. У «Гугла» такой проблемы нет, поэтому они ее никогда и не решали. И только когда комьюнити прожужжало им все уши, они стали думать. Вроде потихоньку движется, и есть надежда, что со временем Go станет более зрелым и приблизится в этом плане к Java, например.

В принципе IDE, которые делают в JetBrains — одни из лучших. Но, бывает, в чьих-то других продуктах встречаешь фишечки, которые прям нравятся. Поэтому в идеале хотелось бы иметь какую-то такую идеальную убер-IDE. Но это из разряда фантастики.

6. Где лучше перенимать чужой опыт — в вузе, на конфах, на хабре? Еще где-то?


Смотря для каких целей тебе нужен опыт. Учить по книгам особенности последней React.js не стоит. Там все устаревает с такой скоростью, что книги не помогут. Но базовые вещи — вполне. «Компьютерные сети» Танненбаума, что-то об устройстве операционных систем, книги о базовых концепциях в программировании — все это актуально и сейчас.

Высшее образование у меня техническое, но я бы не сказал, что оно мне очень помогло. Возможно, был не самый лучший ВУЗ, или я не очень хорошо учился, но в моем случае особой ценности образования я не увидел. Конечно, это не выброшенное на ветер время — в ВУЗе тебя учат, как работать с информацией и искать решения —, но и особой пользы от этих пяти лет я не ощущаю. Возможно, это особенность образования в России — во время обучения непонятно, как ты полученные знания можешь применить в реальном мире. Я только позже узнал, что нам преподавали на самом деле крутые вещи, которые используются в теории игр. Но то, как нам это рассказывали, напрочь отбивало все желание.

Мне нравятся курсы на Coursera, они классные и намного полезнее в каких-то аспектах, чем классическое высшее образование, которое я получил.

Конференции — это круто. Я даже выступил на трех в этом году: Selenium Camp в Киеве, Heisenbug в Питере и DevDays в Вильнюсе. Они все были в первой половине года, и я так сильно устал, что взял небольшой перерыв. Но зато я получил опыт в выступлениях, пообщался с людьми — как со спикерами, так и со слушателями. Общение в кулуарах — это, наверное, самая ценная часть любой конференции.

7. Будь у тебя неограниченные ресурсы (время, деньги, мощности, люди), каким проектом ты бы занялся?


Да, я бы все равно остался в IT и продолжил бы этим заниматься, потому что мне это интересно. У меня нет каких-то глобальных проектов, типа «осчастливить все человечество».

Если посмотреть за пределы IT, то самое реальное — прикупить себе квартирку или дом в Гонконге и проводить там больше времени, чем 1–2 раза в год, как сейчас получается.

В последнее время витает идея привезти в Берлин рестораны Din Tai Fung и Tim Ho Wan. Ключевой момент — передать вкус максимально близко к оригиналу. В Берлине все димсамы в лучшем случае так себе, в Москве, к слову, тоже. «Китайские новости», которая по сути копия Din Tai Fung, в плане дим самов очень средне. Огурцы у них огонь — практически как в гонконгском Din Tai Fung, только не такие острые. А все остальное средне. На самом деле, в плане людей я даже знаю, кто бы мог мне помочь в этом. У меня есть знакомая, ее зовут Фиби, она родом из Тайваня — родины Din Tai Fung — и при этом повар, училась у знаменитых французских поваров.

8. Как ты отдыхаешь? Что делаешь кроме работы?


Любой уважающий себя айтишник занимается технологиями и в свободное время тоже — кто-то больше, кто-то меньше, но мне, кажется, все. Но если выйти за пределы IT, то я хожу на тренировки по крав-мага и кикбоксингу — никаких поясов, just for fun. Единоборства для меня выгодно отличаются от просто тренировок в зале, которые меня не привлекают совсем.

В остальном — стандартно: люблю посмотреть сериалы, почитать книжку, поиграть в PlayStation. Хотя все это занимает у меня сейчас меньше времени, чем раньше. Тем не менее, не жалею о потраченном времени. Из последнего могу посоветовать израильский сериал о том, как спецслужбы борются с террористами — «Фауда» — выходит на Netflix.

9. Расскажи про 3 любимые книги — учебную, научно-популярную и художественную

.
Из учебной литературы имеет смысл почитать базовые книжки. Того же Танненбаума — об устройстве операционных систем и сетей. Хотя с Танненбаумом нужна сила воли. Я обычно засыпаю, когда его читаю.

А если ты читаешь какие-то книги по программированию, то имеет смысл прочитать главу, переключиться в IDE и там попробовать имплементировать то, о чем говорили в главе.

За пределами IT я давно уже не читал книг, честно говоря. Из того, что давали в школе, в том возрасте ты воспринимал только поверхностные вещи, а то, что реально было заложено автором, проходило мимо тебя, потому что еще нет жизненного опыта, чтобы такое понять.

Из детства запомнились «Граф Монте-Кристо», «Крестный отец» (причем книга сильно лучше, чем фильм). А сейчас в Kindle у меня есть классная книга «Проект «Феникс» — книга о DevOps, которая описывает существующие в IT проблемы. Я настолько увлекся, что прочитал ее за ночь.

Еще отметил бы писательницу Айн Рэнд — нашу бывшую соотечественницу, которая переехала в США. Мне ее книги кажутся очень неоднозначными, но ознакомиться с ними стоит. Я бы порекомендовал «Гимн» — это, кажется, одна из первых ее книг и очень короткая, в отличие от последующих. «Атлант расправил плечи», она же размером с «Войну и мир»! Прочитать такое — это почти подвиг.

10. Если прямо у тебя на глазах в ИИ проснется сознание, что ты ему скажешь?


Все, что сейчас называется «искусственным интеллектом» — это софт, заточенный под решение конкретных задач. Настоящий интеллект — дело не ближайшего времени. Но если бы с ИИ действительно можно было поговорить, думаю, я бы пошутил. Эмоции — это та область, где ИИ будет еще долгое время отставать очень сильно. Ведь эмоции — это не рациональная вещь. Полагаю, реализовать это будет чрезвычайно сложно.

Вопрос от предыдущего гостя:

Предложи стратегию прокачки после первых пяти лет работы программистом. Что дальше?

У меня уже больше пяти лет опыта и мне кажется, что нет ограничений из серии »2, 5 или 10 лет». Если ты хочешь быть инженером и оставаться актуальным, то обучение должно быть постоянным. Нужно пробовать новые языки, инструменты, фреймворки, подходы. Иначе ты останешься за бортом. Но это не обязательно плохо — тот же COBOL до сих пор актуален, и люди, которые разбираются в нем, зарабатывают много денег.

Бонус: задай вопрос другому разрабу


Почему ты решил пойти в ИТ?

Предыдущие выпуски

© Habrahabr.ru