Fountane Archipelago
A Little Bit About The Role
We are looking for a Senior Product Engineer (L3) who thrives in complexity. Most engineers build on blank canvases — you build on someone else's mess and leave it better than you found it.
The majority of your work at L3 will be on existing, live codebases — disorganised, partially documented, built by multiple teams over multiple years. Your job is to enter those systems, understand them before touching them, extend and clean them without breaking what works, and progressively bring them up to a standard where AI tooling can accelerate further development. This is the core of what L3 does at Fountane. If you have only built greenfield projects, this role will be hard.
You are expected to be genuinely full stack: comfortable owning web applications and mobile apps, the frontend, backend, database, state management, and API integration layer — without needing to hand off to a specialist.
You will work closely with the Concept Engineer on your Island — translating their prototypes into production architecture, raising technical blockers early, and keeping the sprint honest. You will also review code, mentor junior engineers, respond to production incidents, and contribute to the network's shared knowledge base.
All of this is done primarily with Cursor and Claude as your execution and reasoning tools. AI-assisted engineering is not a feature of this role — it is the method.
AI-First Engineering Expectation
Cursor and Claude are your primary tools — not supplements. Engineers at L3 who are not using AI at the codebase level are not operating at this level.
At L3, AI-assisted Engineering Means
- Loading full codebase context into Cursor before writing a single line — understanding the system before touching it.
- Writing scoped, precise refactor prompts that isolate changes to one concern at a time.
- Using Cursor to generate tests that document existing behaviour before any restructuring begins.
- Using Claude for architecture reasoning, decision documentation, and translating CE briefs into structured technical plans.
- Producing inline documentation and decision records as part of the AI-assisted workflow — not as an afterthought.
- Sharing effective prompt patterns and Cursor discoveries with the broader Fountane network — kept to yourself, they are a missed contribution.
Key Responsibilities
Legacy Codebase Refactoring & the Cleaning Phase
This is the primary L3 engagement type at Fountane. You will be handed existing, partially documented codebases — built by previous teams, often without tests, with inconsistent patterns — and your job is to refactor them into a clean, AI-promptable state without losing existing functionality. You use Cursor's codebase context window to navigate safely, write characterisation tests before touching anything, and make changes in small, reviewable increments. The standard is: every module you leave should be easier to extend by AI tooling than when you found it.
Full Stack Development — Web & Mobile
Build and own the full application layer: React / Next.js web frontends, React Native or Flutter mobile apps, Node.js / Python backends, and relational and non-relational databases. You should be able to pick up web or mobile on any engagement without needing a handoff. Schema design, data modelling, and state architecture are yours to own — including diagnosing and fixing broken or leaking state in existing frontends.
Third-Party API Integrations
Integrate complex third-party services — payments (Stripe), communications (Twilio), auth (Auth0), and others — reliably and without creating brittle dependencies. Own the integration layer end to end: error handling, retries, failure modes, and documentation. If a third-party integration is flaky in production, that is your problem to own.
CE Collaboration & Sprint Integrity
Work directly with the Concept Engineer to translate prototypes into buildable technical plans. Review CE briefs before the sprint starts — if the scope is technically unrealistic, the time to say so is before work begins, not on demo day. Raise blockers against acceptance criteria proactively. You are the technical check on what the CE promises the client.
Security Awareness
Write code that does not require the Lead to security-audit every line. This means: input validation by default, no hardcoded secrets, correct auth scoping, safe handling of user data, and awareness of common vulnerabilities (injection, broken auth, insecure direct object references) in the context of the stacks you work in. You are not the security architect — the Lead owns that — but you are expected to produce code that does not introduce obvious vulnerabilities.
Production Incident Response
When something breaks in production, you are on it. Diagnose the issue, apply a safe fix or rollback, document what happened and why, and hand a clear summary to the Lead for the client post-mortem. Speed matters, but a bad fix that causes a second incident is worse than a slow fix that is correct. Response expectation: acknowledged within 1 hour, resolved or escalated with a clear status within 4 hours.
Codebase Navigation & Safe Refactoring
On all engagements — not just Cleaning Phase work — keep changes small, focused, and reviewable. One type of change per commit. Write tests that document existing behaviour before restructuring. Leave every module easier to understand than when you found it.
Code Review
Review pull requests from L1 and L2 engineers with specific, actionable feedback — not rubber-stamp approvals. A good code review at L3 leaves the author understanding what to do differently next time, not just what to fix now. Review weekly; do not let PRs age.
Mentoring
Review junior engineers code weekly with specific, useful feedback — this is distinct from quality-gate code review. The goal here is teaching, not gatekeeping. Run monthly pairing sessions to help them grow. The measure of good mentoring is whether they are becoming more capable and less dependent on you over time.
Documentation
Write short decision records when you make significant technical choices. Leave every module you touch easier to understand than when you found it. Treat documentation as part of the engineering work, not a separate task you do at the end.
Qualifications
- 5+ years of experience as a software engineer, with a strong track record on real production codebases you did not build from scratch — incomplete documentation, inconsistent patterns, other people's decisions. If your experience is primarily greenfield, this role will be a difficult fit.
- Genuinely full stack across web and mobile: proficient in React / Next.js and at least one of React Native or Flutter, Node.js or Python on the backend, and comfortable with both relational and non-relational databases including schema design.
- Hands-on, daily Cursor and Claude usage at the codebase level. You should be able to describe concretely how you use AI in your engineering workflow — not in general terms.
- Experience integrating complex third-party APIs in production environments — not just following a quickstart guide. You should be able to describe an integration that failed in production and what you did about it.
- Solid security awareness for the stacks you work in: input validation, auth scoping, safe data handling. You do not need a security specialism, but you should not be writing code that introduces obvious vulnerabilities.
- Has conducted meaningful code reviews that improved the code and the author, not just approved the PR.
- Has coached or mentored junior engineers before, and done it well.
- Comfortable with production incident response — diagnosing issues under pressure, applying safe fixes, and communicating clearly to a Lead or client about what happened.
- Treats documentation as part of the job, not an afterthought.
- Bachelor's or Master's in Computer Science or a related field, or equivalent experience.
About Fountane
Fountane is a technology ventures lab - one part product studio, one part startup engine. We build high-quality software and AI products for clients ranging from fast-moving startups to large enterprises, and we co-build and invest in new companies when we see the right opportunity.
Founded in 2017 and headquartered in Minneapolis, we have grown to 60+ people across four continents and were recognised as one of America's fastest-growing companies, ranking No. 699 on the Inc. 5000 with 595% three-year growth.
We are radically open-minded, serious about craft, and direct about expectations. If you want to do meaningful work without politics, this is the place.
Skills:- React.js, NodeJS (Node.js), MongoDB, Generative AI (GenAI), Retrieval Augmented Generation (RAG), Harnessing, PostgreSQL and RESTful APIs