Position: Middle/Senior Java Engineer
Company: AgileEngine
Category: Java
Experience required: 2y
English level: intermediate

As an exchange engineer, you will be responsible for improving our exchange that’s handling billions of ad requests a day and quickly growing, optimising our real time bidding logic, and enhancing our computer vision and image resizing technology that handles millions of unique image combinations a day.

**What is required?**
 - Experience in building out high performance APIs and services leveraging 
 - Java, experience with Netty and event-driven, non blocking applications is a bonus;
 - Experience working on large scale systems and network heavy systems capable of handling billions of HTTP requests a day;
 - Familiarity with in-memory key value stores such as Memcache, Redis or Aerospike
 - Comfortable working with queues or other messaging systems such as RabbitMQ or Apache Kafka
 - Comfortable taking ownership of projects and showcasing key accomplishments;
 - Strives for continued learning opportunities to build upon craft;
 - Excellent organisational skills and attention to detail;
 - Ability to work quickly and independently with minimal oversight;
 - Ability to accept feedback and constructive critique positively;
 - Solid understanding of different design patterns and their associated tradeoffs;
 - Extremely strong and demonstrable work ethic.

**Core Technologies**
 - Java 8 & Netty to power our real time bidding ad exchange & large scale API
 - Apache ZooKeeper & Apache Kafka to power our message bus
 - Memcached & Aerospike as our high speed datastores
 - Amazon Web Services, Terraform, & Ansible to manage our deployment and infrastructure.

**What you will do:**
 - Own a mission critical codebase that’s at the heart of TripleLift’s value proposition;
 - Write maintainable and well tested code that will be executed billions of times a day and needs to respond in hundreds of milliseconds;
 - Manage and actively monitor the health of our exchange which runs globally across multiple AWS regions and data centers;
 - Research and implement cutting edge technologies that improve the performance of our exchange;
 - Design systems for scale that can handle an order of magnitude growth in traffic;
 - Mentor and coach others on the engineer team around Java and distributed systems best practices.