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.
Daily Duties and Main Responsibilities will include:
● 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
Attributes and Experience Required:
● 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
● Familiarity with NodeJS, NestJS/ReactJS Framework, TypeScript, JavaScript, JQuery and RESTful Web-Services
● 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
Package and Benefits:
- Competitive annual salary and benefits package
- 18 days annual leave plus public holidays
- Earned Wage Access (via CloudPay Now app)
- Flexible remote working
- 10 days sick leave
- HMO
- Personal and professional development opportunities
- Friendly working environment