Senior Backend Engineer – Agents (USA Only - 100% Remote)
About this role
About Us
Since 2013, we’ve been building a CRM that gets out of your way and helps your team sell more, faster. Now we’re building AI into every part of it, so Close does the busywork and your team does the selling. No manual data entry, no 10-click workflows. Just communication-first, AI-powered sales software designed to help you succeed and scale.
We're bootstrapped and profitable which means we answer to our customers and play by our rules. We're proud of our 120-person, 100% remote team, focused on building Close so that no small, scaling business fails because it can't figure out sales.
Our Stack
Our backend tech stack consists primarily of Python Flask web apps with our TaskTiger scheduler handling many of the backend asynchronous task processing chores. Our data stores include MongoDB, PostgreSQL, Elasticsearch, and Redis. The underlying infrastructure runs on AWS using a combination of managed services like EKS, MSK, RDS and ElastiCache and non-managed services running on EC2 instances. We have CI/CD pipelines that build Docker images, run automated tests and deploy to Kubernetes clusters. We also use these images in our local development environment allowing coding locally against all of our services. We have a well-documented public API that is consumed by our front-end JavaScript app as well as numerous integrations. Our infrastructure is heavily automated using Terraform, Ansible and other AWS tools.
We love open sourcing our code and ideas on our GitHub and on The Making of Close, our behind-the-scenes Product & Engineering blog. Check out our open source projects like SocketShark, TaskTiger, LimitLion and ciso8601.
AI is both how we build and what we ship, and that's reshaped what engineering looks like. This is a transformation we’re embracing and find deeply exciting.
About the Role
We shipped our first agent, Chloe, in 2026. The Agents team owns the platform underneath: the agent core, the eval and observability layer, the MCP surface that external agents (Claude, ChatGPT, ElevenLabs, n8n) operate Close through, and the orchestration that ties it together.
The team is running three major streams right now: Voice Agents, the LLM-powered chat assistant, and Custom Agents. Most of the engineering problems here didn't exist a year ago. We're figuring them out in code, in production, in front of 11,000 paying customers.
One thing to know up front: we do move people between teams as the work shifts. Most engineers here end up on more than one team over their time at Close — this team is where you'll start, but over time you'll likely have the opportunity to work on many different projects.
This role is open at multiple levels — Software Engineer, Senior, and Staff. You don't need to pick one when you apply: we'll calibrate together during the process.
You Are
A seasoned engineer. Python is our backbone, but perhaps you've worked across Go, Rust, or TypeScript. You pick the right tool for the workload rather than retreating to what you know.
AI-native in production. You've shipped meaningful, impactful agentic features to users. You have opinions on retrieval, evals, tool design, context engineering, and where the current frontier models fall over.
Working with AI in your day-to-day. You use AI tools in your own workflow to ship faster, write tighter code, and reason about unfamiliar parts of the codebase. You have a POV on where they help and where they get in the way.
A builder first. You'd rather get a sloppy v1 in front of fifty customers than spend three weeks on abstractions. You ship.
Battle-tested. You've debugged incidents where latency budgets didn't hold, owned a system everyone else relied on, or carried a pager for something with real customer impact.
Close to the research. You read papers, or you've spent serious time in retrieval, RAG, RLHF, or fine-tuning. Not a researcher, but you can read one and tell us whether the result matters for our problem.
Comfortable with non-determinism. Much of your output is probabilistic. Conventional patterns don't hold. You find this fun.
You Will
Ship code execution for the assistant. The assistant decides when writing code beats answering non-deterministically — today that's generating charts and tables in Python on the fly; next it's reusable user-defined tools and calling external APIs to pull in whatever data the task needs.
Build the eval and observability layer that tells us when an agent is getting better. Unit tests don't cut it for non-deterministic output. We run evals and tracing (LangFuse and our own tooling) as the bar for shipping: if we can't measure it, we don't ship it.
Push generated UI forward. The backend increasingly decides what the user sees — the LLM picks the right presentation (table, chart, widget) and renders it in the assistant, with a full-screen experience and stored, referenceable artifacts on the roadmap. Effectively: customers generate the reports we used to hand-build, one custom report at a time.
Take Custom Agents from prototype to GA. Event-driven agents that act on what's happening inside the CRM in real time — an email lands, an agent drafts the reply from knowledge sources and context, the user approves. This is where we differentiate from the general-purpose assistants: we see the events, we have the context.
Make deterministic and non-deterministic systems work together. Sales processes need steps that happen every single time; LLMs are bad at that. You'll help fuse our Workflows engine with agentic steps so customers get reliability where it matters and intelligence where it helps.
Handle the edges that make agents trustworthy. What happens to a fleet of running agents when a customer's AI credits run out? Pause semantics, recovery, and making sure nothing places a hundred calls that were supposed to happen last week.
Pick the right model for the job. We use many providers, test new models constantly, and are moving toward cost-aware routing — simple summarization jobs shouldn't run on frontier-priced models. You'll call when something is production-ready and when it's still a demo.
Tech you'll touch: Python, Temporal, LangFuse, Pydantic, ElevenLabs, MCP, PostgreSQL, MongoDB — plus whichever LLM ships next.
Benefits
Compensation: Competitive pay plus an organization-wide goal-based bonus
Paid Time Off: ~5 weeks of PTO to start. Plus a 1-week all-company Winter Holiday Break and paid US holidays. You'll earn 2 extra days for every year you're with Close.
80% Work Option: Work with your manager to choose between a standard 5-day week or a 4-day week at 80% pay
Parental Leave: Paid leave for primary and secondary caregivers
Sabbatical: A 1-month paid sabbatical every 5 years with the team
Healthcare (US residents): Two medical plans with Close covering 99% of your premium, plus Dental, Vision, HSA, FSA, and company-paid Long-Term Disability
401k (US residents): We match your contributions up to 6%, vested immediately
Our Values
Build a house you want to live in - Examine long-term thinking and action
No BS - Practice transparency and honesty, especially when it’s hard
Invest in each other - Build successful relationships with your coworkers and customers
Discipline equals freedom - Keep your word to yourself and others
Strive for greatness - Constantly challenge yourself and others
Learn More
Listen to our CEO and Founder, Steli Efti, tell the story of Close’s journey in the $0-30m Blueprint.
Watch our culture video from our 2023 team retreat in Milan. Every year our entire team gathers in person to build connection, foster cross-functional collaboration, and have fun. In 2027, we're headed to Dusseldorf, Germany!
Explore our product. Check out a demo!
Our Hiring Process
We ask a few role-specific questions as part of our application process. These questions are designed to help us learn more about you from the start, so please answer each one thoughtfully. We see this as an opportunity to get to know you beyond your resume.
We use AI tools daily at Close and expect candidates to do the same. In evaluating your application, we aim to get a sense for you - the way you think, how you communicate, the work you've done. Applications that read as fully AI-generated will not be considered.
Regardless of fit, you can expect to hear back from our team with an update on the status of your candidacy.
If you progress to the interview process, you'll receive a full outline of the role-specific steps in your first touchpoint with us. We do our best to make the hiring process clear and human.
