Role summary
We are hiring a full-stack Software Engineer to build and grow our web products, and to add AI features to them: LLM-powered assistance, AI integrations, and an MCP server that lets AI assistants work with our product data safely.
Key responsibilities
Product engineering
- Design, build and maintain backend services and APIs.
- Build clean, responsive frontend screens.
- Design database schemas and write efficient queries.
- Build features such as dashboards, workflows, role-based access, file uploads and report exports (CSV, PDF, PPTX).
- Write data migration scripts when systems change.
Integrations and security
- Build and document REST APIs and third-party integrations.
- Set up authentication: SSO (OIDC, SAML), MFA, role-based access control.
- Follow secure development practice: code reviews, dependency and SAST scanning, fixing reported vulnerabilities.
- Package and deploy releases for cloud and on-premises setups (Windows and Linux).
AI and LLM features
- Build AI assistants inside the product that answer user questions in plain language, grounded in our own data.
- Use LLMs to summarize data, draft reports and suggest next steps for users.
- Extract and classify information from uploaded documents, with a human confirming results.
- Measure AI quality and cost, and improve them release by release.
MCP server
- Build and maintain an MCP (Model Context Protocol) server that exposes product data and actions as tools and resources.
- Let AI clients such as Claude, ChatGPT or IDE agents work with the product through that server.
- Enforce the same user roles and data boundaries in the MCP server as in the web app, with audit logs for every AI action.
Required skills and qualifications
- 3+ years building production web applications, end to end.
- Backend: Java (OpenJDK) and Groovy with the Grails framework.
- Frontend:js, JavaScript, HTML and CSS.
- Databases: MariaDB (schema design, SQL, backup and restore with Mariabackup) and Neo4j (graph modelling, Cypher queries).
- Application server: Apache Tomcat, including TLS setup.
- Identity and access: Keycloak; SSO with OIDC and SAML using Okta, Microsoft Entra ID and Auth0; MFA and role-based access control.
- APIs: REST API design and documentation.
- Platforms: installing, upgrading and running applications on Windows Server and Linux (Ubuntu), including unattended upgrades.
- Secure coding practice: SAST scanning, dependency checks, SBOM maintenance, fixing penetration test findings.
- Clear written English for specs, API docs and user guides.
- Degree in Computer Science or similar, or equivalent hands-on experience.
AI, LLM and MCP requirements
The candidate must have shipped at least one LLM feature to real users, not only a demo.
Nice to have
- Experience building B2B or SaaS products with multi-tenant data.
- Experience with security, compliance or audit-related software.
- Generating PDF, PPTX or Excel reports from code.
- Building installers or packages for on-premises software.
- Open-source contributions, especially MCP servers or LLM tooling.
What success looks like
- First 30 days: Sets up the codebase locally, understands the data model, and ships two or three small fixes.
- By 60 days: Ships the first AI feature with cited sources, and a working MCP server with read-only tools.
- By 90 days: Owns a module end to end, adds write actions to the MCP server with role checks and audit logs, and has AI evaluations running in CI.
Interview process and how to apply
- Intro call (30 min): background, interests, availability.
- Take-home task (3-4 hours): build a small MCP server that exposes a sample dataset as tools, plus one LLM call that summarizes the results.
- Technical interview (60 min): walk through the task, then a system design question, such as adding an AI assistant to a multi-user web app safely.
- Founder chat (30 min): working style, ownership, expectations.