Job Details:
Job Summary:
Are you a seasoned Software Engineer with a passion for Java development and a knack for tackling both legacy code challenges and cutting-edge tech stacks? If so, we have an exciting opportunity for you to join our dynamic team!
Essential Job Duties and Responsibilities:
- Implement complex features with the support of AI
- Collaborating with cross-functional teams to understand business requirements and technical specifications.
- Working with legacy codebases, identifying areas for improvement, and implementing enhancements or replacements as needed.
- Developing and deploying microservices using Java and Spring Boot, adhering to best practices and design principles.
- Leveraging your expertise in Docker, REST, Git, and Maven/Gradle to create robust and scalable applications.
- Contributing to the improvement of software development processes and best practices.
- Applying analytical skills to troubleshoot issues, optimize performance, and ensure the reliability of our services.
- Ensuring basic web service security measures are implemented, protecting our applications and users.
- Collaborating with team members and sharing knowledge to foster a culture of continuous learning.
- Comply with Cubic’s values and adherence to all company policy and procedures. In particular comply with the code of conduct, quality, security and occupational health, safety and environmental policies and procedures.
Required Skills and Qualifications:
- Bachelor's degree in Computer Science or related field (or equivalent work experience).
- Proficiency in Java programming, including experience with Advanced Java concepts.
- Strong familiarity with Spring Boot and microservices architecture.
- Expertise in Docker, REST, Git, and build tools like Maven or Gradle.
- Ability to understand and work with legacy code, making improvements and replacements as needed.
- Strong analytical and problem-solving skills.
- Basic understanding of web service security principles.
- For the work in our multinational team, a certain ability to communicate in the English language is essential.
- Experiences with AI coding practices
Desirable Skills:
- Experience with reactive programming and event-driven design.
- Familiarity with message queues and asynchronous communication patterns.
- Proficiency with tools such as IntelliJ IDEA.
- Knowledge of continuous integration and continuous deployment (CI/CD) pipeline