Иван Шаматов: как написать деньги

Автор: admin от 11-09-2019, 04:05, посмотрело: 25

Привет!



Мы готовимся к предстоящей конференции RubyRussia 2019 (вы уже отметили в календаре 28 сентября?) и беседуем с нашими спикерами о жизни, комьюнити и программировании. В сегодняшнем интервью Феликс Яснопольский из Evrone общается с Иваном Шаматовым: лидером Saint P Ruby Community (тут можно присоединиться к уютному чату сообщества в Telegram) и VP of engineering в Cybergizer.



Иван Шаматов: как написать деньги



О чем будет твое выступление на предстоящей конференции?

concurrent gem и увидеть кучу инструментов из Go, Clojure, Java и javascript. Мне нравится, что в разных языках необходимо использовать разные способы мышления. Есть люди, которые переходя с Ruby на Go сохраняют принципы Ruby-мышления. Или приходят в Ruby с принципами из PHP. В программировании так не работает: у каждого языка свой подход, свой воркфлоу, свой mindset. Нужно понимать, как правильно писать программы именно в рамках конкретной технологии.



Мне очень интересна мобильная разработка: те же паттерны, тот же MVC, но все работает совсем по-другому. Очень интересно было изучать React и Redux — отличная репочесалка для типичного рельсовика :)



Расскажи о своих самых больших провалах и поводах для гордости.



Я могу гордиться проектами, в которых участвовал, к которым приложил руку. Например, проект, который дает возможность оплатить paypass картой аэроэкспресс в Москве. Эта же система используется в метрополитене Казани. Я писал и клиент для турникетов на JRuby, и бэкенд на Rails, который обслуживает эти транспортные транзакции, работает с различными API. Это был очень интересный проект, при этом в нем участвовало всего три разработчика.



Факапов не стыжусь, даже когда они случаются. Человек имеет право на ошибку. Ошибся — и больше так не делаешь.



Одно из твоих занятий — менторство. Почему ты занимаешься этим?



У меня самого всегда были менторы, которые подсказывали, что и как делать. Это ребята из разных чатов, люди, с которыми я общался на конференциях и митапах. Когда я достиг определенного уровня, сам стал менторить как офлайн, так и онлайн. Сейчас я занимаюсь с людьми, которые пришли к нам из Rubizz’ы. Это один из моих основных проектов на сегодняшний день, интенсивное практическое изучение Ruby для новичков. Ребятам предоставляется максимальная свобода действий и право на ошибку. И только после того, как шишки набиты, ментор объясняет, почему это была ошибка и почему так делать не стоит. Я считаю, что это правильный подход: какие-то вещи нельзя понять, пока не соберешь эти грабли сам. Если ты никогда не использовал коллбеки неправильно, то не поймешь, в чем может быть проблема с ними. И почему многие в сообществе ненавидят коллбеки.



Я слышал, что ты пытался попасть в команду Toptal шесть или семь раз. Это правда?



Да, это правда, я много раз об этом рассказывал. Toptal вел агрессивную, или правильнее сказать, проактивную политику по найму с момента старта компании. Меня приглашали на собеседования где-то раз в год. После многократных неудачных попыток я решил, что больше и не буду пытаться. Но мой приятель, с которым мы когда-то начинали наш путь в Ruby, устроился туда работать и предложил мне попробовать еще раз. И в этот раз я таки смог пройти все этапы собеседования. На входе есть большой технический тест, потом собеседование, потом еще одно, и еще… И теперь я считаю, что проводить по 5–6 этапов собеседований — это очень крутая практика. Только так ты можешь понять кто перед тобой, хочешь ли ты работать с этим человеком, впишется ли он в команду. И я понимаю, почему меня не брали в первые разы, я и правда тогда не тянул.



Как, на твой взгляд, должно быть устроено идеальное собеседование и процесс приема на работу?



Когда я помогал с отбором людей в предыдущую команду, Cryptopay, у нас было два этапа. В качестве тестового задания мы давали кусок кода на рефакторинг. По этому фрагменту кода мы делали предварительную оценку кандидата. Потом проводили собеседование в формате лайвкодинга, чтобы понять, подходит ли этот человек именно нам. Лайвкодинг позволяет понять, как человек думает. Можно оценить не только то, что написано, но и то, как разработчик пользуется операционной системой, IDE, знает ли хоткеи, насколько глубоко понимает определенные темы, какие применяет подходы, какие вопросы задает коллегам в процессе. Такой подход дает намного больше информации о человеке, чем тест или интервью об алгоритмах.



Но я считаю, что и этого недостаточно. Сейчас, в Cybergizer, я чаще всего нанимаю людей, с которыми уже работал. Есть люди, с которыми мы не работали, но вместе писали какой-то open source. Такая совместная деятельность позволяет увидеть, как человек пишет код. А еще ты понимаешь, насколько совпадает ваш воркфлоу, насколько вы ментально близки.



Я не считаю себя экспертом по найму, мой подход тоже дает осечки. Одна из моих недавних ошибок: я не хотел брать человека после лайвкодинг сессии на интервью, он меня не впечатлил. Но другие члены команды проголосовали за него, и мы стали работать вместе. И в совместной работе я понял, что это высококлассный специалист. Был и абсолютно противоположный случай, когда я всеми руками был за человека, а он как разработчик из себя ничего не представлял. После этих двух случаев я не готов судить о правильности какого-то конкретного способа найма. Может повезти, может не повезти. Перефразируя известную шутку:

— Как вам удается нанимать таких хороших разработчиков?

— Это всё опыт найма хороших разработчиков!

— А как получить такой опыт?

— Надо нанимать разных разработчиков.



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



Ты организуешь в Питере митапы и конференцию Saint P Rubyconf. Почему и зачем ты это делаешь?



Это часть Ruby культуры — контрибьюшн в сообщество. Кто-то вкладывается кодом, пишет opensource. Я вношу вклад тем, что у меня получается. Многие думают, что для того, чтоб внести какую-то лепту, нужно быть семи пядей во лбу. Но это не так! Почти 10 лет назад, когда я был в самом начале пути в Ruby, я с командой ребят переводил на русский и озвучивал RailsCasts. Так что каждый может быть полезным всему сообществу: не важно, обновляешь ли доку в геме, пишешь статью или организуешь митап.



Увидимся на RubyRussia 28 сентября!



Смотрите программу и присоединяйтесь тут, следующее повышение цены ожидается после 15 сентября.



Спасибо компаниям, которые нас поддерживают:



Организатор — Evrone

Генеральный партнер — Toptal

Золотой партнер — Gett

Серебярные партнеры — JetBrains, Bookmate и Cashwagon

Бронзовый партнер — InSales

Источник: Хабр / Интересные публикации

Категория: Веб-разработка

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите два слова, показанных на изображении: *