Job Responsibilities
Analyze, design, develop, implement high quality code for critical applications that meet the business requirements in a timely manner.
Participate in, and contribute to technical design sessions, data modeling, business flows, project planning, code review, Build, Production support, task assignments, delivery and release management.
API lifecycle development and responsible for software development and code quality.
Design and develop Microservices applications using Java, Spring Boot, Tomcat, Oracle, PostgreSQL, RESTful, JavaScript, HTML, CSS, and UI design.
Build a reusable framework for consuming and providing REST API’s using Java.
Develop strong REST and Java J2EE (backend) applications and deploy them on to cloud based solutions including web services, database and continuous integration.
Perform user, group and application access and permissions in AWS using the Identity Access Manager (IAM).
Responsible for integrating the application with AWS and creating S3, ECS, ASG, ELB, ALB and EC2 instances.
Use Amazon Cloud Watch to monitor AWS services and Amazon Cloud Watch logs to monitor application.
Create Amazon VPC to create a public - facing subnet for web servers with internet access, backend databases and application servers in a private-facing subnet with no Internet access.
Automate backups by shell for Linux to transfer data in S3 bucket.
Configure, implement, and automate Continuous Integration and Deployment pipelines for software applications utilizing Jenkins and other supporting tools
Design Delivery pipeline in Jenkins based on different Environments like Dev, QA, UAT and Production.
Experience working with Docker to improve our (CD) Continuous Delivery framework to streamline releases.
Involve in the unit testing by writing the test cases and test suites with the help of JUnit.
Implement ATDD test cases using Gherkin, Cucumber technology to test all scenarios.
Coordinate with production team, DBA and other development teams in facilitating implementation and migration to controlled environments (QA/Prod).
Collaborate with rest of the engineering team to design and launch new
Knowledge of code versioning tools for code and release management.
Maintain quality and ensure responsiveness of applications.
Understand and implement security and data protection.
As part of an agile development team, guide the other team members to ensure development is done to a high standard.
Bachelor's degree in Computer Science