Contribute to all phases of the software development lifecycle, ensuring high-quality, well-designed, testable, and efficient code.
Ensure that designs are in compliance with specifications and meet the architectural standards.
Prepare and produce releases of software components, ensuring timely delivery and quality assurance.
Support continuous improvement by investigating alternatives and technologies, presenting findings for architectural review, and implementing innovative solutions.
Develop, create, test, and maintain frameworks to ensure the reliability and scalability of software systems.
Technical Experience :
Java & Frameworks : 6-10 years of experience in developing applications using Java 8 and above, with strong expertise in Spring Boot, Spring REST, JPA, and Hibernate.
Stored Procedures : Experience working with stored procedures in relational databases, ensuring efficient data management and retrieval.
Distributed Systems : Experience in building distributed systems that handle user concurrency, reactive programming, and distributed in-memory data grids, with technologies such as Kafka / ActiveMQ and Redis.
Cloud & AWS Services : Strong experience in designing and implementing Cloud Native applications, primarily on AWS. Hands-on experience with AWS services including S3, SQS, EC2, and ECS.
Agile Methodologies : Proficient in Agile software development practices, including SCRUM or KANBAN.
CI / CD Environments : Hands-on experience in Continuous Integration and Continuous Deployment (CI / CD) environments.
Backend Development : Expertise in working with RESTful and SOAP services, microservices architecture, and containerization technologies such as Docker and Kubernetes.
Containerization : Experience in designing containerized applications using Docker, Kubernetes, and Minikube.
Data Stores : Basic experience with relational and non-relational databases, including MongoDB and PostgreSQL.
Test-Driven Development : Strong hands-on experience with test-driven development and version control using Git.
Leadership & Communication : Ability to mentor and lead technical teams, communicate complex ideas effectively to clients and team members, and provide clear and organized technical guidance.
Problem Solving & Flexibility : Organized, analytical, and a strong problem-solver with the flexibility to adapt to changing project requirements.