Ionworks is building next-generation battery simulation and optimization tools, powered by PyBaMM and modern cloud infrastructure. Our mission is to accelerate the development of better batteries, enabling faster electrification, safer devices, and more sustainable energy systems. The backend you build will directly support large numbers of simulations and help engineers design real-world batteries faster and more efficiently.
As our first dedicated backend and systems hire, you will own the architectural backbone of our platform. You will work closely with the founders and a small, high-velocity engineering team to build reliable APIs, optimize performance across the stack, and design robust data systems for numerical simulation workflows. This role is for someone who practices "vibe engineering" : using LLMs and coding agents seriously and responsibly, while staying fully accountable for the quality of the systems you ship.
What you will do
- Build and evolve backend services using FastAPI, async Python, and Supabase or Postgres
- Design clear, stable API contracts for simulation, optimization, and data workflows
- Architect schemas, transactions, indexing strategies, and migrations for evolving scientific workloads
- Diagnose and optimize performance end to end, including query plans, network latency, concurrency, and resource limits
- Build resilient async job flows for running and tracking simulation pipelines, including distributed or queued workloads
- Implement observability across the backend : tracing, logging, metrics, error handling, and recovery strategies
- Use LLMs and coding agents to accelerate work while keeping a strong human review loop, tests, and code quality
- Collaborate directly with the founder and compute engineers to shape system architecture, engineering culture, and technical standards
- Influence core technical decisions and establish backend best practices as we scale from a handful of customers to many more
Requirements
Requirements
4+ years of experience building production backend systems in Python (FastAPI, Flask, or similar frameworks)Strong SQL and Postgres experience, including schema design, query optimization, and migrationsExperience debugging complex systems : async concurrency, database connection pools, distributed or multi-service flowsFamiliarity with cloud environments (for example AWS, GCP, Porter), Docker, and CI / CD pipelinesComfortable owning systems that serve real users : you care about correctness, performance, observability, and securityExperience using LLM tools in a serious way : as helpers and agents that you supervise, not as one-click generatorsClear communication and the ability to work autonomously in an early-stage, fast-moving environmentNice to have
Experience with distributed or parallel systems such as Celery, Ray, Dask, or HPC queuesBackground in numerical computing, scientific Python, or simulation workflowsExperience with multi-tenant architectures and dataset isolation strategies, including row-level securityFamiliarity with TypeScript or React, or building well-defined API contracts for frontendsInterest in energy storage, electrification, or engineering toolingContributions to open-source projects, especially PyBaMM or scientific or infrastructure toolingWhat we mean by "vibe engineering"
We are not looking for "vibe coding" where you paste a prompt into an LLM and ship whatever looks like it works.
By "vibe engineering" we mean an approach where you :
Use LLMs and coding agents to speed up work, but stay fully responsible for the architecture, quality, and maintainability of the codeLean on strong engineering practices that make agents more effective :Automated tests, ideally written first or earlyClear high-level plans before codingDocumentation that explains how systems fit togetherClean Git history, small commits, and the ability to bisect and debugCI, linting, formatting, and preview environments that keep changes safeTreat agents like very fast but very literal collaborators :You give them clear specs and success criteriaYou review their output criticallyYou use manual QA and exploratory testing to catch edge casesUse research and judgment to choose approaches before writing code, instead of asking an LLM to "just build something"Maintain a sense for which tasks are safe to delegate to AI and which require manual careIn other words : you use AI tools to expand your impact, not to avoid thinking. You stay an engineer, not a prompt operator.
Benefits
Why join Ionworks?
Work that matters : your engineering directly accelerates electrification and next-generation battery development.Early ownership : shape our core architecture, engineering culture, and have meaningful equity.Greenfield systems : build infrastructure that supports advanced simulation pipelines used by leading R&D teams.Tight-knit team : collaborate with world-leading experts who deeply care about the tools they are creating.Innovation culture : help define a modern cloud platform at the intersection of physics simulation, data systems, distributed compute, and serious AI-assisted development.Benefits
Unlimited PTO401(k) plan with employer matchMedical, dental, and vision coverageRemote-first work environmentPaid parental leaveHome office and hardware budget