Job Responsibilities
- Collaborate with stakeholders to understand and document business requirements.
- Develop software components for integration routes.
- Create and manage test cases for all code.
- Maintain monitoring and alerting functions to ensure production service levels are met.
- Implement long-term, sustainable code with a focus on delivering timely solutions.
- Troubleshoot and resolve cross-system issues in collaboration with stakeholders and other teams.
- Develop user stories, manage team workload, and provide status updates in coordination with team members and leaders.
- Participate in rotating on-call duties and incident response as needed.
Minimum Qualifications
Experience: 6+ years as a Java Software Engineer, Java Developer, or similar role.
Core Skills:
- Solid software engineering fundamentals: coding, data structures, algorithms, design patterns, performance, scalability, and availability.
- Proficiency in popular Java frameworks such as Spring.
- Object-Oriented Design (Java and Spring), API Design and Testing.
- Test Driven Development (TDD) and Behavior Driven Development (BDD).
- Continuous Integration (CI) and Continuous Deployment (CD).
- Containerization technologies such as Kubernetes and Docker.
- Understanding of Cloud Architectures, Microservices, and Distributed Systems.
- Software Architecture and System Design.
- Experience with relational databases (preferably PostgreSQL) and NoSQL databases (e.g., Redis).
Specific Experience:
- 2+ years working with web services.
- 1+ years of experience with Git.
- SQL database programming experience (MySQL preferred).
- Experience with messaging services like Apache Camel, Amazon MQ, or RabbitMQ.
- Experience in cloud-based environments (AWS) and container-centric environments (Docker).
- Experience in implementing or maintaining distributed systems.
- Experience with agile processes (e.g., Scrum or Kanban, pairing, etc.).
- Ability to analyze and understand data structures and data flows