**You will work on**:
- 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/frontend service to aggregate key business configuration across multiple backend systems
- Migrating our new system to leverage new backend APIs
**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.
**Backend**
Software Requirements:
- Configuration entities are cached within backend
- Backend consumes and transforms data from Kafka topics
- Backend exposes GraphQL endpoints for Trader Tools frontend to allow modifications of configuration entities, scraping data, etc.
- Error handling is in place and metrics of executed actions are exposed to Prometheus
Software Specifications:
- Required: Java (currently Java 11) with Springboot 2 (4 years of experience)
- Nice to have: External libraries (for GraphQL, logging, Kafka) as needed and managed with Maven 3
- Run in GCP
- Datastore on GCP
- Be tested with reasonable level of unit tests, integration tests and E2E tests
- Tests done using JUnit 5 and Cucumber
Be documented
Changes pushed to repositories in Bitbucket
**Frontend**
Software Requirements:
- Frontend communicates with backend over GraphQL to get, present and allow for modification of configuration entities by user
- Frontend consumes notifications from backend and presents updated state of configuration entities to user
- Error handling is in place and metrics of executed actions are sent to Sentry
Software Specifications:
- Required: React v17, Typescript
- Nice to have: Redux, GraphQL Apollo client v3, Formik with components from in-house build library
- Run in GCP
- Be tested with reasonable level of unit tests, integration tests and E2E tests:
- Unit tests done with Jest, React Testing Library
- Integration and E2E tests done with Cypress
- Be documented
- Changes pushed to repositories in Bitbucket
- We are looking for people with a good attitude, proactivity, enthusiasm for new challenges and quick learners.
- English 85%
- Location
San José, San Jose
- Department
Recruiting
- Employment Type
Full-Time
- Minimum Experience
Experienced
- Compensation
USD $