Senior Software Engineer, Internal Systems (Robotics)
About the role
with paragraph(s) from "About The Role" description. ThenResponsibilities
with- items from "What You'll Do".
Then
Requirements
with- items from "What We're Looking For". Possibly separate "Nice to Have" as optional but could be under Skills or separate? The instruction: prefer few substantive sections over many thin ones. Could combine Requirements and Nice to Have into one Requirements section? But they are distinct: required vs nice-to-have. Could have Requirements and then Skills? But we can include Nice to Have as part of Requirements? Might be better to have Requirements (required) and then Skills (nice-to-have). However we have no explicit Skills section in posting; we could treat Nice to Have as Skills. The instruction: Use headings like Skills, Benefits, Pay, Schedule. So we can create a Skills section for nice-to-have.
Thus:
Requirements
with required bullet list.Skills
with nice-to-have bullet list. We also have "About Our Roles & Titles" which is about company policy; could be part of About the role? Might be separate but not required. Could be omitted as not core? But it's substantive about titles. Could include as a paragraph under About the role or separate section like "Company Policy". But we only have predefined headings; we could add a paragraph under About the role after the initial description. Probably fine to include that as part of About the role. Also "Our Culture" earlier could be part of About the role? It's before About The Role. Could include as part of About the role description. We need to preserve all substantive info; we can merge culture and about role into About the role section. Let's extract paragraphs: "The Company We believe general-purpose, generally-intelligent robots will be built in our lifetimes. Robots will work in our factories, move our goods, walk on our streets and eventually be in our homes. To build that future, research and deployment must work in lockstep: real-world operation must make the technology better and better technology must make deployment easier. We're looking for the thinkers, builders, and researchers who want to be part of that loop. As an AI robotics company that deploys its inventions directly into the facilities that need them, on state-of-the-art hardware, every line of code written at Tutor has a direct impact on the global, physical economy. Our Culture We believe that something truly special can happen when talented, motivated people work together; at Tutor, every member of our team is empowered to have real impact in everything that they do. We're characterized by both technical excellence and next-level collaboration and respect." Then "About The Role" paragraph: "Tutor designs and builds its robots, manufactures them, deploys them into customer facilities, maintains them, and teaches them new work. Each of those functions runs on software we wrote: the systems that track each robot, its site, its owner, its service history, and its current job. That software, and the shared data model underneath it, is what this role owns. Today that ownership is spread across many people. Maintenance, manufacturing, tutoring, deployment, and sales each have tools that were built by whoever needed them first, and the definitions they share live in a schema that nobody owns end to end. We're looking for a senior engineer to take responsibility for the company's internal systems and the data model they run on, and to improve both as the company grows. We build our own tools. We wrote our own PLM, and we are customizing our own MES rather than buying one off the shelf. When a function needs software we usually write it, use it ourselves, and keep improving it, and we plan to keep doing that as we grow. This role owns the systems that habit produces. This is a role for someone with senior software experience who likes operations. You'll spend time on the manufacturing floor, on deployment calls, and with the people who maintain robots in the field, because the systems you own are theirs to use. You'll also spend a lot of time in the schema, since a change to what a "robot" or a "job" means touches every function at once. A significant portion of this role involves working with AI coding agents. Internal tools are a good fit for agents, and you'll direct them to build and maintain a large surface of internal software, review their output critically, and design the interfaces and data that make them effective." Then "What You'll Do" list items (each starts with Own the shared data model: ...). We'll convert each to - . Then "What We're Looking For" list items (6+ years building production software..., Data modeling..., Full-stack fluency..., Comfort with the people side..., Comfort with AI coding agents..., Judgment about what to build:). We'll convert each to
- . Then "Nice to Have" list items (Manufacturing or field-service systems..., Robotics or hardware companies..., Data warehousing and analytics..., gRPC and Protocol Buffers..., Having been the first or only engineer on internal tools at a growing company). We'll convert each to
- .
Then "About Our Roles & Titles" paragraph: "At Tutor, we believe great engineers and researchers are defined by what they build and the impact they have — not where they sit in an org chart or what title they have. Therefore, everyone in our R&D org holds the title Member of Technical Staff (MoTS). Our job postings use standard titles so you can find us, but if you join Tutor, you'll be a MoTS — with a level that is determined through the interview process. That also means we hire people, not slots. Work at Tutor evolves every quarter, and we set the expectation of flexibility from day one — it's common for people to start on one thing and shift to another based on where the team needs them most. A high technical bar across the board is what makes that flexibility possible: it's what allows people to contribute meaningfully whatever problem they take on."
We can include that as a paragraph under About the role or maybe a separate section like "Company Policy". Since we have no heading for that, we could add a paragraph under About the role after the initial description.
Thus final HTML:
About the role
... (combined company + culture + about role + roles & titles)
Responsibilities
- Own the shared data model: The definitions of robots, sites, customers, parts, jobs, and people that every internal system reads. You decide how it changes, migrate it safely, and keep it the single source of truth as new functions are added
- Own the internal systems each operations function runs on: Maintenance tickets and service history, manufacturing work orders and serialized builds, tutoring and teleoperation queues, deployment records, and the handoff from sales into all of them
- Turn how a function works into software: Sit with the people doing the work, understand the process, and build the system that carries it out
- Keep operations data trustworthy: Reconcile systems that disagree, replace the spreadsheets, and build the reporting the company uses for its weekly decisions
- Build with AI agents: Direct agents across a large internal codebase, keep the codebase in a shape agents work well in, and review what they produce
- Support the people who use what you build: Same-day answers when a floor or field process is blocked on a tool, and a fix to the process itself when the tool was not the problem
Requirements
- 6+ years building production software, including ownership of internal or operational systems: You have owned a system a business depends on day to day
- Data modeling as a discipline: You have designed and evolved a relational schema that many teams depended on, and carried out the migrations. PostgreSQL experience preferred
- Full-stack fluency: TypeScript and React on the front end, Python or TypeScript services on the back end, and comfort in whichever layer the problem is in
- Comfort with the people side of operations: You can sit with a technician or a plant manager, understand what they do, and come back with software that fits it
- Comfort with AI coding agents: You have used tools like Claude Code or similar for real engineering work, directing agents through multi-step tasks. You understand their failure modes and know when to trust vs. verify
- Judgment about what to build: You lean toward building a tool over buying one, and you can tell when buying is right. You know when a process needs software and when it does not
Skills
- Manufacturing or field-service systems: MES, ERP, work orders, serialized inventory, maintenance management
- Robotics or hardware companies, where the things being tracked are physical
- Data warehousing and analytics: dbt, ClickHouse, Metabase, or similar
- gRPC and Protocol Buffers
- Having been the first or only engineer on internal tools at a growing company
We believe general-purpose, generally-intelligent robots will be built in our lifetimes. Robots will work in our factories, move our goods, walk on our streets and eventually be in our homes. To build that future, research and deployment must work in lockstep: real-world operation must make the technology better and better technology must make deployment easier. We're looking for the thinkers, builders, and researchers who want to be part of that loop. As an AI robotics company that deploys its inventions directly into the facilities that need them, on state-of-the-art hardware, every line of code written at Tutor has a direct impact on the global, physical economy. We believe that something truly special can happen when talented, motivated people work together; at Tutor, every member of our team is empowered to have real impact in everything that they do. We're characterized by both technical excellence and next-level collaboration and respect. Tutor designs and builds its robots, manufactures them, deploys them into customer facilities, maintains them, and teaches them new work. Each of those functions runs on software we wrote: the systems that track each robot, its site, its owner, its service history, and its current job. That software, and the shared data model underneath it, is what this role owns. Today that ownership is spread across many people. Maintenance, manufacturing, tutoring, deployment, and sales each have tools that were built by whoever needed them first, and the definitions they share live in a schema that nobody owns end to end. We're looking for a senior engineer to take responsibility for the company's internal systems and the data model they run on, and to improve both as the company grows. We build our own tools. We wrote our own PLM, and we are customizing our own MES rather than buying one off the shelf. When a function needs software we usually write it, use it ourselves, and keep improving
- items from "What We're Looking For". Possibly separate "Nice to Have" as optional but could be under Skills or separate? The instruction: prefer few substantive sections over many thin ones. Could combine Requirements and Nice to Have into one Requirements section? But they are distinct: required vs nice-to-have. Could have Requirements and then Skills? But we can include Nice to Have as part of Requirements? Might be better to have Requirements (required) and then Skills (nice-to-have). However we have no explicit Skills section in posting; we could treat Nice to Have as Skills. The instruction: Use headings like Skills, Benefits, Pay, Schedule. So we can create a Skills section for nice-to-have.
Thus: