APM Full-Stack Engineer (Java, .NET, & Frontend)
Nathan Claire Africa · Nairobi, Kenya ·
- Category
- Fullstack
Nathan Claire Africa · Nairobi, Kenya ·
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.
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.
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).
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.
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.
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.