All Positions

Senior Full-Stack Engineer - Support

Job description

At Railway, we take the complexity out of shipping software. We aim to make developers more effective by allowing them to ship their code without any fuss — write your code, push it to us, and we deliver it to your end-users. We’re the Railway that takes your code from A to Z in a straight line: no transfers, no mad scrambling for boarding, no chaos in your journey.

This is a hybrid, user-facing full-stack role. Learn more in our blog post at Support Engineering is Engineering.

About the role

You will build systems to improve our team’s capabilities. We focus on improving our team’s capabilities by “steamrolling manual work.” Rather than throwing headcount at issues, we build systems to eliminate them altogether. This means that any repetitive work eventually gets automated to some reasonable degree, whether in the form of workflow improvements or internal tooling. We’re a small team that likes to keep things lean, and we need strong systems to keep our flywheels spinning.

You will build best-in-class support experiences for our users. We believe that support is a systems architecture problem at its core, and we try to solve for “highest IOPS” between human interactions. A solution in this arena can take many shapes, from simple contact and issue resolution forms to building a forum from scratch to keep the experience native. You’ll identify what shape a solution needs to take by diving deep into problems that we and our users have.

You are the champion of our users. As a cloud platform, we have users of varying skill levels from all walks of their development journey. They have different requirements, run into different pain points, and view solutions to issues differently. We help them succeed in using Railway no matter where they’re at and strive for meaningful resolution to their issues. Users should walk away from a conversation with us feeling like we’ve got their backs. Meaningful resolution at Railway can take many forms: it can be a core product improvement that eliminates an entire class of issue, a gentle pointer to a documentation page, or specific advice on how they can move forward. You may be oncall from time to time in this role.

You write, for us and our users. We rely heavily on documentation, both internally and externally. Posterity is a superpower, and writing is how we federate it — whether that’s runbooks for troubleshooting common scenarios and issues our users encounter, documentation for educating users on features, or API references to help users build on top of the primitives we provide.

About you

You’re a great fit if you have:

  • The ability to autonomously lead, design, and implement great support experiences from start-to-finish across stages of the customer experience lifecycle
  • Effective writing and communication skills with a personable nature; able to distill difficult technical concepts to a wide range of users
  • A hacker mindset that recognizes patterns, the shortest-path to resolving issues, and eventually addressing the root cause of the issue
  • A high degree of empathy for developers of all skill levels, and willingness to meet them where they’re at
  • The ideal candidate we’re looking for should have:

  • Mid-level experience in full-stack engineering from aligning buttons on the front-end to building resilient back-end systems
  • The ability to debug complex technical issues that may range from tracing code paths to wrangling with *nix-y systems
  • A level of working knowledge in the DevTools or infrastructure space: Docker, Kubernetes, cloud platforms, etc.
  • Experience working in cross-functional teams interfacing with engineering, product, and support
  • This role, in our opinion, is perfect for folks who have done a tour or two in Software/Product Engineering and Support Engineering. We don’t require you to check every box on the list, and we generally prefer working with people that are hungry for knowledge in areas they feel they’re lacking in, so please don’t hesitate to shoot us an application if you find Railway and the role interesting!

    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.


    1

    Talk with us about the role

    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.

    2

    Work on a small project to discuss in the interview

    Asynchronously implement the following:

  • Build a Discord bot that streams messages from a Discord channel into a web front-end.
  • You must have a back-end component that your front-end depends on. The web front-end should show messages as they’re posted into the Discord channel. Please create a Discord test server/channel if you need to.
  • Before the interview, please deploy on Railway and send us a URL to your deployment over the email thread you have with us. We will review the code during your interview. We'll explore your solution during the interview, as well as get you acquainted with a member of the team.
  • The interview will be 60 minutes, and it roughly follows this structure: 0-5 minutes for introductions → 5-30 minutes walking through the code and discussing your solution → 30-45 minutes noodling on support and your thoughts on it → 45-60 minutes for you to ask your interviewer questions.
  • You can, and SHOULD! ask us questions ahead of time. What our prior solution looks like, what ideas we have to improve it, etc. Ask away!

    3

    Review your solution with the Team

    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.

    4

    Meet the Team

    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.

    5

    Offer and Details Chat with CEO

    Finally, we will go over the process, the role, and hammer out the details about your position, onboarding, and all the deets.


    Final Note: The interview goes both ways. Once again, please ask us things. Many things! Hard things. That's what we're here for.

    Apply for
    this position