Position: Senior Java Spring Developer - Insurance project
Company: DICEUS
Category: Java
Experience required: 5y
English level: upper

DICEUS is looking for a Senior Java engineer who will join the leading provider of software solutions for insurance companies worldwide development team. Our partner provides the next generation of core insurance platforms using end-to-end, flexible cloud services for all lines of business and all insurance processes, harnessing open ecosystems.

The project's purpose is to empower insurers to drive customer engagement, innovation, and business value. Recognized as a leading solution provider by analysts at Gartner and Celent, the company has clients in over 30 countries across Europe, the Middle East, Africa, and Latin America.

As a Senior (Spring) Java Developer, you are an experienced software engineer who demonstrates strong and proficient competency and knowledge of more than one technical field. You will work with the development of our future platform, improving the quality of the solutions, not only the code itself but also the ecosystem around it. Also, you will participate in the specification and estimation of tasks. You will be teaching others the (Spring) Java ecosystem, while you are learning about insurance. Even though your main responsibility will be as a (Spring) Java developer on the backend, you will be working full-stack.

As a Senior Java Developer, you are expected to take the Junior Developers under your wings and challenge them along the way, so they can build courage, and face the battles of everyday development, so they one day can claim their rightful place as a Senior Developer.

**Responsibilities:**
- Acting as a technical mentor to the team of Integrations Software engineers and fostering their professional growth.
- Leading the research, design, implementation, and documentation of new API concepts in conjunction with the needs of ongoing product modernization.
- Teaching others in a nonjudgmental way, how to utilize many of spring.io’s frameworks and tools, to implement cloud-native applications, running in containers on a Kubernetes cluster running in one or more of the big 3 cloud providers’ infrastructures.
- Establishing and maintaining a solid development API process adopting domain best practices with special attention to quality.
- Maintaining CI/CD pipeline is second nature for you in your work. If the CI/CD pipeline is not behaving as expected, you train the team on how to fix it.
- Keen eye for automation.
- Communicating proactively with the rest of the technical community (Architects, Leading developers, QA, etc.) of Fadata and raising early flags about architectural deficiencies or gaps within the software.
- Developing technical designs in the areas of expertise.
- Advocates Agile principles and processes as part of Product development. Fadata has recently switched the development model to SAFe, experience with agile methodologies is required.
- Propagating quality through setting up internal processes or adopting relevant tools fostering software code quality.
- Responsible for the definition of specifications and set of requirements towards 3rd party vendors.
- Responsible for controlling the scope, quality, and on-time delivery of API development executed by 3rd party vendors.

**Requirements:**
- Master's or bachelor’s degree in CS, Informatics, Mathematics, etc.
- Advance Degree or Relevant Technology Certifications are a plus.
- 3 + years of relevant professional experience.
- (3+ years) Experience with Spring framework – Core, Boot, Data, REST, Security.
- (3+ years) Experience in writing RESTFull web services and a good overall understanding of REST architecture style.
- Overall understanding of microservices architecture style and experience in the development of microservice applications, running in Containers on Kubernetes
- Deep knowledge of computer algorithms and data structure.
- Excellent programming skills.
- Deep knowledge of technologies relevant to performed work.
- Good knowledge of business relevant to performed work.
- Good understanding of software engineering processes.
- Very good knowledge of the English language (written and spoken).
- Ability to work autonomously.
- Perform analysis and design of one or more difficult solutions having significant latitude in performing technical work.
- Is an advocate of proper documentation of solutions, ideas, or processes.