Software Performance Engineer
Company: Ascendum Solutions
Posted on: November 10, 2018
The Performance Engineering practice is focused on optimizing the performance and scalability of enterprise applications through the combination of:
- Testing: Analyzing, planning and executing production-like simulations across mobile and web solutions to identify & remediate performance problems, prevent production outages, and guarantee predictable performance.
- Diagnostics & Monitoring: Instrumenting the complete application architecture to provide real user and system performance data to provide insight into the root cause of all application bottlenecks, enable real time visibility to reduce risk exposure.
- Performance Analytics: Measuring the relationship between end-to-end performance, user behavior, and business goals to maximize the business ROI, improve business KPIs, and increase efficiency.
- Business Optimization: Empowering technology/business stake holders with contextual intelligence to visualize, quantify and maximize the business value of performance to improve the quality & performance of the business, increase customer satisfaction, and protect the client's reputation. Essential Job Functions:
- Dive deeply into SW/HW systems to solve for performance issues and make architectural, design and coding recommendations where needed.
- Conduct Architectural & Technical reviews during software development life cycle and to identify potential bottlenecks and provide suggestions for performance improvements.
- Collaborating with development 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 using APM and other monitoring tools to isolate the fault domain, dive deep into application code, and identify root cause of performance issues.
- 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 project teams, 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's Performance CoE.
- Socialize and promote a Software/Systems focused engineering mindset and the usage of APM tools during the application development life-cycle phase across platforms.
- Responsible for developing a Performance Test Strategy, Scripting & executing Performance Tests, perform root cause analysis and provide mitigation.
- Monitor resource usage for physical servers, application servers & databases to drive optimization changes in production environment.
- Work with 'Service Owners' to optimize the configuration of clients, servers, and networking equipment to enable system/application performance across the enterprise.
- Plan and manage deliverables for: performance diagnostic, capacity planning, performance architecture design, performance tuning, and performance monitoring.
- Conduct system performance and stress testing, analyze test results and suggest action plans.
- Distill volumes of data, analyzes performance results, diagnoses performance problems and clearly characterize system performance to stakeholders.
- Drive performance engineering as an integral step during the software development life cycle.
- Must be able to perform the essential functions of this position with or without reasonable accommodation. Minimum Position Qualifications
- 8+ years of software product development and delivery experience.
- 3+ years of performance engineering experience.
- Ability to interpret and draw System & Architecture diagrams.
- Ability to identify system bottlenecks with strong troubleshooting, problem solving & reasoning skills.
- Familiarity with tools such as Fiddler, Firebug, YSlow and JProfiler.
- Strong knowledge of HTTP load generation and measurement software.
- Proficient in APM products such as AppDynamics, Dynatrace, New Relic. (Dynatrace is preferred).
- Basic understanding of System Resources and Services; Load balancers, Webservers, Database, Operating System, Network Software and Hardware.
- Experience in Web server, Application server and Database performance tuning.
- Expertise in analyzing error, system logs of Web and Application Server, Heap Dump, Thread Dump during failure to determine the cause of failure.
- Experience in summarizing large amount of metrics into meaningful graphs and reports.
- Familiar with Latest Cloud & Container Technologies. - provided by Dice APM, Fiddler, Firebug, YSlow, Cloud, Performance,
Keywords: Ascendum Solutions, Cincinnati , Software Performance Engineer, IT / Software / Systems , Cincinnati, Ohio
Didn't find what you're looking for? Search again!