About the role
Responsibilities:
- Design, develop, and maintain scalable backend services and distributed systems using Java.
- Architect and implement solutions that handle large volumes of data and ensure high availability, fault tolerance, and reliability.
- Collaborate with front-end developers, product managers, and other stakeholders to deliver high-quality software solutions.
- Develop and optimize distributed systems to enhance performance, scalability, and efficiency.
- Troubleshoot and resolve complex technical issues in distributed environments.
- Write clean, maintainable, and efficient code following best practices and coding standards.
- Conduct code reviews and provide constructive feedback to peers.
Requirements:
- A bachelor's or master's degree in software engineering, computer science, or a similar discipline.
- 6+ years of hands-on experience in backend development using Java.
- Strong understanding of object-oriented programming principles and design patterns.
- Proficiency in Java frameworks such as Spring, Spring Boot, etc.
- Experience in building large-scale applications and leveraging distributed systems.
- Experience with database technologies such as MySQL, MongoDB, or OpenSearch.
- Knowledge of distributed data storage and processing frameworks such as Apache Kafka, Apache Cassandra, or Hadoop.
- Knowledge of containerization technologies (e. g., Docker, Kubernetes) and cloud computing platforms (e. g., AWS, Azure, GCP) is preferred.
- Exceptional problem-solving abilities, meticulousness, and a drive to provide software solutions of the highest caliber.
- Strong teamwork and communication abilities, as well as the capacity to function well in a dynamic, fast-paced workplace.