Responsibilities:
API Development: Design, develop, and maintain high-performance
Java APIs.Database Management: Work with various databases, including both SQL and NoSQL, to ensure data integrity and performance.
Caching Solutions: Implement caching strategies to optimize application performance.
Performance Tuning: Optimize backend services for maximum speed and scalability.
Build Tools: Utilize Maven for project build management.
Containerization: Develop and deploy applications using Docker and Kubernetes.
Cloud Infrastructure: Leverage AWS services for deploying and managing backend solutions.
Programming and Scripting: Write efficient, maintainable code primarily in Java and Python, with additional work in Scala where applicable.
Infrastructure as Code (IaC): Utilize IaC tools to automate cloud infrastructure deployments.
Continuous Integration/Continuous Deployment (CI/CD): Set up and manage CI/CD pipelines using tools like GitHub Actions or Screwdriver.
Documentation: Maintain comprehensive documentation for all backend processes, ensuring clarity and ease of understanding.
Collaboration: Work closely with frontend engineers, product managers, and other stakeholders to gather requirements and deliver backend solutions on time.
Problem-Solving: Identify and resolve backend-related issues, ensuring high availability and reliability.
Learning and Development: Continuously update knowledge of current backend technologies and best practices.
Skills:
Technical Expertise:
- Proficiency in building performant Java APIs.
- Strong understanding of databases, both SQL and NoSQL.
- Experience with caching strategies and performance tuning.
- Proficiency in using Maven for build management.
- Experience with Docker and Kubernetes for containerization.
- Strong knowledge of cloud platforms, particularly AWS.
- Advanced programming skills in Java and Python.
- Familiarity with Scala is a plus.
- Experience with Infrastructure as Code (IaC) tools.
- Proficiency in setting up and managing CI/CD tools like GitHub Actions or Screwdriver.
Soft Skills:
- Excellent communication skills.
- Ability to learn quickly and adapt to new technologies and methodologies.
- Strong problem-solving skills with a proactive approach to unblocking oneself.
- Commitment to delivering high-quality work on time.
- Exceptional documentation skills, ensuring clarity and thoroughness in all technical documentation.