IMPORTANT: Include your GitHub (or similar) and/or any personal project demos in the Supporting Links field of the application form below. Please also include a brief note on an AI feature you’ve shipped, and your earliest start date in the Why SCHMACK? field.
As a Junior Software Engineer, you will ship v2.0 of SCHMACK AI Studios: multi-modal app, utilising models from OpenAI, Anthropic Claude and Google Gemini, with full prompt and response logging and a content feedback loop. You will harden the existing modules for production use and tailor deployments for clients. You must have the ability to work directly with the Product Owner and designer (you’ll be engineer #1).
Own full-stack features (Next.js + Tailwind / FastAPI + Postgres).
Prototype new AI workflows quickly and influence the product roadmap.
Create evaluation harnesses and dashboards so users can trust model output.
Implement RBAC, GDPR-compliant logging and SOC-2 controls.
1-2 years of production software experience, including working on at least one customer-facing AI feature.
Strong Python and TypeScript, plus REST, websockets and cloud-native CI/CD.
Ability to explain model and prompt choices to non-technical colleagues.
orComfortable taking a live v1 to a reliable, scalable product and able to pick up tasks across the stack.
Front-end fundamentals (HTML / CSS / JavaScript) and React/Next.js
Leading martech APIs (Braze, Contentful, Amplitude, Snowflake, etc.)
Direct client-facing or agency delivery work
Weights & biases (experiment / prompt tracking)
Model Context Protocol (MCP) or similar LLM-chaining specs
Supabase Auth, RLS, and pgvector (or other vector store)
LangChain, LlamaIndex, or other RAG / evaluation frameworks
Terraform and Google Cloud Run deployments
Observability stacks (Datadog, Sentry, OpenTelemetry)
We believe in diversity and that different people and backgrounds bring different perspectives; perspectives that are imperative when working with CX/CRM.
Please fill in your details below and we will reach out within 14 days if we wish to proceed with your application. Whilst we try to respond to all applicants, we cannot commit to responding to all unsuccessful applicants.