Return to jobs list

Experienced Full-Stack Software Engineer

Job type: Full Time · Department: Software · Work type: On-Site · USD 90,000-115,000 / year

St. Louis, Missouri, United States

About Us

At Intramotev, we are dedicated to revolutionizing the freight industry by liberating tons of freight from congested highways, reducing carbon emissions, and enhancing transportation efficiency. We are deploying self-propelled battery-electric railcars and vehicles to transform freight logistics and bring innovation to our rail network. Based in St. Louis, MO, we are committed to promoting industrial revitalization, saving lives, and minimizing the environmental impact of trucking.

We actively foster a work environment for every teammate that's welcoming, respectful and inclusive, with great opportunities for professional growth. Find your future with us.

Role Overview

We're hiring a Full-Stack Software Engineer to own the software our operators actually touch — the C# services behind our fleet and the Flutter applications running on the ruggedized Android tablets mounted in and around our railcars. You'll build the operator-facing interfaces that turn vehicle telemetry and fleet state into something a human can act on in the field, and the backend services that feed them. This is hands-on, end-to-end work: you'll be designing the tablet UX, wiring it to the backend, and seeing it run on hardware in a rail yard. We care more about how you solve problems than about which languages you've used — if you're a strong engineer who can ramp into our stack, we want to talk.

Schedule

This is a full-time, in-office position, based in St. Louis, MO.

First 90 Days

You're past the "what is a pull request" stage, so we'll get you productive quickly. In your first month you'll get the codebase running locally, ship a real fix or improvement through code review, and pair with the team to understand our vehicle architecture and how the tablet apps talk to the backend. By month two you'll own a well-defined feature end-to-end — design, implementation, tests, review — including UI that ships to the Android tablets. By month three you'll be taking on moderately complex work with little guidance, contributing to design discussions, and starting to shape how we build the operator-facing layer rather than just executing tickets.

What You Will Do Day to Day

  • Build and maintain operator-facing Flutter applications targeting ruggedized Android tablets — designing for field use: glare, gloves, intermittent connectivity, and people who are not software engineers.

  • Write, test, and maintain the C# backend services and internal tools those interfaces depend on — telemetry ingestion, fleet operations, real-time visibility.

  • Write unit and integration tests for your code and verify behavior before it ships to production — our software runs on vehicles in the field, so catching problems before they reach hardware is part of the job, not an afterthought.

  • Investigate and fix bugs in production systems — reproduce, diagnose root cause, write the regression test.

  • Participate in code reviews, both giving and receiving feedback.

  • Work with experienced engineers to break product requirements into concrete implementation tasks.

  • Contribute to documentation and internal technical knowledge bases.

  • Support field testing and integration on physical rail vehicles when needed — including getting tablets and software working in the yard.

How We Work

  • The engineering team is small — you'll typically work in groups of two to four on focused projects, with a broader team of around ten collaborating across efforts. At this size there's no hiding behind process or hierarchy. You'll be in the room for design discussions, and your questions get answered by the people who built the system.

  • We do daily standups, asynchronous communication in Discord, and design reviews for anything nontrivial. Code review is mandatory — not as a gate, but as a practice the whole team treats as a teaching and learning tool.

  • We expect you to use AI tools well. Our engineers use LLM-based development tools daily, and we want someone who has real judgment about where they accelerate the work and where they quietly create problems. Strong, fluent use of these tools is part of how this team ships.

  • We test before we ship. Because our code ends up on vehicles carrying real freight, we'd rather catch a problem in a unit test than in a rail yard. We expect you to think the same way — verify behavior before it reaches production, and treat a bug as something to reproduce and cover, not just patch.

  • Some of what we're building doesn't have a known solution. Autonomous rail is a young field, and certain problems require experimentation — build a prototype, test it, learn from what doesn't work, iterate. If ambiguity energizes you rather than frustrating you, you'll fit in well.

  • You'll do occasional domestic travel for field testing, vehicle integration, and customer demonstrations — the kind of travel where you see your software running on actual hardware.

Our Interview Process

We evaluate depth of understanding over breadth of buzzwords. Our process includes a brief technical screen focused on fundamentals, a take-home exercise involving real-world code (with a defined time scope), and a final on-site conversation with the engineering team. We provide clear expectations before each stage and aim to complete the process within three weeks.

About You: Basic Qualifications (Required Skills/Experience)

  • 2–7 years of professional software engineering experience building and shipping production software.

  • Strong problem-solving ability — you can take an ambiguous, underspecified problem, break it down, reason about trade-offs, and drive it to a working solution even when there's no known recipe.

  • Solid understanding of data structures, algorithms, and how to design maintainable systems — fundamentals that carry across languages.

  • Familiarity with C# and Flutter/Dart, or the demonstrated ability to ramp into our C#/Flutter/Android stack quickly. We care more about how you think and what you've shipped than about years in any single stack. Experience shipping UI to Android tablets (or comparable mobile/tablet work you can walk us through) is a strong plus.

  • Discipline about testing before production — you write unit and integration tests, verify behavior before it ships, and when you fix a bug you reproduce it and lock it down with a regression test.

  • Proficiency with Git in a collaborative workflow — branching, merging, pull requests, code review.

  • Comfort working in a Linux command-line environment.

  • Fluent, demonstrated use of AI-assisted development tools (Claude, Cursor, Copilot, etc.) on real work — and a thoughtful point of view on when they help and when they get in the way.

  • Fluent in both written and verbal English.

  • U.S. Person (immigration or work visa sponsorship will not be provided).

Preferred Qualifications (Desired Skills/Experience)

None of these are required — if you meet the basic qualifications and the role excites you, apply. But if you bring some of these, you'll ramp faster and we'll notice.

  • Experience designing UI for industrial, ruggedized, or field-deployed devices — touch interfaces used in harsh conditions, not just consumer apps.

  • Experience with the Android platform beyond Flutter — device provisioning, kiosk/lockdown modes, hardware integration.

  • Working knowledge of Docker and containerized development workflows.

  • Experience with CI/CD pipelines.

  • Coursework or project experience in real-time systems or robotics.

  • Experience reading and extending an existing codebase, not only building from scratch — most professional engineering is understanding systems that already exist.

  • Comfort working across disciplines — collaborating with hardware, electrical, or mechanical engineers translates directly here.

Why Join Us?

  • Your code runs on real machines. The software you write controls and informs physical vehicles carrying real freight on real rail lines. The feedback loop between your code and the physical world is short, visible, and unforgiving in the best way.

  • Small team, real ownership. You'll own the operator-facing layer end-to-end, participate in design decisions early, and ship code that matters from your first months. The tradeoff is honest: fewer layers of support, more responsibility on your shoulders sooner.

  • The problem is worth working on. Freight trucking is one of the largest sources of carbon emissions and highway fatalities in the country, and the economics of rail have been broken for decades. We're not optimizing ad clicks — we're building the infrastructure that moves freight off highways and onto electric rail.

Compensation & Benefits

Base salary range: $90,000 – $115,000, commensurate with experience.

Intramotev offers a comprehensive benefits package for all team members, including:

  • Medical coverage: We cover 100% of employee medical premiums, plus low-cost dental and vision options.

  • Vacation: Full-time employees enjoy unlimited paid time off.

  • Equity: Full-time employees receive equity in the company.

  • Parental leave: New parents receive paid time off to spend quality time with their family.

Relocation

Intramotev offers relocation based on candidate eligibility.

Equal Opportunity Employer

Intramotev is an Equal Opportunity Employer. Employment decisions are made without regard to race, color, religion, national origin, gender, sexual orientation, gender identity, age, physical or mental disability, genetic factors, military/veteran status or other characteristics protected by law.

Closing

If you're passionate about software engineering and eager to contribute to autonomous rail technology, we'd love to hear from you!

Made with