|Jul 25, 2018
Program Manager IOSS 063
Application Performance and Availability Monitoring administration/architecture
Start date: August 13, 2018 PoP: FY/18
Telework (Yes/No; Duty): Yes 2 days per week
Experience with CA APM Web Services, SOA, and JEE design concepts. Team lead or leadership, managing a team.
LABOR CATEGORY DESCRIPTION:
Application Performance and Availability Monitoring Administration/Architecture
1. Discovery and requirements analysis for new system features, analysis of current system capabilities and limitations and design/engineer/integrate new system capabilities to meet requirements.
2. SME level support on application performance, desktop performance, and application availability and desktop availability monitoring and reporting using current VA monitoring tools such as CA Application Performance Management, AppDynamics monitoring tools, Arcturus
Applicare, Microsoft Bluestripe Factfinder, XPOlog Management, CA Service Operations Insight, CA Business Service Insight, Aternity Desktop monitoring, and other performance monitoring tools as required.
3. Customize the monitoring interface to provide dashboards, monitoring and alerts for all monitored applications.
4. Document and test the customizations.
5. Use monitoring diagnostic tools to find the root cause of performance issues.
6. Assist Government and Contractor helpdesk staff on the use of monitoring diagnostic tools to pinpoint production issues.
7. Assist Government and Contractor staff on Root Cause Analysis based on data reported from the monitoring system.
8. Create and tune performance monitoring and availability alerts.
9. Recommend policies and procedures on actions to take based on the alerts generated. Recommendations provided to the COR/VA PM(s) for approval prior to any implementation or changes.
10. Develop standards, policies and procedures around the use of application performance monitoring and availability in the pre-production and production environments, and provide all recommendations to the COR/VA PM(s) for approval prior to any implementation or changes.
11. Participate in tuning and troubleshooting efforts.
12. Work with customers to resolve performance and availability issues.
13. Monitor subsystems using customized scripting appropriate to the monitoring tool being used.
14. Document operational steps and practices necessary to perform the assigned administrative duties, example creating Run-Books.
• 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. Assess gaps in as-is monitoring tool capabilities and recommend 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 SLAs, & KPIs to create acceptance criteria and performance solutions 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 VA development, operations, and infrastructure resources to recommend solutions to remediate performance issues
• Participating in re-architecture, redesign, and refactoring decisions to satisfy performance requirements
• Develo dashboards and reports to provide ongoing visibility into the performance of client applications
• Contributing learnings and experiences to the VA Performance Engineering community
* Experience in the coordination of program and project leaders to identify requirements for system architecture. Must be able to identify strategies for addressing requirements. Must have extensive experience with analysis of requirements against fiscal, schedule, and performance issues. Has extensive experience in taking program requirements and is able to create an architecture vision having experience in high volume and high availability networks and systems. Experience in creating and conveying to team members the architectural vision for a program or project. Is responsible for dictating design choices to software developers, including but not limited to: platforms, coding and technical levels. Experience in establishing and enforcing standards and practices. Overseeing the development team, he manages the full life cycle of the software development process. Has extensive software development experience and thorough knowledge of a variety of programming languages and logic.
• 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 1 year hands-on experience performance diagnostics tools (e.g. CA APM, AppDynamics, Dynatrace, New Relic, etc.)
• Local to Austin
• Masters Degree or equivalent experience
• Previous Consulting experience
• Distributed computing, Web Services, SOA, and JEE design concepts
• Delivering software designed for high concurrency, scalability, or availability
•Using Application Performance Management (APM) tools (e.g. AppDynamics, DynaTrace, New Relic, CA APM)
• Participant in Agile software development process
• Hands-on experience collecting performance data, analyzing, troubleshooting, and tuning
• Navigating UNIX/Linux command line to assess OS performance
• 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)
• Debugging web applications using HTTP proxy or browser-plugin tools (e.g. Firebug, Chrome Developer Tools, Fiddler, HTTPWatch, HTTP Analyzer, Charles, YSlow)
• Analyzing the performance and health of a JVM or Application Server (e.g. IBM WebSphere, Oracle AS, BEA WebLogic, JBoss, Tomcat, Glassfish)
• Usage of common application protocols and messages (e.g. TCP/IP, HTTP, SOAP, RESTful APIs, XML/JSON, JDBC, JMS/MQ)
• Analyzing network messages using a packet capture tool (e.g. WireShark,TcpDump, WinDump)
• SQL development and tuning
• Exposure to Cloud, SaaS, and virtualization concepts and performance concerns
• Exposure to application threading and concurrency concerns
• Knowledge of operating system design , processes, and threading model
EXPECTED PERIOD OF PERFORMANCE: 3 YEARS
Master’s Degree/15 years’ experience Computer Science, EE, or other engineering technical discipline. 10 years additional relevant experience substituted for education.