Senior Software Engineer
About the role
The ideal candidate:
The ideal candidate is a highly skilled software engineer with deep expertise in one or more of the following domains:
- Backend development (C#/.NET)
- Mobile SDK development for Android (Java/Kotlin) or iOS (Objective-C/Swift)
You don’t need to be an expert in all these areas, but you should bring senior-level technical depth and design experience in at least one, combined with the ability and curiosity to work across the stack when needed.
As a Senior Engineer, you will play a key role in designing, developing, and maintaining SDKs and backend components that enable secure, performant, and seamless payment transactions. You will be expected to take ownership of complex problems, influence architectural decisions, and contribute to improving our CI/CD, testing, and deployment processes.
You’ll also provide mentorship, participate in design discussions, and help ensure that our systems and SDKs meet the highest standards of security, reliability, performance, and maintainability.
Key Responsibilities:
- Design, develop, and maintain secure, scalable, high-quality SDKs and backend services used in payment device integrations.
- Lead architectural and design discussions across backend and mobile platforms.
- Write and review well-structured, maintainable, and efficient code.
- Collaborate closely with Product, QA, and Operations to ensure successful feature delivery.
- Mentor junior and mid-level engineers, sharing best practices and guiding technical growth.
- Participate in the evolution of CI/CD pipelines and deployment automation.
- Ensure that all code and systems adhere to strong security and compliance requirements (e.g., PCI, OWASP).
- Investigate and resolve performance issues across SDKs and backend services.
- Contribute to cross-team initiatives, including SDK standardization and shared libraries
- Join the team’s out-of-hours on-call rota to support critical product alerts. This typically starts after 6 months of onboarding, and we provide additional compensation to acknowledge the commitment and disruption to your time.
Skills & Experience:
- Bachelor's degree in Computer Science, Information Technology, or equivalent experience.
- Minimum of 5 years of experience in developing complex software applications in a commercial environment.
- Advanced proficiency in C# (preferred) or Java, with a strong understanding of object-oriented design principles and software architecture.
- Deep understanding of the Software Development Life Cycle (SDLC) and agile methodologies.
- Experience with relational databases (e.g., MySQL, SQL Server, Oracle) and optimizing database interactions.
- Strong knowledge of security best practices, including secure coding principles and compliance requirements (e.g., OWASP Top Ten, PCI, SOC2, HIPAA).
- Proficient in networking concepts such as sockets, HTTPS, DNS, and SSL.
- Deep knowledge of design patterns and their practical application.
- Proven ability to work independently while also fostering teamwork and cross-team collaboration.
- Demonstrated ability to mentor junior