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

В этом месяце мы хотим познакомить вас с Эмадом. Эмад - backend-инженер. Он присоединился к Blacklane в феврале 2017 года.

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

Я из Египта, небольшого прибрежного городка под названием Порт-Саид. Это вход в Суэцкий канал с севера. Что касается меня, то я большую часть своей жизни изучал в своем городе, получил степень по информатике в Университете Суэцкого канала в Исмаилии (еще один город на канале) и пару лет работал в Каире, сначала как разработчик полного цикла, затем я перешел на более специализированную роль в качестве backend-инженера.

Почему вы решили покинуть Египет? Чем там работа по сравнению с работой в Германии?

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

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

Немногие местные компании в Египте выходят на другие рынки за пределами Египта или Ближнего Востока. Если вы работаете в стартапе в Германии, ваша компания уже вышла на другие рынки. Сам Blacklane фактически начал расширяться на Ближний Восток. Вы также можете работать на более крупных рынках, с большими данными и большими проблемами. Мне нравится работать с более серьезными проблемами. Это заставляет вас развивать свои навыки. Но если вы просто работаете в компании, которая занимается созданием веб-сайтов с контентом, это не способствует дальнейшему развитию ваших навыков. Поиск более крупных компаний с более серьезными проблемами - естественный шаг вперед на вашем карьерном пути.

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

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

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

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

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

Как вы думаете, что можно улучшить в компании?

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

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

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

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

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

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

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

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

Я всегда стремлюсь к двум принципам: простоте и последовательности.

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

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

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

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

Какие проблемы вам больше всего нужно решать и почему?

Два вида проблем. Первый включает в себя множество данных, которые вам необходимо переварить, чтобы выявить закономерности и найти полезную информацию. Например, у меня есть сторонний проект, в котором я собираю газеты из 22 стран, а затем пытаюсь найти информацию из этих данных. Это первая проблема. Второе - это проблемы программистов, как в Hackerrank, Project Euler, ACM-ICPC. Такие веб-сайты ставят перед вами все более сложные задачи, и вы должны решать их с помощью какого-либо языка программирования по вашему выбору. Они пытаются бросить вам интеллектуальный вызов. Так что меня это тоже интересует. Мне нравится их решать.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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