Должность: Старший Full-Stack инженер - Продукт
Местоположение: Глобально / Удаленно
Это удаленная позиция, доступная в любой точке мира! Linkedin обязывает нас указывать страну, но мы нанимаем лучших людей, где бы они ни находились.
Наша основная миссия в Railway — повысить эффективность инженеров-программистов. Мы считаем, что людям должны быть предоставлены мощные инструменты, чтобы они могли тратить меньше времени на настройку и больше времени на работу.
В Railway мы верим, что повышение доступности инструментов для сборки и развертывания является одним из величайших достижений нашей эпохи. Мы также верим, что основным препятствием между нами и нашей целью являются сильные парадигмы интерфейса.
Если вы хотите создать операционную систему для разработчиков, мы будем рады поговорить с вами!
Любопытно? Узнайте больше в нашей статье в блоге об этой команде и великой работе, которую они делают: Spotlight команды: Product Engineering
О РОЛИ
На этой должности вы будете:
- Разрабатывать функции от начала до конца, от пользовательского интерфейса в нашей панели управления до оркестровки рабочих процессов, взаимодействующих с нашими микросервисами с использованием Temporal.
- Создавать интуитивно понятные интерфейсы, которые позволят нашим пользователям взаимодействовать с мощными парадигмами вычислений, с помощью нашей команды дизайнеров.
- Создавать API на TypeScript + GraphQL с надежными гарантиями моделирования данных, позволяя как внутренним, так и внешним пользователям создавать на их основе.
- Писать Engineering Requirement Documents (инженерные документы с требованиями) для перехода от идеи к определенным задачам, к реализации, к мониторингу успеха.
- Иметь опыт работы с Rust или, по крайней мере, желание изучить его, чтобы вносить вклад в наши репозитории с открытым исходным кодом (CLI, Nixpacks и т. д.).
Некоторые проекты, над которыми работали full-stack инженеры в прошлом:
- Перестройка инфраструктуры логирования для поддержки 1 миллиарда логов в день, от настройки ClickHouse до разработки совершенно нового пользовательского интерфейса для наблюдения.
- Создание Git для инфраструктуры и переосмысление того, как проект развивается со временем.
- Создание инструмента для сборки пользовательского кода в развертываемый образ с использованием пакетов Nix.
- Создание интерфейсов для визуализации инфраструктуры проекта на 2D-холсте.
- Добавление поддержки миграции развертываний с томом из одного региона в другой с использованием Temporal.
- Создание торговой площадки, где пользователи могут обмениваться многоразовыми частями инфраструктуры.
Это роль с высоким влиянием и высокой степенью самостоятельности, напрямую влияющая на культуру, траекторию развития и результаты компании.
О ВАС
- Способность самостоятельно руководить, проектировать и реализовывать отличные продуктовые решения, от фронтенда до бэкенда.
- Глубокое понимание фронтенд-архитектуры для эффективного создания систем с богатой интерактивностью для получения, изменения и отображения данных.
- Опыт управления сложными асинхронными фоновыми задачами, например, для конвейера сборки/развертывания.
- Желание участвовать во всем процессе разработки проекта. От сбора информации и планирования до реализации и мониторинга.
- Отличные навыки письменного и устного общения для выражения идей, дизайнов и потенциальных решений в преимущественно асинхронном режиме.
Мы ценим и любим работать с разнообразными людьми из всех слоев общества.
Что нужно знать:
К лучшему или худшему, мы — стартап; динамика нашей команды отличается от компаний других размеров и стадий развития.
- Мы распределены ПО ВСЕМУ миру, и эта тенденция будет только усиливаться. В результате, что-то ВСЕГДА происходит.
- Мы НЕ ожидаем, что вы будете работать все время, но вам придется тщательно следить за своими границами, поскольку конец вашего дня может совпадать с началом дня кого-то другого.
- Мы — небольшая команда с высокой степенью ответственности, которая не только увлечена тем, что мы делаем, но и стремится быть исключительной. На момент написания статьи нас 21 человек, обслуживающих сотни тысяч пользователей. Происходит много событий, и много неопределенности.
- Мы хотим, чтобы вы взяли на себя ответственность. Мы считаем, что ответственность — ключ к росту, и частью этого роста является не только возможность принимать решения, но и нести ответственность за успех или неудачу, которые приходят с этими решениями.
Льготы и привилегии:
В Railway мы предоставляем лучшие в своем классе льготы. Отличная зарплата, полное медицинское страхование, включая членов семьи, щедрые опционы на акции, стипендия на оборудование и многое другое. Подробнее см. на главной странице вакансий.
Помимо компенсации, есть несколько вещей, которые, по нашему мнению, делают работу в Railway по-настоящему уникальной:
- Автономия: У нас очень мало встреч. Только понедельник и пятница для обзора доски компании. Мы считаем, что ваше время священно, будь то на работе или вне работы.
- Ответственность: У нас культура высокой ответственности и высокой автономии. Мы надеемся, что вы придете, поможете нам, и за долгие годы сделаете лучшую работу в своей жизни. Когда мы примем вас на работу, мы ожидаем, что вы измените компанию.
- Новые проблемы/решения: Мы хорошо финансируемый стартап с интересными задачами, что позволяет нам внедрять новаторские решения! Мы презираем «суету» и считаем, что, будь то сообщество, инженерия, операции и т. д., всегда есть возможность для творческих и высокоэффективных решений.
- Рост: Мы хотим, чтобы вы росли вместе с нами, но мы знаем, что таланты приходят и уходят, поэтому, когда вы определитесь, в какой области вы хотите развиваться дальше, будь то в Railway или за ее пределами, мы позаботимся о том, чтобы вы оказались там.
Как мы нанимаем:
Без трюков. Без сюрпризов. Вот весь процесс:
-
Поговорите с нами о вакансии
- Это совершенно открытая беседа, и мы просто пытаемся понять, кто вы, чем хотите заниматься и куда хотите двигаться.
-
Работа над небольшим проектом для обсуждения на собеседовании
- Асинхронно реализуйте следующее:
- Создайте приложение для запуска и остановки контейнера с использованием нашего GQL API. Пожалуйста, разверните его на Railway до собеседования, и мы рассмотрим код во время собеседования. Приложение должно иметь компонент пользовательского интерфейса, а не только бэкенд, использующий API.
- Вы отправите свое решение до собеседования и сядете с членом команды, чтобы обсудить вышеизложенное. Мы углубимся в ваше решение, а также познакомим вас с членом команды.
- Вы можете и ДОЛЖНЫ задавать нам вопросы заранее.
-
Обсуждение вашего решения с командой
- Вы сядете с кем-то из команды и обсудите вышеизложенное. Мы углубимся в ваше решение, а также познакомим вас с членом команды.
- Ищем: Понимание ваших навыков решения проблем. Как вы разбиваете проблему и как представляете решение.
- Структура собеседования, которую следует ожидать при обсуждении с командой (60 минут):
- 0-5 минут: Знакомство
- 5-35 минут: Разбор кода, обсуждение того, как бы вы его расширили
- 35-50 минут: Размышления о технологиях, фреймворках, вашем видении продукта
- 50-60 минут: Время для ваших вопросов интервьюерам
-
Знакомство с командой
- Вы познакомитесь с командой, которая будет состоять из 4 человек из совершенно разных отделов компании.
- Ищем: Как вы работаете с остальной командой и общаетесь.
-
Предложение и обсуждение деталей с CEO
- Наконец, мы пройдемся по процессу, вакансии и обговорим детали вашей должности, адаптации и все прочее.