Key Responsibilities
Design and develop backend services for a distributed platform
Develop software using Java
Collaborate with the product architect on architectural decisions
Conduct code reviews
Follow agile practices and take responsibility for delivery quality and timelines
Person Specifications
Bachelor's degree in computer science, Software Engineering
3+ years of solid experience in software design and development using Java
Strong understanding and hands-on experience in multithreading, performance optimization, memory management, Java Generics
Experience in unit testing, performance profiling, and debugging (execution and memory)
Solid experience with the standard Java libraries
Experience in python or other scripting languages
Experience in cloud technologies such as K8S, Docker, GCP, AWS, PaaS
Experience in coding assistants such as Cursor/Copilot/Antigravity
Experience or knowledge of AI/ML concepts is a major plus
Experience with build systems such as Maven, and CICD
Hands-on experience with tools such as Java performance profilers, debuggers, jvm analyzers, Git, and various IDEs/editors
Experience in distributed systems is a plus
Experience working in Unix-based systems is a plus
Experience in designing and developing high-performance asynchronous systems is a plus