Ranked as #12 on Forbes’ List of 25 Fastest Growing Public Tech Companies for 2017, EPAM is committed to providing our global team of over 25,900+ EPAMers with inspiring careers from day one. EPAMers lead with passion and honesty, and think creatively. Our people are the source of our success and we value collaboration, try to always understand our customers’ business, and strive for the highest standards of excellence. No matter where you are located, you’ll join a dedicated, diverse community that will help you discover your fullest potential.
You are curious, persistent, logical and clever – a true techie at heart. You enjoy living by the code of your craft and developing elegant solutions for complex problems. If this sounds like you, this could be the perfect opportunity to join EPAM as a Java Lead for Performance Optimization. Scroll down to learn more about the position’s responsibilities and requirements.
Experience using Jira, writing stories and understanding its critical role in the delivery process;
Analyze existing performance issues and bottlenecks and propose the improvements for applications to meet expected holiday load requirements;
Do capacity planning for holiday readiness and growth;
Identify and fix application performance bottlenecks, which includes making changes to improve availability, performance and scalability in the application, systems or database layers;
Perform performance profiling and optimization for RTB platform and services;
Work with other engineers closely to improve code base performance (e.g. algorithm redesign), reduce resource consumption and shorten request latency;
Participate in code reviews of new features and applications being in development;
Determine hardware/software configurations for optimal performance;
Help teams to create and manage performance SLAs for their applications;
Participate, collaborate, and influence overall IT architecture, direction, and goals.
Extensive Java Development Experience;
Solid, current “hands-on” Java development profile with ability to roll up sleeves and code if required;
Knowledge of scalability, resiliency and high-availability;
Good understanding of architecture with focus on performance: caching strategies, synchronous vs asynchronous approaches, throughput vs latency;
Good understanding of JVM tuning;
Ability to read, understand and analyze logs from multiple systems and tech stack;
Experience in stability initiatives, improvement through implementing frameworks and processes;
Excellent communication and interpersonal skills including the ability to work effectively with technical and non-technical staff;