Mandatory
•10+ years of software engineering experience , including experience designing and delivering large-scale, highly available distributed systems or backend services.
•Strong hands-on programming experience developing production-quality software in Java, C++, or comparable systems/backend programming languages .
•Experience with scripting or automation languages such as Python .
•Strong knowledge of data structures, algorithms, concurrency, multithreading, and distributed systems fundamentals .
•Demonstrated experience designing systems for scalability, high availability, fault tolerance, durability, and performance .
•Working knowledge of networking fundamentals and protocols, including TCP/IP, HTTP, and common network architectures .
•Strong production troubleshooting, debugging, performance analysis, and performance-tuning capabilities.
•Ability to independently own complex technical components while collaborating effectively in an agile engineering environment.
Good-to-Have
•Experience building or operating multi-tenant cloud infrastructure .
•Experience with virtualized storage infrastructure, block storage, storage systems, or data-management platforms .
•Experience designing replication, synchronization, consistency, and failover mechanisms in distributed systems.
•Experience with cloud service observability, including telemetry, metrics, dashboards, alerting, and SLO-based operations.
•Experience designing and executing fault-injection, brownout, resilience, performance, or large-scale load tests.
•Experience with Infrastructure as Code (IaC) and automated cloud infrastructure provisioning, deployment, patching, and rollback.
•Knowledge of cloud security practices, including encryption, access controls, vulnerability remediation, and compliance requirements.
•Experience participating in production support rotations, incident response, and root-cause analysis for large-scale services.
•Demonstrated ability to mentor engineers, influence technical direction, and contribute to architectural decisions across teams.
Self-Assessment Questions
Before applying, consider the following:
•Have I spent significant time designing and delivering large-scale, highly available distributed systems or backend services in production environments?
•Can I independently design a distributed-system component while reasoning about scalability, concurrency, fault tolerance, consistency, durability, availability, and performance trade-offs?
•Do I have strong hands-on coding experience in Java, C++, or a comparable language, along with solid knowledge of algorithms, data structures, and multithreaded programming?
•Can I diagnose complex production issues across software, networking, infrastructure, and distributed-system interactions and drive them through root-cause analysis and resolution?
•Am I comfortable owning the full lifecycle of a critical service component—from architecture and implementation through testing, observability, security, deployment, and production operations?
Career Level - IC4