Full Stack Engineer
We are looking for a hands-on Product Engineering Lead to lead a team of approximately ten engineers building Epom’s programmatic advertising products.
You will bring technical depth, product judgment, and people leadership to help the team deliver useful, reliable software. Working closely with Product, DevOps, and senior engineers, you will turn product needs into practical technical solutions, guide delivery from discovery through production, and develop the team’s engineering capabilities.
As we expand our use of AI-assisted development, you will help establish practices that improve delivery while maintaining strong standards for correctness, maintainability, and reliability.
📍What you will do
- Lead the team’s day-to-day engineering work, establish clear ownership, and help engineers resolve technical and delivery challenges.
- Partner with Product to clarify problems, challenge assumptions, assess feasibility, and define achievable scope and success measures.
- Guide features from solution design through implementation, testing, release, and production monitoring.
- Stay hands-on through implementation, technical design, code review, and debugging, particularly on complex or high-impact work.
- Work with senior engineers to balance product delivery with system reliability, performance, and long-term maintainability.
- Work closely with DevOps on deployment, infrastructure, capacity, and production incidents.
- Coach engineers with different experience levels, provide regular feedback, and establish clear expectations for quality and ownership.
- Develop effective AI-assisted engineering practices, including how the team reviews, tests, and validates generated code.
- Use delivery and production data to identify bottlenecks and improve how the team works.
📍What you bring
- 5+ years of software engineering experience, with a strong fullstack background: Java on the backend and TypeScript with a modern frontend framework (Angular or React preferred), plus recent hands-on responsibility for production software.
- Experience leading an engineering team while remaining actively involved in technical decisions and delivery.
- Experience as a Technical Product Manager or Product Engineer, or in a similar product-facing engineering role.
- A record of delivering features end to end, including clarifying requirements, making tradeoffs, releasing safely, and addressing production issues.
- Product judgment: the ability to understand user needs, question proposed solutions, and reduce scope without losing the intended value.
- Sound technical judgment across software design, testing, observability, performance, maintainability, deployment and operations.
- Working knowledge of infrastructure: Linux, networking, servers, and storage (e.g. RAID), enough to work effectively with DevOps and troubleshoot production issues.
- Practical experience using AI coding tools, with a disciplined approach to evaluating and verifying their output.
- Experience coaching engineers, giving actionable feedback, and addressing performance concerns.
- Clear communication with engineers, DevOps, product colleagues, and other stakeholders.
📍Useful additional experience
- High-throughput or low-latency systems.
- Adtech, including DSPs, ad serving, exchanges, or real-time bidding.
- Large-scale data processing, analytics, or reporting.
- Leading changes in engineering practices or helping a team develop new technical capabilities.
📍Our stack
- Backend and infrastructure: Java 21, Tomcat 10 (Jakarta EE), gRPC / Protobuf, Jersey (JAX-RS), OpenAPI (Swagger), Consul, HAProxy, Docker, Maven (mvnd), Git
- Data and messaging: Kafka, Druid, Aerospike, ClickHouse, MongoDB, MySQL, PostgreSQL, Hadoop / HDFS, Parquet / Avro, ZooKeeper, Hazelcast, Elasticsearch / Lucene, object storage (S3, GCS, Azure Blob, MinIO)
- Monitoring: Prometheus, MoSKito
- Testing: JUnit 5, Mockito, Testcontainers, TestNG, REST Assured, Allure, JMH
- Frontend: TypeScript, JavaScript, Angular 16, RxJS, NgRx, Angular Material, Bootstrap, SCSS, Highcharts, React 19 with Vite and Tailwind, ESLint / Prettier, Karma / Jasmine, Node 24
- AI tooling: MCP servers built with the Java MCP SDK, including our own MCP server for the DSP
- SDLC and tools: Jira, Confluence, Bitbucket, Bamboo, GitLab CI, Nexus, Artifactory, PMD, Checkstyle, JaCoCo