About us
Penlink is a global leader in digital intelligence solutions. Our advanced technologies simplify complex data, empowering public safety organizations to make informed decisions quickly and effectively. We believe in the power of data-driven intelligence to accelerate clarity in decision-making for global security, strategic operations, and the most critical missions. Headquartered in the US with offices worldwide.
About the role
We're building complex, production-grade AI features into our platform, and we're looking for a strong full-stack agentic engineer to design, ship, and own them end-to-end — from the agent and backend logic all the way to the UI client.
This is a close-the-loop role: you should be just as comfortable building the service that orchestrates an LLM call as you are building the UI components that present its results to the user. It's first and foremost a software engineering role — we want real engineering talent that has made the shift to modern, agentic development: directing agentic coding tools, reviewing their output, and holding the result to production standards.
What You’ll Do
- Own complex features end-to-end: investigate the problem, write the technical design, break the work into components and dependencies, then build, test, and roll it out.
- Work closely with Product to refine requirements — question assumptions and surface edge cases, failure modes, and trade-offs before they reach production.
- Work across the stack: design backend services, APIs, agents, and agentic flows, build the client experience, and connect them into something that works reliably.
- Contribute to a complex, production-grade agentic system — not a simple chatbot. Agents here use tools, share context, and execute multi-step workflows, and your work plugs into that architecture.
- Integrate AI capabilities — LLM calls, structured outputs, tool/function calling, retrieval — sensibly, measure their quality, latency, and cost like any other part of the system, and know when a deterministic solution is the better choice.
- Integrate with external APIs and data providers, designing for rate limits, timeouts, partial failures, and usage cost.
- Own the production health of your features, including observability, root-cause analysis, and delivering fixes safely across supported release versions.
Requirements
- 4+ years of professional software engineering experience, with strong programming fundamentals and a solid grasp of backend system design — APIs, data modeling, concurrency, and performance.
- Proven full-stack experience: backend services and APIs, and modern frontend development (e.g. Angular, React, Vue, or similar).
- A track record of owning complex features through to production — breaking down ambiguous problems, identifying risks and dependencies, and following through after release.
- Practical, daily use of agentic coding tools such as Claude Code, Cursor, Copilot Agent Mode, Codex, or similar.
- Clear communication with both technical and non-technical stakeholders, including clear written technical designs.
Nice to Have
- Experience developing in a microservices environment on cloud architecture — AWS, Docker, and Kubernetes.
- Experience with multi-agent workflows, tool-using agents, or RAG pipelines.
- Familiarity with orchestration frameworks (LangChain, LangGraph, Semantic Kernel, AutoGen, CrewAI, or MCP-based tools).
- Hands-on experience building AI-powered features — LLM integration and structured outputs, evals (prompt regression, LLM-as-judge), and AI UX (streaming, chat, human-in-the-loop).
- Distributed systems experience: message queues, caching (e.g. Redis), and durable workflow engines (e.g. Temporal).
- Experience with relational databases (e.g. PostgreSQL), including schema design and query performance.
- Angular experience.
- Backend development experience with C# / .NET.
- CI/CD, feature flags, automated testing, and production observability (e.g. Datadog, OpenTelemetry).