All Positions

Software Engineer: Machine Learning

Job description

At Railway, we make it extremely simple for engineers to deploy logic without thinking about servers. Our goal is to make developers orders of magnitude more efficient by becoming the operating system for modern development.

By building tooling for infrastructure automation, we seek to make people 100x more effective, and build 100x more impactful systems. Building leverage is a core part of what we do.

We offer compute, with no questions asked* to anyone who needs it. The asterisk, well, is the rub. At our gates is an army of cryptominers, torrenters, and nefarious actors who wish to leverage Railway’s servers for hopefully benign, yet, self serving purposes.

About the role

You’d work directly with the CEO and the team to:

  • Work on building out our fraud model to prevent nefarious actors from abusing our infrastructure
  • Designing and implementing scanning code scanning tools to prevent hostile workloads
  • Collaborate with the broader team to build practices on secure coding practices
  • Making hard decisions on what to allow on the platform while influencing business rules.
  • Implementing flows that handle edge cases to allow legitimate workloads on the platform
  • This role is essential in making sure Railway remains free for well meaning users while protecting the integrity of existing workloads.

    About you

  • A strong sense of empathy. Ideally you’ll have experience working between functional teams especially our infrastructure.
  • A great sense of direction and prioritization when it comes to organizing the work required to solve platform abuse
  • A innate sense of being able to scope sources of fraud and abuse and then automating methods to remove said traffic.
  • A great set of communication skills for getting your point across, scoping problems, 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 7, serving tens 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 the CEO 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

    Pick a small project to discuss on the interview

    Async, pick and implement one of the following:

  • Use, break, and suggest improvements to our fraud model on Railway
  • Write a suggestion, from scratch, on how you’d detect users with multiple accounts
  • Walk through the planned implementation
  • 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 2 people 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

    To apply, send us your resume to:
    jake at railway dot app and CC jobs at railway dot app.

    We will get back to you in a few days

    Additional questions? We know this page might not answer all your questions. Just send us an email with any questions you may have and we will try to get back to you as soon as possible! 👋