As the Senior Full-stack Engineer, you will play a crucial role in designing and implementing foundational services for Bank domains. You will also be involved in the development of user interfaces for web applications using Anguar and React JS. You will collaborate with cross-platform teams and build core back-end services of event engine, service handler, exception routing engine and business entity state management components of the platform architecture.
What you'll be doing
Key tasks and responsibilities:
- Implement new features and functionalities of the core back-end services.
- Design of microservices-based solutions, implementing best practices, patterns, and standards for microservices development.
- Establish and enforce backend development best practices, coding standards, and design patterns.
- Implement observability design pattern for a business use-case by capturing the business events, analyze and obtain insights.
- Optimize performance and efficiency of the kernel back-end services. Develop code to allow for real-time insights into kernel performance, journey behavior, and key business metrics.
- Debug, investigate and resolve issues related to the bank applications.
- Lead the development and implementation of microservices using modern programming languages, frameworks, and tools, ensuring scalability, reliability, and performance.
- Define and implement RESTful APIs and communication protocols for microservices and establish API management strategies to enable seamless integration with internal and external systems.
- Implement containerization and orchestration solutions using Docker, Kubernetes, or similar technologies to deploy and manage microservices at scale.
- Implement monitoring, logging, and observability solutions for microservices-based applications, ensuring visibility into system performance, availability, and health.
- Establish CI/CD pipelines for automating the build, test, and deployment of microservices, enabling rapid and reliable software delivery.
- Collaborate with the other team members to ensure seamless integration of the kernel back-end components.
- Implement UI components using JavaScript frameworks/libraries such as React (preferred), or jQuery/Angular.
- Contribute to the code reviews, documentation, and discussion within the development team.
- Design and optimize database schemas for performance, scalability, and reliability.
- Participate in sprint planning, backlog refinement, and other agile ceremonies.
- Foster a culture of collaboration, innovation, and continuous learning within the team and empower team members to grow their skills.
- Write and maintain unit/integration tests and technical documentation.
- Facilitate communication, coordination, and knowledge sharing across teams to drive successful outcomes.
- Ensure the delivery of high-quality, well-documented, and maintainable code.
What you'll need to succeed
Requirements:
Qualifications:
- Bachelor's or Master's degree in Computer Science, Information Technology, or equivalent experience.
Experience:
Mandatory
- 10+ years of experience in software engineering, with a focus on designing and developing microservices-based solutions and Java/J2EE applications for enterprise applications.
- Knowledge of data structures, algorithms, and software design principles.
- Problem solving skills and attention to details for debugging complex issues.
- Familiarity with version control systems like Git.
- Understanding of concurrency and synchronization concepts.
- Strong experience in designing and building Java/J2EE applications.
- Proficiency in programming languages such as Java, Python, or Go, and experience with microservices frameworks and libraries such as Spring Boot, Micronaut, or gRPC.
- Strong understanding of microservices and back-end architecture principles, design patterns, and best practices, including domain-driven design (DDD) and event sourcing.
- Experience with JavaScript frameworks/libraries such as React (preferred), or jQuery/Angular.
- Thorough understanding of Angular.Js, React.js and its core principles.
Good To Have
- Experience with virtualization technologies and JVM internals is a plus.
- Experience with containerization and orchestration technologies such as Docker, Kubernetes, or similar, and familiarity with cloud-native development principles and practices.
- Experience using testing frameworks/tools like TDD (test driven development) and BDD.
- Knowledge of modern web development technologies, including HTML5, CSS3, and CSS preprocessors (e.g., Sass, LESS).
- Relevant certifications such as Certified Kubernetes Administrator (CKA), Certified Kubernetes Application Developer (CKAD), or equivalent, are a plus.
What you'll get in return
- #MakeInnovationHappen: Chance to make an impact in terms of transformation
- #UnlockYourPotential: Join a young and stimulating environment
- #ComeAsYouAre: Working within a global team
- #UnlockYourPotential: Play a role of autonomy with high visibility and exposure
- #BalanceLifeAndCareer: Flexible working hours
- #BalanceLifeAndCareer: The possibility of working hybrid
- A professional but still friendly work environment
- #EnjoyTheBest: Access to our Benefits platform with a dedicated budget that you will be able to use, in order to choose the most suitable
- benefits for you
- Healthcare services from one of the agreed providers
- Holidays accorded based on your working experience (21 up to 25 days)
- Career in a leading international banking group, build on the diversity of its strong local roots
- Dynamic and multinational environment, full of growing opportunities