Software Backend Engineer
Role details
Job location
Tech stack
Job description
To design, develop and test the code that will shape the different components of the application, ensuring that they meet the requirements of functionality, quality and performance.
To deliver in Production a working software by giving the best use to technology and development practices. It includes the documentation and parameters that can help reaching that goal. To support Production by analysis and fixing any bugs that occurs. Contribute to improve the technical discipline by collaborating with the cross technical chapter.
As an expert in the Backend area, you specifically add value on that technical layer but always keep in mind the rest of the technical stack as part of the Squad responsibilities.
Your major responsibility areas:
- Coding
- Stories Refinement
- Environments management
- Release
- Monitoring, As a Software Engineer Backend for one of our tribes you should have the following knowledge and experience
Requirements
- Good coding Skills on all Middleware layer: Java 8/11/17/21
- Spring (Boot, MVC, CORE, Security, Dependency Injection).
- Microservices: Hexagonal architecture, APIs composition, RestFul, OpenAPI, Swagger.
- Design Patterns, SOLID, Clean Code, Software Craftmanship.
- Testing: Unit Testing (Techniques: White-box/ Black-box, What is a unit?); Type of testing
(unit testing, integration and smoke); Junit; Contract Testing; Framework mocks (Mockito,
Mockmvc, Wiremock, Powermock).
- Maven.
- JPA, Oracle, JDBC
- Git.
- DDD.
- Backend & Devops awareness (understand the global architecture / infrastructure).
- Docker, Openshift or Kubernetes.
- CI / CD pipelines.
- Experience working with Azure Devops (pipelines).
- 5 years of experience on similar technical stack.
- Agile team experience with SCRUM or Kanban or XP.
- Excellent speaking and writing skills in English is a must.
Desirable
- MSA Patterns: Circuit Breaker, Api Gateway, Service Discovery.
- Feature Flags
- Retail banking knowledge.
- Database migration tools (such as Flyway, Liquibase).
- DevOps Skills.
- Prometheus.
- Grafana
- ELK STACK (Elastic Search, Logstash, Kibana).
- Security: JWT, Mutual TLS, Access token.
- Ansible.
- BDD.
- Automatic testing (Selenium, Cucumber).
- Reactive programming: futures.
- Akka, Scala.
- Message Brokers (such as RabbitMQ, Kafka).
- NoSQL knowledge (such as Cassandra, MongoDB).