At Under Armour, we’re building software to power the future of connected fitness. We’re serious about individual growth and athlete achievement, and we’d like you to join us to build real products that will help millions of people improve their lives through better health & fitness. You will learn, grow, and play in an environment that focuses on results and delivery, all backed by one of the strongest consumer brands in history.
We're looking to add a new Senior Lead Engineer to our Foundation Engineering organization, which powers an ecosystem of over 200M athletes, fitness enthusiasts, and people pursuing a healthy lifestyle. In this role, you will work across teams to build services, tools, and libraries that enable our developers and partners to fulfill Under Armour’s mission to make all athletes better. We build the systems that our engineers (and our Partners’ Engineers) build on top of, and we care deeply about their stability and developer experience.
In this role, you will:
  • Design, build, and maintain services that are critical to Under Armour’s Digital Ecosystem
  • Mentor Engineers across Foundation Engineering, leveling up the team
  • Work across teams and up and down the stack to understand how to improve our services, and the developer experience associated with them, and get that work on our roadmaps
  • Build the vision of what our Foundation is today and what the future looks like
Projects you could work on:
The work of Foundation Engineering is often not front and center with our users, but if it fails, it becomes obvious very quickly. We’re focused on reducing our MTTD and MTTR and making our services increasingly resilient to failures in other parts of the infrastructure. We don't have the scale of a huge Internet company, but we have a lot of users and nontrivial request volumes that make it hard to debug issues quickly. We’re passionate about Cloud Native tech and are looking for more ways to participate in that community.
  • Overhaul our Kafka infrastructure: we need to take a fresh look at how we run Kafka and see how to make that more efficient and easier for our Engineers to use.
  • Distributed tracing and canaries for all: reduce the fear of deploying code by leveraging metrics and systems like flux and flagger to show how we can incrementally roll out changes.
  • Rethinking bulkheads and circuit breakers: a lot of our services are sensitive to issues upstream, or cause issues downstream. Work with our teams to increase resiliency using newer design patterns.
You should apply for this role if you:
  • Believe all developers should own their systems and be accountable to their reliability
  • Can quickly learn new distributed systems and are not afraid to hack at them with little direction
  • Can debug complex problems across distributed systems
  • Help other teammates grow through mentorship and coaching
  • Enjoy solving complex problems with a focus on delivering the smallest executable set
  • Have a solid understanding of both computer science fundamentals and what it takes to build internet-scale applications. You likely have a degree in Computer Science or similar field, or equivalent real-world experience.
    • Knowledge of design patterns and software engineering best practices
    • Have experience working at scale utilizing microservices architectures
    • Experience with Java
    • High volume Message Queues such as Kafka
    • Familiarity with AWS and/or other cloud computing platforms
    • Experience with Kubernetes and Docker

Apply for this Job

* Required