APM Full-Stack Engineer (Java, .NET, & Frontend)
Core Job Responsibilities
A. APM Agent Development & Maintenance (Backend Focus)
Platform
Expertise: Design, develop, and maintain APM agents and instrumentation for
both Java (JVM-based) and .NET (Core and Framework) applications.
Performance
Engineering: Instrument core application code to capture metrics, traces, and
logs with minimal overhead, focusing on deep-dive component monitoring (DDCM),
transaction profiling, and database query tracing.
Cross-Language
Support: Troubleshoot and resolve complex performance issues in
mixed-technology environments where Java and .NET services interact.
Deployment
and Service Management: Configure and manage the deployment of agents as system
services (e.g., using NSSM, WinSW, or systemd) and troubleshoot installation
issues, including security protocols like TLS/SSL.
B. Frontend Development & Visualization (User Focus)
Data
Presentation: Develop and enhance the user interface (UI) and user experience
(UX) for the APM platform's dashboards and data visualization tools.
Real
User Monitoring (RUM): Implement and optimize Real User Monitoring (RUM) agents
to capture client-side performance metrics, including page load times, AJAX
calls, and JavaScript errors.
Full-Stack
Tracing: Ensure seamless correlation between frontend RUM data and backend
Java/.NET transaction traces to provide end-to-end visibility.
Web
Performance Optimization: Optimize the frontend application for maximum speed,
scalability, and cross-browser compatibility, often dealing with large data
sets and complex charts.
C. Monitoring, Alerting, & Operations
Pipeline
Management: Work with data pipelines (e.g., Kafka, Elasticsearch) to ensure the
efficient ingestion, processing, and storage of high-volume telemetry data
(metrics, logs, traces).
Alerting
and Triage: Develop and maintain alert rules, thresholds, and anomaly detection
models based on critical business and technical metrics (e.g., latency, error
rate, throughput).
Collaboration:
Act as the subject matter expert (SME) for APM, collaborating with DevOps, SRE,
and development teams to diagnose production incidents and define service level
objectives (SLOs).
Requirements
Required Skills and Qualifications
A. Core Programming & Frameworks
Java
APM: Deep experience with Java, Golang, and JVM internals, along with
frameworks such as Spring Boot or Quarkus. Knowledge of Java Agent
specifications (e.g., Byte Buddy) is a strong advantage.
.NET
APM: Proficiency in C#, .NET Core, ASP.NET, and the .NET CLR, with additional
exposure to Golang. Familiarity with Reflection and dynamic code generation for
instrumentation.
Frontend:
Advanced skills in HTML5, CSS3, and JavaScript (ES6+), with strong expertise in
at least one modern frontend framework, preferably React.
Databases:
Strong command of SQL (MSSQL, PostgreSQL, Oracle) and a solid understanding of
NoSQL concepts for data tracing and querying.
B. APM & Observability Tools
Hands-on
experience with leading APM platforms, including New Relic, Dynatrace,
AppDynamics, and Datadog.
Familiarity
with open-source observability standards, particularly OpenTelemetry (OTEL) and
distributed tracing.
Experience
working with log aggregation and analysis platforms such as Elastic Stack (ELK)
or Splunk.
In-depth
understanding of HTTP protocols, TLS/SSL security, and network traffic analysis
for troubleshooting and optimization.
C. Development & Operational Skills
Version
Control: Advanced use of Git and collaboration via GitHub, GitLab, or
Bitbucket.
CI/CD
& DevOps: Skilled in building and maintaining continuous integration and
delivery pipelines using Jenkins, GitLab CI, or Azure DevOps. Proficient with
cloud platforms such as AWS, Azure, or GCP.
Troubleshooting:
Exceptional analytical and problem-solving skills for identifying and resolving
complex inter-service performance issues.
Soft
Skills: Excellent written and verbal communication, with the ability to explain
technical issues clearly to both technical teams and business stakeholders.