В Blacklane у нас есть разнообразная и растущая команда инженеров. Каждый месяц среди нас появляются новые лица, часто пополняя длинный список стран, которые здесь представлены. Мы начали эту серию интервью, потому что хотели дать нашим разработчикам возможность рассказать нам о своем прошлом, поделиться своими интересами и ответить на вопрос: «Как вы оказались в Blacklane?»

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

В этом месяце мы хотим познакомить вас с Чикахиро. Чикахиро - старший серверный разработчик, присоединившийся к Blacklane в феврале 2018 года.

Откуда вы и какова ваша минимально жизнеспособная автобиография?

Я из Фукусимы, Япония. Я вырос в маленьком городке в горах, а затем переехал в Токио, чтобы поступить в университет. Я прожил там 10 лет и приехал в Берлин около двух лет назад. До приезда в Берлин я более четырех лет работал внештатным разработчиком в Токио. Я предпочитаю работать со стартапами. Более подробную информацию вы можете найти на моем сайте: http://ctokoro.me/.

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

Когда я учился в университете и изучал экономику, я проходил стажировку по продажам в ИТ-стартапе, где продавал какой-то рекламный пакет компаниям. После года продаж я заметил, что продаваемый мной продукт не был хорошего качества. Я плохо разбирался в продажах, потому что не хотел продавать что-то некачественное, даже если это была моя работа. В то же время я думал, что если я смогу сделать продукт сам, я смогу продать его с уверенностью и буду настолько безрассудным, насколько хочу. Я поговорил с коллегой в офисе стажировки и спросил, какой язык программирования подходит для начинающих, и она ответила Руби. Поэтому я перешел в компанию, известную тем, что использует Ruby, и начал стажировку в инженерной сфере в 2006 году. Теперь мне нравится писать код, зарабатывая на жизнь как постоянный разработчик.

Мне повезло. В то время это было похоже на ночь перед внезапным распусканием цветов - Ruby не был так хорошо известен, как сейчас, но многие великие программисты были активны в сообществе Ruby. Например, мой коллега, который порекомендовал мне Ruby, стал коммиттером ядра Ruby и менеджером по выпуску версии 1.9. Это был действительно большой выпуск для Руби, и она написала книгу о Ruby для издателя O’Reilly Japan. Меня окружали разработчики, которым очень завидовали, в стране, где родился язык программирования. Создатель Ruby - японец, и многие коммиттеры Ruby - японцы.

Однажды я уволился с работы из-за болезни. В этой компании я писал код на COBOL, Java и Delphi в костюме, и это не было весело. Пока болел, думал о карьере. Я спросил себя: «Я действительно хочу быть разработчиком?» Я хотел проверить себя. Итак, я нашел компьютер и попытался что-то на нем сделать. Я поигрался с кластером MySQL и подключил его к серверу на моем домашнем ноутбуке и обнаружил, что был очарован процессом их настройки! Тогда я понял, что мне действительно нравится заниматься разработкой программного обеспечения.

Что привело вас в Blacklane?

Я попал случайно. Я боролся с поиском работы в Берлине. Никто ничего не знал о моей карьере, так как я когда-либо работал только с японскими компаниями, и у меня почти не было связи с местными жителями. Кроме того, я плохо знал английский. Было тяжелое время. Я пошел на встречу с Ruby для поиска работы и произнес минутную молниеносную беседу перед всей группой. Затем один парень попросил меня прийти на собеседование, и я получил от них предложение. Блэклейн был хозяином той встречи.

Что вы, как разработчик, относитесь к жизни и работе в Берлине?

Что ж, Берлин спокойный и очень разнообразный. Я могу побыть здесь наедине. По сравнению с Токио, Берлин - город небольшой и спокойный - менее шумный, с меньшим количеством людей. Что касается сообщества программистов, мне кажется, что Токио более активен, чем здесь, но это может быть мое неверное толкование, потому что я думаю, что я еще не очень хорошо интегрирован с сообществом здесь. Что касается стартап-экосистемы, я думаю, что Токио также более зрелый, чем Берлин. Да, в Берлине много стартапов, но многие из них находятся на ранней стадии, как Seed / Series A, но в Токио нетрудно найти стартапы более поздней стадии, даже те, которые уже прошли IPO или уже были приобретены. , но опять же, я могу ошибаться, я не был в Берлине так долго.

Но в целом японские компании действительно отечественные. У нас большой внутренний рынок, поэтому нет необходимости ехать за границу для ведения бизнеса, чтобы выжить. Но мы тоже плохо говорим по-английски, поэтому у нас сильный языковой барьер, а 99 процентов разработчиков, работающих там, - японцы, так что мы монокультура. Я полагаю, что это также одна из причин, по которой японские компании стремятся оставаться внутри страны. Я не говорю, что в Японии хорошо / плохо - у всего есть свои плюсы / минусы, - но лично я предпочитаю жить в более широком мире.

Почему вы предпочитаете строить жизнь за пределами Японии? Планируете ли вы когда-нибудь вернуться?

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

Если бы я остался в японском мире, то я мог бы общаться только с другими японцами и получать информацию только на японском языке или японский перевод новостей. Теперь, когда я говорю по-английски, шкала совсем другая.

Если бы я говорил только по-японски, то в своей карьере я бы застрял в Японии, потому что у меня не было бы коммуникативных навыков, которые я мог бы использовать где-либо еще. Это означало, что я бы действительно зависел от Японии, и я думаю, что это риск. Все может случиться. Если бы Япония затонула, как Титаник, у меня не было бы никаких шансов, потому что у меня не было бы никакой лодки.

В настоящее время у меня нет планов вернуться в Японию. Я не уверен, что буду делать в будущем. Мне нравится Берлин, и я планирую остаться здесь на некоторое время.

Почему вам нравится часами смотреть на экран каждый день, манипулируя символами, которые говорят машине, что делать?

Я не верю, что просто играю с машинами. Программное обеспечение - это способ решения проблемы. Исходный код - это всегда тень реальности, и на самом деле я работаю для людей.

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

Как вам работа в команде по сравнению с работой в одиночку?

Есть плюсы и минусы. Я предпочитаю работать в команде, иначе я чувствую себя одиноким (наверное, это моя личность). Работа в одиночку может быть чрезвычайно продуктивной, если вы хорошо умеете управлять собой. Но мне не нравится все время работать одному. Я попробовал это однажды, но обнаружил, что чувствую себя одиноким и изолированным. Иногда это хорошо или временно, но не всегда. Думаю, я просто не такой. Кроме того, если я работаю с командой, я могу узнать разные вещи от других членов команды, например, как решить проблему, как / почему мы можем выбрать один технический стек вместо другого, и это может привести к лучшей работе, чем то, что я делать в одиночку. Я предпочитаю это.

Есть ли у вас любимые языки, технологии или фреймворки? Что тебе в них нравится? Есть ли что-то, что вы втайне презираете?

Ruby on Rails - моя основная технология. Я очень, очень ценю Ruby и Ruby on Rails, потому что они подтолкнули меня к моей инженерной карьере, даже в Берлине! Они буквально спасли мне жизнь и предоставили мне работу и средства к существованию. Я не могу себе представить, что бы я делал, если бы этого не существовало.

Что касается моей любимой технологии, я бы сказал, что мне нравится TDD. Первоначально я думал, что это просто Test First, что является типичным недоразумением, но в конце концов я понял, что это инструмент для разработки «чистого кода, который работает» с помощью принципа Test First. Когда я впервые попробовал сделать TDD, я был так удивлен преимуществом. Кроме того, очень интересна история TDD, например, чикагская и лондонская школы, двойные тесты, движение BDD и т. Д. Я предполагаю, что есть много других техник, которые я знаю только как названия, но я не знаю точно что они имеют в виду. Они в моем списке дел для обучения.

С точки зрения языка мне нравится шелл-скрипт. Он мощный, расширяемый, и вы можете многое сделать для перенаправления с помощью простого stdin / stdout и комбинации команд. Меня интересует философия Unix, лежащая в основе языка. Но насколько мне известно, для него сложно писать тесты и поддерживать его, поэтому я бы не стал выбирать этот язык для написания приложений. В противном случае это полезно для простой обработки текста или специальной автоматизации.

Втайне я презираю Ruby on Rails, хотя я тоже очень его ценю. Ладно, это не вина Rails, это моя вина.

Например, ActiveRecord, шаблон ActiveRecord, упомянутый в книге Шаблоны архитектуры корпоративных приложений (PoEAA), из которой изначально возникла концепция Rails ActiveRecord, является одним из архитектурных шаблонов источника данных, наряду с другими шаблонами, такими как Data Mapper. . Но когда я начал свою карьеру с RoR, я не знал никаких других шаблонов, поэтому я полагал, что ActiveRecord - это все, а жестко связанный Rails-MVC всегда был подходящим вариантом. Я также понятия не имел о других архитектурах, таких как шаблон репозитория, чистая архитектура, источники событий и т. Д.

После этого я столкнулся с несколькими большими монолитными приложениями Rails, которые было трудно поддерживать большой командой, и я не был уверен, почему это произошло. Я начал искать решение и понял, что не знаю контекста, почему Rails был таким популярным, таким продуктивным по сравнению с другими фреймворками, а также на то, что указывают закон Конвея и обратный маневр Конвея. Опять же, это не была вина Rails, я просто ничего не знал.

Считаете ли вы, что дизайнерские решения в программном обеспечении часто диктуются, а может быть, даже слишком сильно, выбором технологий? Например, работая исключительно в RoR, можно ли упустить лучшие способы работы? Или вы думаете, что навыки и шаблоны можно передать другим людям?

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

Мы видим концепции через язык. Мы видим мир через наш язык. Если слова не существует в известном мне языке, возможно, я не понимаю его концепции. То же самое и с языками программирования. Если у нас нет «слова» для чего-то, возможно, мы его не увидим. Конечно, компьютер может видеть все, что угодно, но язык - это инструмент, с помощью которого мы можем понять мир.

Что вы ищете в компании, когда собираетесь устроиться на работу? Что для вас наиболее важно?

Прежде всего, он должен соответствовать моим ожиданиям и возможностям, таким как мой набор навыков, план карьеры, жизненный этап, зарплата и часы работы. Во-вторых, лично я не хочу работать с компанией, у которой нет продукта, который мог бы сделать мир лучше.

Следующее, что для меня важнее всего в компании, - это ее люди - вот и все. На ранних этапах стартапа важнее всего личность основателя. Я видел много стартапов, отражающих культуру, заложенную их основателями. Когда я присоединился к Blacklane, компания была уже довольно большой как стартап и росла до зрелости, так что все было немного по-другому. Так что в этом случае важен начальник, с которым я буду работать. Что касается компании в целом, для меня также важны концепция и видение компании, потому что они представляют характер компании.

Я знаю, что наша компания - не лучшая из лучших, у нас есть много возможностей для улучшения, но продукт хороший, а люди такие милые, и это потрясающе. Я вижу, что вся наша компания имеет культуру, ориентированную на людей, независимо от того, в каком отделе, и это просто потрясающе. Опять же, я считаю, что люди - это все. Я считаю, что пока люди правы, любую проблему можно решить.

Как вы думаете, какую роль в мире играют разработчики? Мы просто пассивные кодовые роботы или несем ответственность за влияние нашей работы на общество?

Конечно, мы несем ответственность за общество, но для меня это определение работы (иначе кто платит за вашу работу?). Что касается работы, я не вижу ничего особенного в самой роли разработчика, которая аналогична позиции моего коллеги Филиппа. Но я горжусь тем, что являюсь разработчиком. Я считаю, что это одна из лучших профессий, потому что мы можем помогать людям с помощью программирования.

Каково это работать в другой стране и другой культуре, чем та, в которой вы выросли?

В Берлине разные люди и отличный баланс между работой и личной жизнью. Есть каникулы и инновационные компании, баланс работы и жизни (Япония - такая культура трудолюбия). И способы общения совершенно разные, в некоторых случаях я чувствую себя лучше (особенно то, как мы используем Slack). Это высокий контекст (Япония) по сравнению с низким контекстом (Германия).

А как насчет сообщества разработчиков?

Я обнаружил, что в отношении сообщества Ruby между Европой и Японией существует большой разрыв - между ними почти нет связи! Недавно я был на самой большой конференции Ruby в Европе и был так удивлен. Общения с японским Ruby-сообществом практически нет.

В мире проходят три большие конференции по Ruby: одна в США, одна в Европе и одна в Японии, называемая Ruby Kaigi, которая была единственной, на которой я когда-либо присутствовал ... Многие участники Ruby - японцы, так что конференция была хорошим местом, чтобы узнать о том, что нас ждет в будущем. Но эти темы отсутствовали на конференциях в Европе. А японцев там было очень мало. Только я, Мац и организатор Руби Кайги.

Как вам было общаться с Мацем (Юкихиро Мацумото), создателем вашего основного языка?

Для меня это было невероятное время. Он такой известный парень. У меня была возможность долго с ним разговаривать, и меня удивило его отношение. Когда он говорит, он выглядит как нормальный человек по сравнению с тем, что он делает. Я знаю, что у него твердое мнение о языке, потому что Ruby - концептуальный язык, но он был очень хорошим слушателем. В моей прошлой компании мы много обсуждали типы (например, статические и динамические типы). Мац посетил нашу компанию в Японии, и мы должны были напрямую обсудить с ним наш производственный кодекс. Мы показали ему наше приложение RoR. Хотя он на самом деле не программист на Ruby - он программист на C, - его действительно интересовал наш опыт пользователей языка Ruby. Я был удивлен этим и тем, насколько он был хорошим слушателем.

Когда мы разговаривали один на один на конференции, мы в основном обсуждали общие темы, но я также поблагодарил его за создание Ruby, потому что без Ruby, возможно, я бы не смог приехать в Берлин.

Если бы вы могли взять перерыв в шесть месяцев и узнать что-то новое, что бы это было и почему?

Я хочу путешествовать как турист и просто путешествовать по миру. Или, может быть, потренируйтесь на табле (индийском музыкальном инструменте) или узнайте больше о йоге. Йогу часто неправильно понимают как здоровое упражнение, но на самом деле это нечто большее.

Недавно я взял трехмесячный отпуск, чтобы пройти курс обучения йоге в Индии, а также побывал в Индии, Непале, Таиланде и Камбодже, чтобы исследовать мир. Никогда не знаешь, я могу повторить это снова. Но в наши дни меня больше интересуют путешествия внутри себя, если вы понимаете, о чем я!

Что вы представляете себе в будущем? Где вы видите себя через много лет и чего надеетесь достичь?

Я хочу быть человеком, который живет в мире и не привязан к какой-то конкретной области, такой как Япония или даже Германия. Поэтому я предпочитаю иметь портативные навыки, и в настоящее время программирование является одним из них - вы видите, как я получил работу в Германии, хотя раньше у меня не было опыта работы за границей! Я лично считаю, что это жизнь без риска, потому что у вас нет никакой зависимости от страны, как хорошо развязанный код!

Так когда и где? Пока не знаю. Я даже не знаю о завтрашнем дне. Возможно, я продолжу работать в Берлине, но мало ли! Это самое интересное в жизни!

Если вы заинтересованы в присоединении к Blacklane, переходите на нашу страницу карьеры. Там вы найдете не только наши открытые вакансии, но и еще больше причин, по которым вам стоит с нами работать!