Java Software Engineer
caterpillar
Job Description
- Design, develop, test, and deploy scalable backend applications using Java and Spring Boot.
- Participate in requirements analysis, technical design, and architecture discussions.
- Build and integrate RESTful APIs and microservices.
- Perform unit, integration, and automated testing following TDD/BDD practices.
- Conduct code reviews and ensure adherence to coding standards and best practices.
- Work with DevOps and support teams to monitor, troubleshoot, and resolve production issues.
- Contribute to CI/CD pipelines, build, release, and deployment processes.
- Mentor junior engineers and contribute to team skill development.
- Collaborate effectively within distributed agile scrum teams.
Technical Skills & Experience
- Strong proficiency in Java and Spring Boot.
- Experience with microservices, service-oriented architecture, and RESTful web services.
- Hands-on experience with cloud platforms (AWS preferred) including Lambda, ECS, S3, SNS, Kinesis, and CloudWatch.
- Experience with containerization using Docker.
- Proficiency in relational and NoSQL databases such as MySQL, PostgreSQL, DynamoDB, and Snowflake.
- Familiarity with API tools such as Swagger and Postman.
- Strong knowledge of software development life cycle and agile methodologies.
- Experience with GitHub, branching strategies, CI/CD pipelines, and modern AI-assisted development tools.
Quality & Testing
- Strong commitment to code quality, performance, reliability, and maintainability.
- Hands-on experience with automated testing, unit testing, and integration testing.
- Knowledge of application performance monitoring and troubleshooting.
Soft Skills & Collaboration
- Strong analytical, problem-solving, and debugging skills.
- Excellent verbal and written communication skills.
- Ability to manage timelines, highlight risks, and provide regular status updates.
- Team-oriented mindset with the ability to work effectively in fast-paced environments.
Education & Qualifications
- Bachelor’s degree in Computer Science, Engineering, or a related field.
- 4–6+ years of professional software development experience, primarily in Java-based systems.