Senior Software Engineer, Agentic Harness Quality and Performance
Listed on 2026-10-09
-
Software Development
Software Engineer, Full Stack Developer, AI Engineer (Applied/Software)
Senior Software Engineer, Agentic Harness Quality and Performance
London
Good Systems is the parent company behind Goodnotes, where millions of people capture and develop their ideas.
Goodnotes is where we started, and it's now the foundation for a growing family of products. By reimagining how we interact with information, we're bringing together human creativity and the breakthrough capabilities of AI.
We build products that help people turn good thinking into good work.
Dream big
Be visionary, strategic, and open to innovation
Build great things
Work in service of our users, always improving and pushing higher
Operate like an owner
Take responsibility with bold decision-making and bias for action
Win like a sports team
Be trusting and collaborative while empowering others
Learn and grow fast
Never stop learning and iterate fast
Share our passion
Share ideas and practice enthusiasm and joy
Be user obsessed
About the roleYou will join Paddington, our AI-native product line inside Goodnotes, and work directly with Steven, our founder, and a small team shipping new products. Engineers own the full cycle: they design, build, test, ship, and operate what they ship. Coding agents write the product code, and the engineer who merges it owns what lands.
You will ship product changes with a squad and build the harness around those agents: guides and automated checks that catch defects and performance regressions before the code merges. When a defect reaches users, or a user-facing path gets slower, you change the product code or the check and show the measurement. You'll be an individual contributor reporting to the Engineering Manager.
We hire at Senior level and welcome Staff-level candidates.
- This role will be required to work on-site, 5 days per week in our London Paddington office
- This is a permanent role
- This role does not include visa sponsorship
- You start in a product squad on day one and ship code users can run. You keep 20 to 30 percents of your time in a squad after that, and the checks you write come from that release path.
- You design the guides and checks that steer the coding agent before it edits and correct the edit after. Fast, deterministic checks run in the agent session and at pre-commit. Slower checks run in CI. Every message tells the agent how to fix the finding. You track which checks fire and remove the ones that never do.
- You improve the software users run. You take a defect class or a performance regression that reached them, change the product code or add a check aimed at that class, and publish escaped defects per release with the performance numbers for that product.
- We build for iOS, Android, Mac, Windows, web, and backend. You have shipped on at least one of them. You package the guides and checks per platform so a new repo starts with them in place.
- You write each check so another engineer can add the next one. Squads choose what to adopt, so the check has to earn its place.
- 5 or more years as a software engineer shipping features, services, or app changes to users, in at least one of Swift, Type Script, Rust, Go, or Java. You still write and merge code in that language.
- Static analysis you built for a team: custom lint rules, dependency rules, and messages that describe the fix. Pre-commit and CI you designed, with fast checks early and slow checks after integration.
- Daily use of a coding agent such as Claude Code, Cursor, or Codex to write product code, and a guide, lint rule, or eval you committed that runs on the agent's next edit.
- A performance change in product code you can walk through. Startup, latency, memory, battery, or throughput, with the before and after measurement…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).