Используем cookie для работы сайта и статистики. «Хорошо» разрешит ещё и запись сессий.
Railway
6 месяцев назад
Грейд
Senior
Формат работы
Удалённо
Уровень английского
B2, выше среднего
Письмо на почту или сообщение рекрутеру в Telegram
Описание вакансии
Наша основная миссия в Railway — повысить эффективность инженеров-программистов. Мы верим, что людям следует предоставлять мощные инструменты, чтобы они могли тратить меньше времени на настройку и больше — на работу.
Многие инфраструктурные платформы фокусируются только на том, как развернуть ваше отдельное приложение, а не на том, как эти приложения взаимодействуют друг с другом. Вопросы вроде «Как создавать системы для развертывания с нулевым временем простоя?», «Как осуществлять межсервисные коммуникации?» и т. д. обычно инженеры определяют сами.
В Railway наша цель — стать всеобъемлющим решением всех этих проблем. Поэтому мы уделяем особое внимание определению нашей сетевой инфраструктуры.
«Но мир стал бы лучше, если бы больше инженеров, таких как я, ненавидели технологии. То, что я проектирую, если я добьюсь успеха, никто никогда не заметит. Все будет просто работать и само собой управляться»
Мы ценим и любим работать с разнообразными людьми из всех слоев общества.
Что нужно знать
К лучшему или худшему, мы — стартап; наша командная динамика отличается от компаний других размеров и стадий развития.
Мы распределены ПО ВСЕМУ миру, и эта распределенность будет только расти. В результате, ВСЕГДА что-то происходит
Мы НЕ ожидаем, что вы будете работать все время, но вам придется тщательно соблюдать свои границы, поскольку конец вашего рабочего дня может совпадать с началом рабочего дня кого-то другого
Мы — небольшая команда с высокой степенью ответственности, которая не только увлечена тем, что делает, но и стремится быть исключительной. На момент написания нас 21 человек, обслуживающих сотни тысяч пользователей. Многое происходит, и много неопределенности
Мы хотим, чтобы вы брали на себя ответственность. Мы верим, что ответственность — ключ к росту, и частью этого роста является не только возможность принимать решения, но и нести ответственность за успех или неудачу, которые приходят с этими решениями
Job description
Our core mission at Railway is to make software engineers higher leverage. We believe that people should be given powerful tools so that they can spend less time setting up to do, and more time doing.
Many infrastructure platforms simply focus on how you deploy your singular application, and now how these applications function in concert. Questions like “How do you build systems for zero downtime deployment”, “How do you do service-to-service communications”, etc are usually left up to the engineers to define.
At Railway, our goal is to be an all encompassing solution to all these problems. As such, we take special care as we define our networking infrastructure.
“But the world would be a better place if more engineers, like me, hated technology. The stuff I design, if I'm successful, nobody will ever notice. Things will just work, and will be self-managing”
About the role
For this role, you will:
Build and maintain our host provisioning stack: PXE boot, Ansible, and burn-in agents that bring new bare metal online quickly and confidently
Continue to evolve our homegrown orchestration engine to manage clusters, containers, and VMs through a single lens
Optimize the efficiency of our bin packing algorithm to maximize utilization/performance and minimize costs
Own the internal tooling that Railway engineers use to interact with our fleet every day
Build out internal observability and alerting so we catch fleet problems before customers feel them
Design and maintain the CI pipelines that ship our infrastructure code safely
Define infrastructure that can be torn down, failed over, and reconstituted from scratch using principle of immutable infrastructure using Terraform and Ansible
Build Golang/Rust GRPC services from scratch capable of supporting millions of users
Write Engineering Requirement Documents to take something from idea, to defined tasks, to implementation, to monitoring its success
The arc of this role is more internal-facing than user-facing. You're building the platform that Railway engineers run on. This is a high impact, high agency role with direct effect on company culture, trajectory, and outcome.
About you
A strong understanding of distributed systems and what it takes to operate them. You enjoy building fault tolerant, resilient, and scalable services, and you care about what happens when they break at 3am
Hands-on experience with bare metal provisioning, configuration management, and the unglamorous-but-critical work of getting hardware production-ready
Comfort building and operating internal tools. You understand that developer experience inside the company matters as much as the product outside it
A solid intuition about how long your solutions will last. All systems age. In startups, we can hope for 2-3 orders of magnitude, or 12-18mo
The tact to implement your solution, create monitors for its error boundaries, and document any requirements for when you're not around
A great sense of direction and prioritization when it comes to dealing with the ambiguity of an early stage startup
A sense of grit to dive into a problem, implement a solution, scale that solution, and replace it when needed
A great set of communication skills for getting your point across, solution implemented, and beyond
We value and love to work with diverse persons from all backgrounds
Things to know
For better or worse, we're a startup; our team dynamics are different from companies of different sizes and stages.
We're distributed ALL across the globe, and that's only going to be more and more distributed. As a result, stuff is ALWAYS happening.
We do NOT expect you to work all the time, but you'll have to be diligent about your boundaries because the end of your day may overlap with the start of someone else's.
We're a small team, with high ownership, who are not only passionate about what we do, but seek to be exceptional as well. At the time of writing we're 21, serving hundreds of thousands of users. There's a lot of stuff going on, and a lot of ambiguity.
We want you to own it. We believe that ownership is a key to growth, and part of that growth is not only being able to make the choices, but owning the success, or failure, that comes with those choices.
Benefits and perks
At Railway, we provide best in class benefits. Great salary, full health benefits including dependents, strong equity grants, equipment stipend, and much more. For more details, check back on the main careers page.
Beyond compensation, there are a few things that we believe that make working at Railway truly unique:
Autonomy: We have very few meetings. Just a Monday and a Friday to go over the Company Board. We think your time is sacred, whether it's at work, or outside of work.
Ownership: We're a company with a high ownership, high autonomy culture. We hope that you'll come in, help us, and over the course of many years do the best work of your life. When we bring you onboard, we expect you to change the company.
Novel problems/solutions: We're a startup that's well funded, with cool problems, which lets us implement novel solutions! We abhor “busywork” and think, whether it's community, engineering, operations, etc there's always opportunity for creative and high leverage solutions.
Growth: We want you to grow with us, but we know that talent is loaned, so when you figure out what area you want to grow in next, whether it's at Railway or outside, we'll make sure you land there.
How we hire
No tricks. No surprises. Here's the entire process.
This is completely open ended and we're just trying to see who you are, what you want to do, and where you wanna go.
Asynchronously implement the following:
Imagine a theoretical or actual system like Railway which can manage stateless and stateful compute workloads. Design the engine for managing orchestration
Interview Structure (60 Minutes):
Pre-work (before your interview): Complete your solution (advised)
0-5m: introduction
5-50m: Building (or expanding) your solution
50-60m: Questions on Railway/Tech/etc
You can, and SHOULD! ask us questions ahead of time. Ask away!
You'll sit down with someone on the team and go over the above. We'll poke into your solution, as well as get you acquainted with two more members of the team.
Looking for: Learn about your problem solving skills. How you break down a problem and how you present a solution.
You'll meet the Team, which will be comprised of 4 people from vastly different sections of the company.
Looking for: How you work with the rest of the team and communicate.
Sit down with our founder and CEO for 30 minutes. This is a 1:1, open ended conversation.
Finally, we will present the offers, hammer out the details about your position, tee up onboarding, and start our journey together.
Final Note: The interview goes both ways. Once again, please ask us things. Many things! Hard things. That's what we're here for.
Сравним навыки, грейд, формат работы и зарплату
Чаще всего от 187 000 до 263 000
В этой роли вы будете:
Создавать и поддерживать наш стек предоставления хостов: PXE boot, Ansible и агенты burn-in, которые быстро и надежно вводят новые физические серверы в эксплуатацию
Продолжать развивать наш собственный движок оркестрации для управления кластерами, контейнерами и виртуальными машинами через единый интерфейс
Оптимизировать эффективность нашего алгоритма bin packing для максимизации утилизации/производительности и минимизации затрат
Владеть внутренними инструментами, которые инженеры Railway используют для ежедневного взаимодействия с нашим парком серверов
Разрабатывать внутренние системы наблюдения и оповещения, чтобы мы могли выявлять проблемы с парком серверов до того, как их почувствуют клиенты
Проектировать и поддерживать CI-конвейеры, которые безопасно доставляют наш инфраструктурный код
Определять инфраструктуру, которую можно демонтировать, переключать при сбое и восстанавливать с нуля, используя принцип неизменяемой инфраструктуры с помощью Terraform и Ansible
Создавать с нуля сервисы Golang/Rust GRPC, способные поддерживать миллионы пользователей
Писать Engineering Requirement Documents для перехода от идеи к определенным задачам, к реализации, к мониторингу ее успеха
Эта роль в большей степени ориентирована на внутренние нужды, чем на конечных пользователей. Вы создаете платформу, на которой работают инженеры Railway. Это роль с высоким уровнем влияния и самостоятельности, напрямую влияющая на культуру компании, ее траекторию и результаты.
Глубокое понимание распределенных систем и того, что требуется для их эксплуатации. Вам нравится создавать отказоустойчивые, надежные и масштабируемые сервисы, и вас волнует, что происходит, когда они ломаются в 3 часа ночи
Практический опыт предоставления физических серверов, управления конфигурацией и негламурной, но критически важной работы по подготовке оборудования к производству
Уверенность в создании и эксплуатации внутренних инструментов. Вы понимаете, что опыт разработчика внутри компании так же важен, как и внешний продукт
Твердая интуиция относительно того, как долго прослужат ваши решения. Все системы стареют. В стартапах мы можем надеяться на 2-3 порядка величины или 12-18 месяцев
Тактичность для внедрения вашего решения, создания мониторов для его граничных ошибок и документирования любых требований на случай вашего отсутствия
Отличное чувство направления и приоритизации при работе с неопределенностью на ранней стадии стартапа
Стойкость, чтобы глубоко погружаться в проблему, реализовывать решение, масштабировать это решение и заменять его при необходимости
Отличные коммуникативные навыки для донесения своей точки зрения, реализации решения и дальнейшей работы
В Railway мы предоставляем лучшие в своем классе льготы. Отличная зарплата, полный медицинский пакет, включая иждивенцев, солидные гранты на акции, пособие на оборудование и многое другое. Для получения более подробной информации загляните на главную страницу раздела «Карьера».
Помимо компенсации, есть несколько вещей, которые, по нашему мнению, делают работу в Railway по-настоящему уникальной:
Автономия: У нас очень мало совещаний. Только в понедельник и пятницу для обзора доски задач компании. Мы считаем ваше время священным, будь то на работе или вне ее
Ответственность: У нас культура высокой степени ответственности и высокой автономии. Мы надеемся, что вы придете, поможете нам и за многие годы сделаете лучшую работу в своей жизни. Когда мы примем вас на работу, мы ожидаем, что вы измените компанию
Новые проблемы/решения: Мы — хорошо финансируемый стартап с интересными задачами, что позволяет нам внедрять новые решения! Мы презираем «суету» и считаем, что будь то сообщество, инженерия, операции и т. д., всегда есть возможность для креативных и высокоэффективных решений
Рост: Мы хотим, чтобы вы росли вместе с нами, но мы знаем, что таланты — это временное явление, поэтому, когда вы определитесь, в какой области хотите развиваться дальше, будь то в Railway или за ее пределами, мы позаботимся о том, чтобы вы туда попали