The Senior Software Engineer works closely with peers, customers and stakeholders globally with mínimal supervision to deliver customer requirements to support the smooth utilization of the CloudPay platform worldwide. He/she is experienced in software development and will utilize this experience in developing solutions that bring maximum business value to the end customer.
**Daily Duties and Responsibilities**:
- Analyzing requirements, technical design, and implementing new capabilities within the platform.
- Upholding code standards and best practices through code reviews, refactoring efforts, peer mentoring and identifying improvements to coding and technical standards.
- Building solutions in the context of a legacy platform transitioning to microservice architecture.
- Selecting the appropriate design methodologies to be applied, determining design alternatives and performing trade-off analysis.
- Engaging in the identification and remediation of issues related to quality, performance, security, scalability, maintainability, reliability, and functionality or other problems in the technical and business domains.
- Design, code, unit test and debug user stories.
- Providing technical guidance to junior teammates through mentoring and code reviews..
- Providing technical support for existing functionalities in production environments.
- Documenting new or updated functionality as released.
- Participating actively in all aspects of the agile process and ceremonies to deliver usable functionality.
- Continually improving own coding and technical knowledge.
**Attributes and Skills Required**:
- Extensive hands-on development experience. Minimum of 7 years with a strong foundation in OOP and Design Patterns, Clean Code and SOLID principles.
- Strong working knowledge in Java 11/Java 17/JavaEE, Spring framework or Spring boot, Groovy, AngularJS and Vue.js.
- Proven experience implementing microservices. Knowledge on microservices architecture and design patterns.
- Experience working with relational (MySQL/MariaDB/Postgres) AND NoSQL (MongoDB, DynamoDB) database management systems and ability to write complex queries.
- Degree in Computer Science, Software Engineering or a related discipline.
- Strong teamworking and communication skills.
- Excellent logical, analytical skills and attention to detail.
- Self-starter, able to own, prioritize and plan own workloads.
- Flexibility in working to tight timescales to meet release deadlines.
- The following would be a distinctive advantage:
- Background in Payroll, HR or other financial domains.
- Working in Agile or Scrum environment.
- Familiarity with NodeJS, NestJS/ReactJS Framework, TypeScript, JavaScript, JQuery and RESTful Web-Services.
**Package and Benefits**:
- Competitive annual salary and benefits package- 15 vacation days plus public holidays- Birthday leave- Flexible remote working- Private Medical, Dental and Life Insurance- Personal and professional development opportunities- Friendly working environment