Алекс Трифан работает с командой Adobe I / O Gateway в Румынии. Мы связались с ним, чтобы узнать о его карьере, стеке технологий, которое использует его команда, и инструментах, которые они создали, чтобы обеспечить максимально быстрый и оптимизированный трафик из сервисов Adobe. Он также рассказывает нам о лучших советах, которые он получил за всю свою карьеру, и о том, как его работа в Adobe сделала его более разносторонним разработчиком.

Как вы начали свою карьеру в отрасли и как прошла ваша карьера в Adobe?

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

Я начал работать в Adobe два года назад. Некоторое время я хотел работать в Adobe, но не нашел для себя подходящей работы. Однажды, когда я искал сменить мою предыдущую работу, я обнаружил должность Adobe I / O для инженера платформы API. Раньше я работал инженером полного цикла, и одним из самых важных критериев для меня при поступлении на новую работу было продолжать работать как один.

Я работаю в команде I / O Gateway, команде, которая дала мне именно то, что мне было нужно: пространство для инноваций, поощрение к реализации и «полный набор» инструментов и языков. Команда шлюза раздвинула мои границы, и это также помогло мне стать более полноценным разработчиком.

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

Не могли бы вы рассказать нам немного об инструментах и ​​технологиях, с которыми вы работаете, и связанных с этим проблемах?

В нашей команде языки программирования - это не препятствие, а скорее инструмент для решения проблем. Я работал со всеми типами языков: Java, C, LUA, Python, Go, JavaScript и Bash - и все это готово к работе.

Мы всегда стараемся быть как можно более «передовыми». Мы используем Docker, Kubernetes, машинное обучение, бессерверные функции и мультиоблачное управление. Хотя это может показаться крутым, это связано с проблемами производительности. Все, что мы пишем, должно быть трижды проверено на предмет утечек памяти и должно быть максимально быстрым и оптимизированным, поскольку мы являемся промежуточным программным обеспечением для других сервисов. Самая большая проблема заключается в том, что, хотя наш код является стандартом безопасности и надежности, наши клиенты не должны «чувствовать», что мы оказываемся перед их услугами.

Какие достижения в работе вам нравятся больше всего?

Прежде всего, самым большим достижением нашей команды была модернизация, унификация и стандартизация сложного монолита, который ранее нельзя было протестировать на локальной машине и который вообще не имел предсказуемой установки. Мы также смогли настроить почти полный конвейер CI / CD для нашего продукта, чтобы сделать его надежным, предсказуемым и измеримым.

Еще одно достижение, на которое, как мне кажется, следует отметить, заключается в том, что своей работой основная группа I / O внесла свой вклад в развитие внешнего сообщества, создав полную среду тестирования для обоих автономных файлов .lua [Lua - это легкий язык программирования, предназначенный для расширения приложения] и интеграция с OpenResty. Mocka - второй крупный проект с открытым исходным кодом после Gateway, созданного командой.

Наряду с этим фреймворком тестирования мы также разработали плагин ZeroBrane для интеграции фреймворка тестирования в самую популярную Lua IDE. Эта среда тестирования поставляется с интерактивным инструментом отладки, который мы надеемся также интегрировать в ZeroBrane IDE. Этот инструмент отладки был прорывом, поскольку в мире Lua Nginx вы не получите такого удобного инструментария.

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

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

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

Какой лучший совет вы получали в своей карьере?

Я получил кучу хороших советов, но самые важные из них, которые я помню, следующие:

  • «Если вы не можете объяснить это, значит, это либо недостаточно, либо это никому не нужно» - это очень помогло мне сосредоточиться на более мелких проблемах. Ключ не в том, чтобы пытаться исправить более серьезную проблему, а в том, чтобы исправить более мелкие проблемы, которые можно легко идентифицировать. Если вы будете иметь в виду общую картину, эти более мелкие проблемы в конечном итоге сойдутся в исходную большую проблему.
  • «Сосредоточьтесь на своих клиентах». - В конце концов, вы хотите решить их проблемы, потому что они оплачивают ваш чек.
  • «Разработка - это 10 процентов программирования и 90 процентов тестирования и исправления ошибок». - Качество всегда на первом месте, а не количество.

Эти советы сформировали меня как разработчика и даже как человека. Они организовали меня и помогли обратить внимание на детали.

Над чем вы собираетесь работать дальше?

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

Следите за блогом Adobe Tech Blog, чтобы получить больше историй и ресурсов для разработчиков, и посетите Adobe I / O в Твиттере, чтобы узнать о последних новостях и продуктах для разработчиков.