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.
Preferred:
- LLM-as-judge checks or eval suites for the product's output, or for an agent-written diff.
- Architecture fitness functions you wired into CI for performance, security, or observability.
- Shipped work on iOS or Android and on a server or web codebase.
- A full-cycle team where you operated what you built after it shipped.
The interview process:
-
Talent Intro Call: A conversation with our Talent Acquisition team to dive into your experience, what motivates you, and why you're interested in joining Goodnotes.
- Technical Pre-screen: A short Software Engineering-focused online rapid-fire questions round.
-
Role-Specific Assessment: A live session in our London Paddington office, focused on the core technical skills for this role. You use your own coding agent on a hands-on exercise, then talk through how you would design the harness. This is your chance to show us how you tackle real-world challenges.
-
Hiring Manager Interview: A deeper dive into your professional background, your preferred ways of working, and the specific impact you'll have within the team.
-
Values-Based Panel Interview: A conversation with 2-3 team members centred on our company values. We'll discuss past experiences to see how your approach aligns with our culture.
-
AI Literacy: As an AI-first company, we'll meet with one of our AI champions to discuss your curiosity, understanding, and practical use of AI tools in your daily workflow.
What's in it for you:
-
Customized Growth & Wellness Budgets: We provide dedicated stipends for the things that keep you at your best, including noise-cancelling headphones for deep focus, professional training, personal development, and health and wellness activities.
-
Global Connectivity: While we embrace flexible work, we love seeing each other. We provide sponsored visits to our beautiful office locations to foster face-to-face collaboration.
-
Company-Wide Offsites: Once a year, we gather the entire global team in person to celebrate our wins, align on our vision, and build lasting connections.
-
Comprehensive Health Coverage: Your well-being is our priority. We offer premium medical insurance for you and a dependent to ensure peace of mind for you and your family.
-
24 remote working days per year: Giving you the freedom to work from a location that suits your life. Whether that's closer to family, while travelling, or simply a change of scenery to refresh your focus.
Goodnotes is committed to fostering a diverse, inclusive, and equitable workplace. We welcome applications from individuals of all backgrounds, identities, and experiences, making all employment decisions based strictly on merit, qualifications, and business needs.
Note: Employment is contingent upon successful completion of background checks, including verification of employment, education, and criminal records.