Senior Performance Engineer (Remote)
Upgrade is a fintech unicorn founded in 2017. We are the fastest-growing company in the Americas (Financial Times). In the last five years, over 15 million people have applied for an Upgrade card or loan, and we have delivered over $10 billion in affordable and responsible credit. Our innovative Upgrade Card is the fastest growing credit card in America (Nilson Report). Combining the flexibility of a credit card with the low cost of an installment loan helps us redefine banking.
Upgrade has been named a “Best Place to Work in the Bay Area” three years in a row, one of the “Top Companies to work for in Arizona”, “Best Engineering Team" and we have received awards for being a best company for Diversity, Women, Culture, and Veterans.
We are looking for new team members who get excited about designing and delivering new and better products to join a team of 1300 talented and passionate professionals. Come join us if you like to tackle big problems and make a meaningful difference in people's lives.
Our QA team has end-to-end ownership to build a quality product. Through automation and functional testing, they validate a variety of products to offer our customers a seamless banking experience.
As a Performance Engineer, you will work directly with our product teams and will be responsible for ensuring that new features and application changes meet performance requirements. You will create and maintain performance testing and analysis scripts using a variety of tools. Within your first year, you will develop an understanding of how to deliver high performing software at the pace of feature development. You will work in an environment that promotes ownership at all levels including delivery and monitoring in Production.
Java, Scala, Gatling, Springboot, REST API, Prometheus, Grafana, Honeycomb, Kubernetes, Jenkins, Docker, AWS, Kafka
What You'll Do:
- Develop new performance simulations at the pace of feature development through our built in performance test framework using Gatling.
- Understand software architecture, debug issues, analyze log files, traces, dumps, etc. Using this knowledge to identify areas of improvement, and making infrastructure or code changes to improve performance.
- Provide comprehensive performance test strategies to the product teams for the creation and execution of performance and load tests, and generate periodic performance reports for cross-team review.
- Deploy microservices by spinning up disposable environments in Kubernetes to configure and execute performance tests.
- Conduct performance profiling, identify key metrics for monitoring, and ensure high availability for our applications by improving capacity, reliability and scalability of the system performance and overseeing the life cycle, performing root cause analysis and suggesting corrective actions for issues.
- Monitor, troubleshoot and run synthetic tests right in production, after having identified improvements and executing simulations.
What We Look For:
- Knowledge in Agile methodology and API performance/load testing tools like Gatling.
- Ability to analyze tiered web architectures, point out performance bottlenecks, limitations, optimizations and resolutions.
- Experience with performance, scalability and reliability testing methodologies.
- Experience with testing high quality, high availability customer facing applications.
- Knowledge with performance monitoring counters such as response time, throughput, latency, and memory.
- Experience with Honeycomb, SumoLogic, Prometheus, Grafana, or similar observability tools.
What We Offer You:
- Competitive salary and stock option plan.
- 100% paid coverage of medical, dental and vision insurance.
- 401(k) company match program.
- Unlimited vacation.
- Learning stipend for personal growth and development.
- Paid parental leave.
- Health and wellness initiatives.