Senior Backend Engineer
InApps Technology
- Location
- Vietnam
- Job Type
- full-time
- Salary
- Unknown
- Posted
- July 4, 2025
Job Description
in a leading Singaporean wealth management platform operating across multiple regions. We're expanding our funding capabilities to serve customers in Malaysia through strategic payment integrations.
Project context:
You'll be part of a newly formed funding squad focused on integrating FPX/DOBW (Malaysia's leading payment methods) into our existing platform. This critical project involves seamless integration with our mobile app, backend systems, and operational processes while working with key stakeholders including PayNet (Malaysia's national payment network) and banking partners.
Role Overview:
Position: Senior Software Engineer
Team Size:1 position available
Work Arrangement: Full-time remote
Start Date: July 1, 2025
Contract Period: 6 months initial
- Key Collaboration Window: 2:00 PM - 6:00 PM GMT+8
- Team Structure: Cross-functional squad with Product Manager, Tech Lead, and fellow engineers
- Support: Comprehensive onboarding with engineering manager, tech lead, and in-house developers
Key Responsibilities:
- Drive small to medium-sized, well-defined epics independently from conception to delivery
- Develop and maintain full-stack solutions for payment integration systems
- Collaborate with a cross-functional team (Product Manager, Tech Lead, other engineers)
- Work with complex backend workflows and event-driven architecture
- Contribute to mobile app development using React Native
- Participate in agile development processes and stakeholder communications
- Support system maintenance and operational tasks as needed
Job Requirement
- 4-8 years of software development experience
- Strong track record of delivering complex projects in agile environments
- Experience with full-stack development and system integrations
- NodeJS (strong proficiency required)
- TypeScript
- RDBMS (PostgreSQL preferred)
- React-based frontend stacks (React, Next.js, React Native)
- NestJS framework experience
- Experience with PostgreSQL database design and optimization
(Bonus)
- Go programming language
- Kafka for async messaging and event processing
- Temporal for workflow orchestration
- Message queues and workflow systems
- React Native development (strongly preferred as our primary customer platform)
- Experience in payments domain or financial services
- Previous work on integration projects with third-party systems
- Knowledge of async messaging patterns and event-driven architecture
- Experience with mobile-first development approaches
What we offer
- Opportunity to work on mission-critical payment systems
- Exposure to cutting-edge financial technology stack
- Collaboration with regional and international teams
- Flexible remote work arrangement
- Professional development through complex technical challenges
Application Requirements:
Candidates must demonstrate:
- Willingness to learn and adapt to our "good-to-have" technologies
- Strong problem-solving abilities for complex backend systems
- Collaborative mindset for cross-functional team success
- Commitment to quality and best practices in software development.
π― Who is this job for?
This role suits a Senior Full-Stack Engineer with 4–8 years of experience, especially in Node.js, TypeScript, PostgreSQL, and React Native. Ideal for someone skilled in backend workflows, event-driven architecture, and mobile-first development, particularly in payments or financial services. Candidates should be confident owning epics end-to-end, integrating third-party systems, and collaborating within agile, remote teams.
π¬ Potential Interview Questions
-
What are some key considerations when integrating FPX or DOBW into a mobile platform?
Considerations include adhering to PayNet protocols, handling asynchronous payment statuses, secure data transmission, and providing real-time user feedback via the mobile UI. -
Describe how you would structure a NestJS service to handle payment initiation and callback handling.
Separate controllers for initiation and callback endpoints, use services for business logic, and integrate middleware for logging and error handling; async flows can be managed using event emitters or Kafka. -
What patterns would you use in PostgreSQL schema design for transactional systems?
Normalize tables to avoid data redundancy, use indexed foreign keys for relations, apply proper transaction isolation levels, and design for auditability with status tracking and timestamps. -
Explain how Kafka can be used in an event-driven payment architecture.
Kafka allows decoupling services by publishing payment events (e.g., initiated, succeeded, failed), enabling other components to consume these events for reconciliation, notifications, or audits. -
What are some challenges you might face using React Native for payment flows, and how would you address them?
Ensuring secure credential handling, managing native modules for bank redirection flows, and gracefully handling slow or failed transactions via proper UI states and retry mechanisms. -
How do you ensure type safety and maintainability in a large TypeScript codebase?
Use strict compiler settings, shared interfaces for data contracts, modular architecture, and enforce coding standards through linting and code reviews. -
How would you orchestrate a multi-step payment workflow using Temporal?
Define workflows to manage payment steps (e.g., validate, initiate, confirm), use activities for isolated business logic, and apply retry and timeout policies for resilience. -
Describe an experience where you integrated with a third-party payment system. What were the biggest challenges?
Handling inconsistent API documentation, managing retries for unreliable endpoints, and synchronizing real-time and batch settlement data were primary issues, solved by thorough testing and async event processing. -
What best practices do you follow when designing APIs for financial transactions?
Use idempotency keys, detailed status codes, proper authentication/authorization, audit logging, and ensure data validation at both request and persistence layers. -
What is your approach to debugging a failed payment reported by a user?
Start with logs and trace IDs to reproduce the flow, check Kafka or Temporal events, validate third-party response data, and ensure the mobile app state matches backend transaction history.
π Job Summary
Join a leading Singapore-based wealth management platform as a Senior Software Engineer and help expand payment capabilities into Malaysia through FPX/DOBW integration. You'll work in a cross-functional remote squad, tackling complex backend systems, mobile development with React Native, and system integrations using Node.js, TypeScript, PostgreSQL, and NestJS. This 6-month, full-time remote contract starts July 1, 2025, with core hours from 2–6 PM GMT+8. You'll collaborate with PayNet, banking partners, and internal teams on mission-critical fintech infrastructure. Ideal for engineers eager to grow in a high-impact, agile environment with cutting-edge technologies and regional exposure.
Required Skills
Related jobs
Full-Stack Engineer (Angular/React + Java/Kotlin Spring Boot + Neo4j/MySQL)
CI&T
Full-time