As a Principal Software Engineer, you will help grow and nurture technology, provide technical guidance to a growing team, set the technical strategy for modules and components of the Cloudpay platform, and utilize your software development experience in developing solutions to meet business problems.
- Advising Engineering and Product Management on the technical and architectural strategy for components/modules of the Cloudpay platform and ensuring alignment with relevant Product Area(s):
o Includes selecting and providing guidance on the appropriate design methodology (such as object-oriented, function-oriented, component-based) and strategies to be used within a project.
o Determining design alternatives with trade-off analysis.
o Technical leadership of architectural and engineering initiatives in a particular product area
- Working collaboratively with Agile Teams to understand the business domain and client requirements; drive analysis, architecture/design and development of quality deliverables and technical solutions crossing a broad spectrum of technologies.
o Designing and building solutions in the context of a legacy platform transitioning to microservice architecture.
- Establishing and upholding code standards and best practices through code reviews and refactoring efforts; identifying improvements to coding and technical standards
- Promoting a culture of producing quality products and compliance to quality processes across the team
- ● Identifying and investigating complex platform issues with respect to performance, security, scalability, maintainability and reliability upon deployment; presenting solutions and championing priorities
- Extensive hands-on development experience, minimum of 7 years with a strong foundation in OOP and Design Patterns, Clean code and SOLID principles
- Proven experience setting the technical strategy, implementing and tuning enterprise scale applications.
- Strong working knowledge of Java 11/Java 17/JavaEE, Spring framework or Spring boot, Groovy, AngularJS, Vue.js
- Demonstrable experience in microservice architecture and design patterns, and implementing microservices
- Experience working with relational (MySQL/MariaDB/Postgres) AND NoSQL (MongoDB, DynamoDB) database management systems and ability to write complex queries.
- Experience in API-driven development
- Experience in application performance tuning and secure coding
- Comfortable in engaging with a wide range of roles (juniors, seniors, other stakeholders) to collaborate on solutions and communicate technical ideas
- Working knowledge of Agile/Lean practices
- Experience in leveraging containerization (Docker/Kubernetes) and developing cloud-native applications
- Soft skills needed:
o Strong teamworking and communication skills
o Excellent logical, analytical skills and attention to detail
o Self-starter, able to own, prioritize and plan own workload
o Flexibility in working to tight timescales to meet release deadlines
- The following would be an advantage:
o Background in Payroll, HR or other financial domains
o Experience in data modeling, data architecture/engineering