Railway

All Positions

Senior Software 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. The sister role for this is Customer Success Engineer.

Want to learn about our work culture? Here is a four-part blog series that will help you see the unique ways our team works (Parts 1, 2, 3, and 4).

About the role

  • Architect end-to-end user support experiences that maximize meaningful interactions, treating support as a systems engineering challenge.
  • Build tools and workflows to eliminate manual tasks so we can keep the team lean while maintaining velocity.
  • Identify the right form factor for each problem (whether forms, a custom forum from scratch, or custom tooling) by deeply understanding both user and team pain points.
  • Be a “force multiplier” that ship features to turn linear effort into exponential results.
  • About you

    You’re a great fit if you have:

  • Native proficiency in English language. Effective writing and communication skills with a personable nature; able to distill difficult technical concepts to a wide range of users
  • Senior 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 mid-level of working knowledge in the DevTools or infrastructure space: Docker, Kubernetes, cloud platforms, etc.
  • The ability to autonomously lead, design, and implement great support experiences from start-to-finish across stages of the customer experience lifecycle
  • A hacker mindset that recognizes patterns, the shortest-path to resolving issues, and eventually addressing the root cause of the issue
  • This role, in our opinion, is perfect for folks who have done a tour or two in Software/Product Engineering, Support Engineering, and Infra/DevOps.

    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. 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
  • In your project’s README, write up an overview of how your solution works, alternative solutions you may have considered, and any problem(s) your current solution may have.
  • 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. 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

    Chat with CEO

    Sit down with our founder and CEO for 30 minutes. This is a 1:1, open ended conversation.

    6

    Offer call

    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.

    Apply for
    this position