About the team:
Join our Walmart’s Display Ad team of skilled engineers and help shape the performance optimization strategies of our cutting-edge systems. If you're a passionate and driven individual with a knack for uncovering system bottlenecks and fine-tuning performance, we encourage you to apply and be a part of our innovative journey.
Position Overview:
We are seeking a talented and experienced Software Engineer-Backend to join our team of skilled professionals. As a Performance Engineer, you will play a critical role in ensuring the optimal performance of our systems. The ideal candidate should possess a deep understanding of Java applications, have the ability to identify and resolve system issues and performance bottlenecks, and be comfortable working in complex distributed systems across multi-cloud environments.
What You’ll Do:
- Collaborate closely with cross-functional teams including developers, architects, and operations to identify performance bottlenecks, system issues, and areas for optimization.
- Conduct thorough performance analysis of Java-based applications through profiling, monitoring, and benchmarking to identify performance degradation and suggest improvements.
- Deep dive into the codebase to understand the root causes of performance issues, including resource contention, memory leaks, and suboptimal algorithms.
- Develop and execute performance testing strategies to simulate real-world scenarios, stress-test system components, and uncover performance limitations.
- Design, implement, and execute performance experiments to evaluate the impact of code changes and system configurations.
- Work hands-on to fine-tune system parameters, configurations, and resource allocation to achieve optimal performance results.
- Collaborate with development teams to provide guidance and recommendations on code optimizations, caching strategies, and concurrency enhancements.
- Utilize performance monitoring and profiling tools to track and analyze system behavior, and proactively address potential bottlenecks.
- Collaborate on designing and implementing performance-related features that enhance the overall scalability and efficiency of the systems.
- Document performance analysis findings, optimization strategies, and best practices for future reference.
- Stay current with emerging technologies, industry trends, and best practices related to Java performance and distributed systems.
What You’ll Bring:
- Bachelor’s degree in computer science, Software Engineering, or a related field. Master's degree is a plus.
- Proven experience (8+ years) as a Performance Engineer, preferably with a focus on Java-based systems.
- Proficiency in Java programming language and deep knowledge of Java internals, memory management, and threading.
- Strong experience with performance profiling tools and techniques to identify bottlenecks in code and system components.
- Solid understanding of distributed systems architecture and design principles.
- Familiarity with multi-cloud environments and hands-on experience in optimizing applications for cloud deployment.
- Ability to analyze and interpret performance metrics to make informed decisions on system optimizations.
- Experience with performance testing frameworks and load generation tools.
- Familiarity with containerization technologies (e.g., Docker, Kubernetes) and their impact on application performance.
- Strong problem-solving skills with the ability to troubleshoot and debug complex systems.
- Excellent communication skills to collaborate effectively with cross-functional teams and present performance analysis findings.
- Ability to work independently and take ownership of performance-related tasks and projects.
- Certifications in performance engineering or relevant cloud platforms is a plus.
- Openness to learning new technologies and adapting to evolving challenges.