Job description & requirements
You will play a vital role in developing and transforming our online payment solutions to help our users pay and receive online payments easily and seamlessly.
This is a high-impact space packed with challenging problems involving very complex systems - our systems handle high volume transactions with precision. Our engineers are actively working on a variety of problems including; distributed systems reliability, database design and performance, decision systems, workflow management, system monitoring, fault detection and healing.
You will be exposed to the latest developments in the payments industry and have the chance to learn about new and emerging trends in financial technology.
- Architecture - Designing feasible technical solutions based on business requirements and external constraints. Making technical decisions and directions for various projects / teams
- Planning - Effectively estimate project work, and communicate issues and risks that might impact development timeline, budget or resources
- Policy-making - Define and implement policies and processes for code quality, data quality, data security, and governance
- Execution - Accomplishing engineering solutions to further the business growth by producing, testing and debugging code
- Management - Manage, guide and mentor other junior software engineers
What you might do:
- Manages team demands on your time and to delegate technical execution or responsibilities when appropriate
- Act as a liaison or primary point of contact for communicating with key client side technical expertise
- Direct technical aspect of operations related to escalated client accounts or high severity issues as they affect or confront a project or team
- Designing solutions to project/team or company related issues by taking into account business requirements and technical considerations
- Determine operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions
- Documents and demonstrates solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code
- Preparing and installing solutions by determining and designing system specifications, standards, and programming
- Define and implement policies and processes for data quality, data security, and governance
- Improving the company’s technical awareness, depth and use of technology across the business
- Participating in the evolution of company level best practices, standards, and policies as it related to software development
- Provides thought-leadership as it relates to emerging technologies and readying our company and engineers for productively integrating them into our business.
What you might need:
- 5-8+ years’ relevant experience as a full stack software developer, preferably in Ruby on rails, with 2+ years specialising in data architecture and database design.
- Experience in all aspects of the software development life cycle (e.g. requirements, analysis, design, implementation, testing, and documentation) and associated execution models (e.g. Waterfall, Agile, Iterative Development, etc.)
- Excellent understanding of project estimating, and ability to communicate issues and risks that might impact development timeline, budget or resources
- Experience using system monitoring tools (e.g. New Relic) and automated testing frameworks
- In-depth knowledge of administering databases and application servers such as MySQL
- Working practical knowledge of the following categories of network systems: Multiprocessing, Threading, Distributed systems, Load Balancing and High Availability
- Excellent written and verbal communication skills - English
Great if you have:
- A passion and knowledge of the payments industry and the latest developments in financial technology
- Experience working in a (financial) technology company