As a Software Engineer, you will design, develop, and maintain customer-centric, high-performance, secure, and resilient software solutions. Working within a feature team, you will contribute across the full software development lifecycle while delivering complex, high-quality code that adds value to the business.
Key Responsibilities
- Engineer and maintain scalable, secure, and robust software solutions for the platform
- Produce complex, critical software rapidly and with high quality
- Participate in all phases of the software lifecycle, from development and enhancement to maintenance and decommissioning
- Collaborate with engineers, architects, and business analysts to optimise engineering practices
- Design, produce, test, and implement working code following industry best practices
- Translate product and business requirements into technical solutions
- Support, modify, and maintain systems and code developed by other engineering teams
- Apply programming best practices to ensure scalability, availability, and performance
Required Experience and Knowledge
- Strong background in software engineering, software design, or database design and architecture
- Extensive experience developing software in SOA or microservices paradigms
- Experience with Android development and programming language development
- Hands-on expertise in Kotlin and Java, including flows and coroutines
- Practical experience with security concepts such as SSL pinning and OAuth2
- Extensive experience with test-driven development, automated test frameworks, mocking, stubbing, and unit testing tools
- Knowledge of software delivery lifecycle phases and established software development methodologies
- Experience delivering products within defined timescales
- 5 to 12 years of software engineering experience; banking or Fintech app experience is a plus