We are hiring a Senior Software Engineer, Performance & Scale for an opportunity with one of our technology clients.
The engineer will join a team working on highly complex, massively scaled software systems, with a strong focus on performance, scalability, reliability, distributed systems, microservices architecture, and automation.
This role is suited to an experienced software engineer who has worked on systems operating at significant scale and is comfortable diagnosing complex performance issues, improving system efficiency, developing automation, and troubleshooting distributed production environments.
The role may involve working across technologies including Go, Python, Ruby on Rails, and React, depending on the area of the platform and project requirements.
Key Responsibilities
- Design, develop, and optimize highly scalable software systems and services.
- Work on complex distributed systems operating at massive scale.
- Analyze system and application performance to identify bottlenecks and opportunities for optimization.
- Design, develop, and maintain microservices and distributed architectures.
- Improve system latency, throughput, scalability, reliability, and resource utilization.
- Investigate and triage complex production issues across highly distributed environments.
- Perform root-cause analysis and develop sustainable solutions to recurring system and performance issues.
- Develop automation for testing, diagnostics, monitoring, deployment, and operational workflows.
- Build tooling and frameworks that improve system observability, diagnostics, performance, and engineering efficiency.
- Collaborate with engineering teams on architectural decisions involving scalability, distributed systems, and performance.
- Work across application code, backend services, APIs, infrastructure, and engineering tooling as required.
- Participate in code reviews, design reviews, testing, debugging, and production support.
- Identify opportunities to improve engineering processes through automation and technical innovation.
Required Qualifications
- Strong professional experience in software engineering.
- Hands-on experience designing, developing, and supporting large-scale distributed systems.
- Strong experience with performance engineering, scalability, and system reliability.
- Experience working with microservices architectures.
- Experience troubleshooting and triaging complex issues in highly scaled production environments.
- Strong programming experience in one or more languages such as Go, Python, Ruby, Java, C++, or similar.
- Experience with automation, scripting, and engineering tooling.
- Strong understanding of concepts including latency, throughput, concurrency, fault tolerance, scalability, and reliability.
- Experience working with APIs, service-to-service communication, and distributed application architectures.
- Strong debugging, analytical, and problem-solving skills.
- Ability to work effectively across complex technical environments and engineering teams.
Technical Environment
Experience with several of the following technologies and concepts is valuable:
- Programming Languages: Go, Python, Ruby, Java, C++, or similar
- Web / Application Frameworks: Ruby on Rails, React, and modern web application frameworks
- Architecture: Microservices, distributed systems, service-oriented architectures
- Containers & Orchestration: Docker, Kubernetes
- Cloud & Infrastructure: AWS, Azure, GCP, or comparable environments
- APIs & Services: REST APIs, service-to-service communication, distributed services
- Databases: Relational and NoSQL databases
- Messaging & Streaming: Kafka, RabbitMQ, or similar technologies
- Caching: Redis, Memcached, or similar technologies
- Observability: Prometheus, Grafana, OpenTelemetry, ELK/EFK, or comparable platforms
- Performance Engineering: Profiling, benchmarking, load testing, capacity planning, performance optimization
- Automation & CI/CD: Jenkins, GitHub Actions, GitLab CI, or similar tools
- Version Control: Git
Preferred Qualifications
- Experience engineering and supporting systems at massive scale.
- Experience with high-throughput and low-latency systems.
- Strong experience with performance profiling and optimization of distributed applications.
- Experience with Go and/or Python in large-scale systems.
- Experience with Ruby on Rails and/or React in full-stack application environments.
- Experience with Kubernetes and containerized microservices.
- Experience with cloud-native architectures and distributed infrastructure.
- Experience with observability, monitoring, and distributed tracing.
- Experience investigating production incidents and performing root-cause analysis.
- Experience developing automation, internal tooling, and engineering frameworks.
- Familiarity with reliability engineering and performance testing practices.
- Experience working in an Agile software development environment.
What You'll Bring
We are looking for a senior engineer who is comfortable solving complex performance, scalability, reliability, and distributed-systems challenges at massive scale.
You should be able to work across application code, services, APIs, infrastructure, and engineering tooling to understand how systems behave under significant scale and load.
Strong analytical skills, hands-on debugging experience, programming expertise, and the ability to develop automation and tooling are important for this role.