ata Team Software Engineer Moneyhub Financial Technology Ltd
You’ll thrive using agile methods and enjoy working openly, collaboratively and as part of a multidisciplinary team focused on one or more projects, doing things the right way and producing high quality code.
Your work on our platform will help people get on top of their finances and make better informed financial decisions.
As a member of our technical team you’ll:
Design and build REST APIs to expose generated insights.
Configure and deploy real-time flows from production services into the data warehouse.
Implement services, using already developed machine learning and statistical techniques, that run efficiently over millions of banking transactions.
Design and implement SQL queries to show key information for platform billing, user trends and in-app nudge generation.
And more generally you’ll:
Increase code quality by actively participating in peer code review
Improve our processes and tools through communication, automation and optimisation
Build automated tests as part of our continuous integration and deployment environment
Share knowledge of tools, techniques, new features and ideas with the Moneyhub team of developers and non developers
Apply broad knowledge of web technologies to provide security, performance and scalability
Solve issues and suggest solutions as part of feature development and support
Who you are
We’re interested in people who:
Understand software design principles such as functional programming (we use Ramda extensively)
Are fluent in SQL.
Have familiarity with techniques to deal with large volumes of data and/or throughput. For instance, you may have used data warehouses such as AWS Athena, Redshift or technologies in the Hadoop ecosystem.
Have built ETL pipelines as part of an organisation’s data warehousing strategy.
Have worked with microservices interacting via REST APIs and through message queues.
Are familiar with different database engines; we use PostgreSQL and MongoDB for OLTP processing.
And more generally:
Enjoy researching and learning new programming tools and techniques and telling others about them
Communicate with accuracy and effectiveness
Take a systematic approach to solve problems
Have experience of using testing to validate solutions.
Understand agile environments and version control
Have a firm understanding of web security
Are aware of technologies used for web applications, e.g databases, backups, CDNs and search, and of Unix-like operating systems, e.g. Linux and/or Mac OS
Have experience of working on, or with modern web technologies
Are familiar with working practices such as TDD, continuous integration, continuous delivery and DevOps (and want to learn more).
While not essential for the role, there will be the opportunity to:
Package and deploy Machine Learning models using Python, Scikit-learn and AWS Sagemaker.
Develop front-end dashboards in React to display the results of analysis and to enable decision making by the business.