We are seeking a highly skilled Senior Software Engineer with extensive experience in Java development, cloud technologies (specifically AWS), and microservices architecture. The ideal candidate will have a strong background in software engineering principles, unit testing, and continuous integration/continuous deployment (CI/CD) practices using Jenkins. This role requires a proactive individual who can work collaboratively within a team to deliver high-quality software solutions that meet business needs.
Job Responsibilities
- Design, develop, and maintain scalable and robust Java applications
- Implement microservices architecture to enhance system performance and reliability
- Collaborate with cross-functional teams to define, design, and ship new features
- Write clean, maintainable code and conduct code reviews to ensure adherence to best practices
- Develop and execute unit tests to ensure software quality and reliability
- Utilize AWS services for application deployment, monitoring, and scaling
- Integrate CI/CD pipelines using Jenkins to automate build and deployment processes
- Troubleshoot and resolve production issues in a timely manner
- Stay updated with emerging technologies and industry trends to continuously improve development processes
Requirements
- Bachelor's degree in Computer Science, Engineering, or a related field
- 5+ years of experience in software development with a focus on Java
- Proficient in Java (Java 8 or higher preferred)
- Experience with AWS services such as EC2, S3, Lambda, RDS, and API Gateway
- Microservices: Strong understanding of microservices architecture and design patterns
- Familiarity with testing frameworks such as JUnit or TestNG; experience in writing unit tests for Java applications
- Hands-on experience with Jenkins for automating build and deployment processes
- Proficient in using Git for version control
- Excellent problem-solving skills and attention to detail
- Strong communication skills to effectively collaborate with team members and stakeholders
- Ability to work independently as well as part of a team in a fast-paced environment
- Adaptability to changing priorities and requirements
Preferred Qualifications
- Experience with Agile methodologies (Scrum or Kanban)
- Familiarity with front-end technologies such as React or Angular is a plus