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.
-