Skip to content
Goodnotes

Senior Software Engineer, Agentic Harness Quality and Performance

London; PaddingtonUnited Kingdom
Senior · Engineering
POSTED 6 OCT
Apply Ask
Role
34 days opentrue age
Posted 6 Oct
Pay
£87k–£131kno pay posted
Market p25–p75
£87k–£131k
London · n=35 · 365d to 6 Nov
CompanyGoodnotes →
5open roles
Opened · 30d
+0
Closed · 30d
−0
30d window
Market
17,058open · Senior Software engineering
Opened · 7d
+8955% of open
All software engineering
75,153open
All tracked boards · live 10 Nov · n=17,058
Visa
✓licensed sponsor
UK licensed sponsor
✓Worker (A rating)
Checked 9 Nov
TypeScriptGoJavaRustSwift/iOSAndroid

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.

Our Values

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

Empathetic, inquisitive, practical

About the role

You 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

This is the role for you if you're excited to work on

  • 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.

The skills you will need to be successful

  • 5 or more years as a software engineer shipping features, services, or app changes to users, in at least one of Swift, TypeScript, 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 from the product or its benchmark.
  • A tool you built that other engineers adopted and extended on their own.
  • Judgment about when a check is enough. A long rule list slows the engineers and the agents.
  • You work with engineers, designers, and product. You set your own agenda, act before you are asked, and handle ambiguity and conflict.
Source · GoodnotesFirst seen 7 NovOriginal ↗