Position: Java Developer
Company: Develux
Experience required: 3y
English level: upper

**Projects**

Most of what the team is doing is new code/projects. In broad strokes, these are some of the projects we’re working on or have coming down the pipe (there’s lots more):

Rebuilding a new frontend/backend system based on an existing legacy system

Extending the above system with new features

Building a new frontend/backend system with 20+ widgets, along with the windowing system that allows the placement and rearrangement of said widgets, to allow the user to customize their experience depending on what they want to see

Building a new backend/front-end service to aggregate key business configuration across multiple backend systems

Migrating our new system to leverage new backend APIs

The team has a team lead, 3 backend devs and 2 frontend devs, ranging from intermediate to senior level. There’s lots of experience for your candidate to draw from, and lots of opportunity to contribute.




**Required**

Java (currently Java 11) with Springboot 2

Nice to have: External libraries (for GraphQL, logging, Kafka) as needed and managed with Maven 3

Services run in GCP

Datastore is on GCP

Services talk to other upstream services over REST

Services read and transform data from Kafka topics

Tracking errors and metrics using Prometheus

Software is tested with unit tests, integration tests and E2E tests





**Responsibilities**

Self-directed, capable of picking up a story and asking required questions to deliver.

Collaborate with UX on designs, communicating what’s possible given technical constraints, and making suggestions to create the best customer experience.

Collaborate with other developers on the team, giving and taking constructive feedback in code reviews.

Participate in team sprint planning, backlog grooming, demos, and retrospectives.

Strong opinions, lightly held. We value strong opinions but are equally open to other ideas.

Shepherding releases through from creation to release. Creating the release ticket, building, update dynamic release configuration, testing, release.

Support the team by helping with any required bug fixes, maintenance, and technical debt.

Promote your own continuous learning by feeding new ideas back into the team.

Flexible with changing priorities. It’s okay if a candidate is missing some of the “nice to have’s.”