Sr. Software Engineer, RTB Systems
At TubeMogul, our people are our greatest asset and we are all driven by a core set of values. We are builders, dreamers, thinkers, designers, and doers. We work hard, we work together and we work towards a common goal. Of course, we also have fun.
We build software * sophisticated, powerful, game-changing software * and we are leading the charge in one of the hottest sectors around: ad technology. Specifically, we build software for brand advertising. Our software is used around the world by the largest brands and agencies to plan, buy, measure and optimize their video ad campaigns from a single dashboard.
We are seeking a Senior Software Engineer to work on the system team to with an emphasis on performance and scalability for our real-time bidding platform. Responsibilities include establishing strategies for improving the overall platform performance, developing testing strategies, and environments for load/performance testing.
The ideal candidate has a strong background in Java knowing the performance impacts of efficient code. The candidate should be comfortable profiling and monitoring JVMs and digging into code that can be improved. Knowledge of open source technologies and large-scale distributed systems experience is a must for this position. You have a pragmatic, results-oriented approach to systems engineering and are excited to work on a large Java platform and big data stack.
In this role, you will be expected to acquire a deep technical understanding of the platform; plan, design and execute on the RTB systems roadmap; as well as provide mentorship to other engineers on the team. You will be working with a talented team of developers, testers and site reliability engineers to make our platform perform at the next level.
Job Requirements:
- You nerd out when you implementing a more performant design or use a better data structures.
- Excited to quantify, improve and measure performance on the platform through tools and technologies
- Familiar with tracking down issues to the load balancers, application containers, database, software components and/or network layer.
- Ability to partner with architects, developers, systems reliability engineers and DBAs to collaboratively tune systems.
- Experience in leveraging performance tools and profilers like JMeter, VisualVM and YourKit
- Experience tuning Java Virtual Machine (JVM) settings for high performance low latency systems
- Mentor junior developers (i.e. demonstrate good coding practices and help them architect code intelligently).
-
Contribute to and promote good software engineering practices across the team.Qualifications:
- 5+ years of industry experience in performance engineering of complex back-end distributed systems.
- 5+ years of demonstrated experience with Java (Java preferred or another high-level object oriented language).
- BS CS or equivalent qualitative degree (MS preferred)Compensation and Benefits:
You’ll appreciate a competitive compensation package including an equity component and excellent benefits. You’ll love a challenging work environment, exceptional colleagues, strong business momentum, clear objectives and the ability to make a difference. Benefits include: medical, dental, vision, 401K matching, company events and an extraordinary culture.
Desired Skills and Experience
See application page for details