Performance Diagnostic Engineer
MIDWEST MULTIPLE LOCATIONS CA - Los Angeles,CA - San Francisco,CT - Hartford,DC,DC - Washington,FL - Miami,FL - Tampa,GA - Atlanta,IL - Chicago,IN - Indianapolis,MA - Boston,MI - Detroit,MN - Minneapolis,MO - St. Louis,NC - Charlotte,NC - Raleigh,NJ - Florham Park,NJ - Jersey City,NY - New York,OH - Cincinnati,OH - Cleveland,OH - Columbus,PA - Philadelphia,TX - Austin,TX - Dallas,TX - Houston,TX - Irving,VA - Arlington,WA - Seattle
Work You'll Do
- Defining the strategy for enabling performance diagnostics and monitoring through the use of an Application Performance Management (APM) tool, other monitoring tools, and diagnostic techniques.
- Identifying, evaluating, and recommending monitoring tools and diagnostic techniques relevant to the application architecture.
- Assessing gaps in as-is monitoring tool capabilities and recommending tools to augment or replace.
- Learning an application's design to assess for performance risks and identify areas to apply past learnings.
- Instrumenting applications to enable performance diagnostics and monitoring.
- Collaborating with Performance Engineering leads and project team to review and refine application NFRs, SLAs, & KPIs to create acceptance criteria and performance budgets necessary to measure, validate, and improve performance.
- Collaborating with developers to promote the concept of performance engineering during all phases of the SDLC to detect and correct performance issues earlier in the lifecycle.
- Monitoring application performance during performance tests or production usage through the use of APM and other monitoring tools to isolate the fault domain, dive deep into application code, and identify root cause of performance issues.
- Utilizing static code and dynamic code analysis to identify performance and maintenance concerns.
- Profiling application performance from end-user perspective to inventory performance concerns and suggest tuning opportunities across the application stack.
- Performing deep dive JVM analysis examining garbage collection logs, heap dumps, and thread dumps as needed.
- Documenting performance findings and recommendations.
- Interacting with client and/or Client development, operations, and infrastructure resources to recommend solutions to remediate performance issues.
- Participating in re-architecture, redesign, and refactoring decisions to satisfy performance requirements.
- Developing dashboards and reports to provide ongoing visibility into the performance of client applications.
- Contributing learnings and experiences to the Client Performance Engineering community.
Qualifications
Basic Qualifications
- Minimum of 2 years' hands-on experience with performance tuning, diagnostic or monitoring
- Minimum of 2 years' hands-on design / development experience (e.g. Java,.Net, etc.)
- Minimum of 1 year hands-on experience performance diagnostics tools (e.g. AppDynamics, Dynatrace, New Relic, CA APM (previously Wily Introscope), etc.)
- Ability to meet travel requirements, when applicable
Education Requirement: Bachelor's degree or equivalent (minimum 12 years work experience). If Associate's Degree, must have equivalent minimum 6 year work experience.
Preferred Qualifications
- Experience delivering software designed for high concurrency, scalability, or availability
- Experience using Application Performance Management (APM) tools (e.g. AppDyanmics, DynaTrace, New Relic, CA Introscope APM, Client Diagnostics)
- Hands-on experience collecting performance data, analyzing, troubleshooting, and tuning
- Hands on analysis, reverse engineering, debugging, and profiling Java code (e.g. Eclipse Profiler, Eclipse TPTP, JProbe, JProfiler, Yourkit, VisualVM, Valgrind, NetBeans profiler, JConsole, JBoss Profiler, JAMon, JRocket Flight Recorder)
- Exposure to Cloud, SaaS, and virtualization concepts and performance concerns
- Exposure to application threading and concurrency concerns
- Working knowledge of operating system design, processes, and threading model
- Ability to work in other languages such as JavaScript, Ruby, PHP, Perl, Python, Powershell, and Linux shell scripting
- Bachelor's degree