Виталий Бобров, Front-end developer в Epam Poland (https://www.epam.com/). Активный участник мирового коммюнити, топит за ангуляр, участвует в челленджах, играет гитаре.

https://www.facebook.com/bobrov1989
https://github.com/vitaliy-bobrov
https://twitter.com/bobrov1989

Расскажи про свой первый рабочий проект:
Вначале фрилансил. Знакомый дизайнер подкидывал проекты, а я верстал. В основном, шаблончики для WordPress. Во-первых, - это деньги, во-вторых, дало мне возможность пройтись по костылям и писать самый разный код. Сейчас бы их никому не хотел показывать. Делали визитки, лендинги.

Девиз по жизни:
«Your only limit is you»

only_limit-is-you.

С чего ты начинаешь рабочий день?
Кофе - это уже традиция. Каждое утро прихожу в офис на 15-20 минут до начала рабочего дня, делаю кофе, выпиваю - и тогда уже можно работать. А после уже почта и смотрю, как планировать таски.

«Главное в проекте для меня - это идея, а дальше уже решаешь, что и как делать»

У тебя есть пет-проект?
Главное в проекте для меня - это идея, а дальше уже решаешь, что и как делать. Сейчас, к примеру, есть Open Source проект с CSS Properties. Я делаю для него PostCSS Plugin (https://github.com/vitaliy-bobrov/postcss-register-custom-props), который будет парсить CSS, находить проперти и генерить JS, чтобы зарегистрировать проперти. Полифилл, для второй версии спеки, которая только в планах (https://drafts.css-houdini.org/css-properties-values-api-1/). Мне понравилась идея, что это все в одном месте и будет удобно пользоваться.

Важен ли Open Source в контексте разработки?
Конечно, а куда мы без open source во фронт-енде? У нас 100% главных либ - это Open Source.

Вносишь ли свой вклад в Open Source?
Есть несколько своих проектов, и я контрибьютор в NgRx. Обещал ребятам, что сделаю им еще один Pull Request, правда, с этими поездками не было времени пока.

Как стать контрибьютором?
Во-первых, на гитхабе есть стандартные мануалы, или вот, к примеру, они проводят Hacktober Fest (https://hacktoberfest.digitalocean.com/), когда чуваки на проектах своих ставят лейбл «Hacktoberfest», чтобы привлечь внимание комьюнити. Если делаешь 4 Pull Request’a, тебе присылают футболку. Проводится ивент каждый год в октябре. А вообще, нужно просто искать issue и фиксить, и подавать PR (Pull Request). Иногда в репозитории выставляют лейбл «Accepting PR’s» или подобный.Выбрать проект и прочитать контрибьюшн документацию.

Как правило, в больших проектах есть contribution.md, в котором описано, как начать делать Pull Request, как форкнуть, как назвать бранч, как именовать коммиты (пример: https://gist.github.com/stephenparish/9941e89d80e2bc58a153). Так как часто делают автоматические релизы и нужно, чтобы были определенные правила коммит месседжей. Например, «fix – что-то в таком-то модуле».

Как ты оцениваешь задачи?
Прикидываешь, сколько тебе нужно времени и добавляешь процентов 30. Это плюс-минус будет правдой.

Необходимо расчитывать, что всегда будут неожиданные вещи. Например, ag-grid (https://ag-grid.com) в демках выглядит простым, а когда начинаешь «прикручивать» в проект, начинаются проблемы.

«Тема доклада может быть стимулом выучить что-то новое»

Как ты выбираешь тему доклада?
Доклад всегда - то, с чем экспериментирую. Ищу что-то уникальное - про что мало кто говорил еще. Плюс, тема может быть стимулом выучить что-то новое. Я вот поеду в Норвегию про Flutter с Dart-ом рассказывать. Уже игрался с ним, но это повод его разобрать более глубоко и детально.

Сколько времени уходит на подготовку доклада?
Обычно много: пару полных дней или вечером на слайды иногда пишу себе заметки, чтобы был какой-то запас слов, но не заучиваю.

Сколько у тебя выступлений за этот год?
За этот год уже много, весна получилась активная. Слетал на NgVikings (https://ngvikings.org/), NgConf (https://www.ng-conf.org/), Krakow JS (http://conf.krakowjs.pl/), JSDay Italy (https://2018.jsday.it/) и Code Europe (https://www.codeeurope.pl/en). Этим летом выступал на VinnytsiaJS (http://vinnytsiajs.org/), Ng Talks (https://ngtalks.io/), GrillJS (https://grilljs.com/).

Чем отличаются наши конференции от европейских?
У нас более закрытое комьюнити. Движение идет: приглашают спикеров внешних, потому что раньше, как правило, только наши выступали и это минус, т.к. комьюнити не имеет масштабного развития. Плюс, нужно внедрять английский в ивенты, поскольку потом могут быть и посетители внешние. Вот YGLF был полностью на английском. И это было рекламой не только самого ивента, а также рекламой для комьюнити - люди могли из других стран приезжать.

«Главное, зацепить своим топиком и описанием»

Как стать спикером на конференции в Европе?
Мне кажется, на наши иногда сложнее попасть. Вне Украины есть стандартная CFP форма и все. Главное, зацепить своим топиком и описанием. Потому что, как правило, организаторы отбирают контент анонимно. Решают по названию и описанию.

Задача-айсберг, которая тебе попалась:
Да тот же Ag-Grid (https://ag-grid.com). Это было весело, потому что у них совсем другая философия грида, он более ООП ориентированный и пришлось повозиться.

3 книги, которые тебя впечатлили и почему?

Известно, что разработчики страдают синдромом самозванца, актуально ли это для тебя?
Конечно. Особенно, когда приезжаешь после какого-то ивента домой, где встретил столько гениальных людей. Приезжаешь на ngConf и чувствуешь себя «дном» каким-то, потому что рядом ребята из Angular core team. И иногда думаешь: «Что у них в голове происходит, что они такое пишут».

RxJS тот же. Причем в общении они обычно простые. Бред Грин, к примеру, одевает футболку «You can sit with us». Они наоброт хотят пообщаться, потому что когда ты девелопишь фреймворк, ты не знаешь всех кейсов и какие у них проблемы. Пообщавшись, ты сможешь оставить свой фидбек.
Brad_Green

3 фактора, которые тебя привели туда, где ты есть:
Жена и ребенок - это два главных стимула. Косвенно - community & public speaking.

Какое у тебя хобби?
Играю на гитаре и еще нескольких инструментах, например, даже на бандуре.

Спустя сколько времени новый человек начинает приносить пользу на проекте?
С первым коммитом. А вообще, необходимо где-то полгода, чтобы ты был продуктивным на проекте, знал где что лежит, и чтобы «въехать» в проект. Зависит от компании: во многих неделю только подписываешь документы и настраиваешь окружение под себя. Думаю, недели две и люди пробуют что-то делать.

Твой любимый технический термин:
Serverless – сервера нет, но он есть.

«Есть синдром аутсорсера, когда люди побывали на куче плохих проектов и у них пропадает вера в хорошее, они плывут по течению»

В чем разница подходов в аутсорсе и продуктовой компании?
Тяжело сказать, потому что я не работал с продуктом. Могу сказать про аутсорс. Есть синдром аутсорсера, когда люди побывали на куче плохих проектов и у них пропадает вера в хорошее, они плывут по течению. В аутсорсе можешь выгореть и перестать переживать за качество. Мой выход - OSS & Events.

У тебя не всегда есть видение, как ты влияешь на продукт, либо фидбек не получаешь от кастомера. А в продукте ты обычно знаешь, на что ты повлиял и видишь в цифрах. Установки приложения, например. В продуктах шире круг задач, как правило.

Как прокачивать hard skills?
Писать код. Садишься и пишешь код - другого пути нет. Книжки читать или смотреть видео - не поможет.

Как прокачивать soft skills?
Иногда в компаниях бывают тренинги, а в принципе, нужно следить, чтобы не быть грубым. Даже, если ты гений-кодер, с тобой просто не захотят работать. Есть даже код-ревью этикет, чтобы не переходить на личность. Если человек напортачил, нужно писать: «этот код не работает» и причину. Важно понимать, что это не его личный код, а общий.

Какой сейчас вызов в жизни?
Качать алгоритмы и решать задачки на доске. Whiteboard coding.

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

В ближайшее время на каких конференциях тебя можно будет увидеть?
Осенью планирую выступать на Ruhr JS (https://ruhrjs.de/ - 13/14 октября), после на Mobile Era (https://mobileera.rocks/ - 1/2 ноября, Осло), также буду на JS Poland (http://js-poland.pl/ - 16 ноября в Варшаве) и в начале зимы на FrontEnd Con (https://frontend-con.io/ - 4-5 декабря в Варшаве).