5 years proven experience developing software in a professional capacity. Longer experience preferred. 4 years experience with Java, including proficiency in concurrency, memory management, and performance optimization techniques. 4 years experience in OOP principles, data structures, algorithms, and software design patterns (e.g. GoF), with a proven focus on implementing testable, maintainable, and extensible backend code. 4 years experience with complementary programming languages beyond Java (e.g.
Go, Python, Ruby, etc.), including practical use for automation scripting, infrastructure tooling, data processing pipelines, and build system customizations. 4 years experience designing, implementing, and shipping high-scale, high-performance, highly available, fault-tolerant, and secure cloud-based distributed systems. 4 years experience in API design and implementation, including proficiency in RESTful API principles, gRPC, GraphQL, contract-first design (e.g.
OpenAPI/Swagger, Protobuf, etc.), API versioning strategies, gateway patterns, rate limiting, and designing APIs for backward compatibility and long-term evolution. 4 years experience with message-driven and event-driven architectures, including proficiency in messaging systems (e.g. Kafka, RabbitMQ, ActiveMQ, etc.), event sourcing, CQRS patterns, and designing reliable asynchronous communication between distributed services. B.S. in Computer Science, Computer Engineering, or a related technical field, or equivalent professional work experience.