Summary
Ambitus is an applied AI product and research company that partners with domain experts and enterprises to advance frontier AI capabilities. The Software Engineer will build and test features in actively maintained open-source codebases, write precise feature specifications, review implementations and tests, and use project toolchains, Docker, and Git to reproduce and maintain software systems.
Responsibilities
- Implement new features in established open-source repositories (TypeScript/JavaScript, Python, Go, Rust) from a written specification, following the project's existing architecture, conventions, and test suite
- Write thorough automated tests for features that check observable behavior, cover edge cases and error paths, and run deterministically (no network access, no timing-dependent assertions)
- Write feature specifications where every sentence is a testable claim: exact defaults, exact error messages, ordering guarantees, and edge-case rules
- Review an implementation and a test suite written from the same specification, find where they disagree, and determine which side is wrong and what must change
- Make a fresh clone of a repository, install dependencies, run the project's native toolchain (npm/pnpm with vitest or jest, go test, pytest, cargo), and reproduce that setup in a Docker container
- Use git the way a maintainer would: feature branches, clean commits with everything committed, and comfort reading a project's history to understand why the code is the way it is
- Write clear, structured technical notes and feedback that a fellow engineer could act on without further explanation
Skills
- At least 2 years of professional experience building software, through employment, internships, or substantial open-source or independent projects
- Bachelor's degree in Computer Science or a related technical discipline, or equivalent practical experience
- Read, trace, and reason about unfamiliar code in medium-to-large codebases (tens of thousands of lines) across multiple languages, and match the existing style when you change it
- Strong in at least one of TypeScript/JavaScript (Node.js), Python, or Go, and able to become productive in a second one quickly. Rust is a plus
- Hands-on experience with standard test runners (vitest or jest, pytest, go test) and a working understanding of unit, integration, and end-to-end testing
- Understanding of how to write a test that fails before a change and passes after it, and how to tell when a test is asserting more than the requirement actually says
- Comfort with the command line, git, and Docker basics (writing or adapting a Dockerfile, running a project inside a container)
- Precise written technical English
- Contributions to open-source projects, or a project of your own that others use
- Experience with additional ecosystems and runners (Rust/cargo, mocha, Deno) or with CI systems and machine-readable test reports (JUnit XML)
Qualifications
Must Haves
- At least 2 years of professional experience building software, through employment, internships, or substantial open-source or independent projects
- Bachelor's degree in Computer Science or a related technical discipline, or equivalent practical experience
- Read, trace, and reason about unfamiliar code in medium-to-large codebases (tens of thousands of lines) across multiple languages, and match the existing style when you change it
- Strong in at least one of TypeScript/JavaScript (Node.js), Python, or Go, and able to become productive in a second one quickly. Rust is a plus
- Hands-on experience with standard test runners (vitest or jest, pytest, go test) and a working understanding of unit, integration, and end-to-end testing
- Understanding of how to write a test that fails before a change and passes after it, and how to tell when a test is asserting more than the requirement actually says
- Comfort with the command line, git, and Docker basics (writing or adapting a Dockerfile, running a project inside a container)
- Precise written technical English
Nice to Haves
- Contributions to open-source projects, or a project of your own that others use
- Experience with additional ecosystems and runners (Rust/cargo, mocha, Deno) or with CI systems and machine-readable test reports (JUnit XML)
Benefits