82
Job Description
The successful candidate will be rresponsible for designing, developing, and maintaining financial applications and crypto-based platforms that empower Client customers to handle their global payments needs.
Responsibilities
- Design, develop, and maintain high-quality, scalable, and secure software solutions using Node.js, TypeScript, and AWS technologies.
- Collaborate with cross-functional teams, including product management, UX/UI design, and QA, to gather requirements, define specifications, and ensure the successful delivery of projects.
- Architect and implement efficient, maintainable, and modular code in javascript and Typescript, adhering to best practices, coding standards, and established guidelines.
- Optimise application performance by identifying bottlenecks, implementing solutions, and conducting regular code reviews.
- Leverage AWS services and tools to design and implement cloud-native applications, ensuring optimal performance, security, and cost-effectiveness.
- Participate in the entire software development lifecycle, from planning and design to deployment and maintenance, ensuring smooth project execution.
- Stay up-to-date with industry trends, emerging technologies, and best practices in software engineering, particularly within the Node.js, TypeScript, and AWS ecosystems.
- Troubleshoot, diagnose, and resolve software issues, providing timely and practical solutions to ensure minimal user disruption.
- Collaborate with the other engineering team members to ensure smooth CI/CD pipelines, infrastructure management, and monitoring and alerting systems
Other Responsibilities:
- A typical day for the senior engineer at Client Company involves a dynamic mix of technical tasks, collaborative discussions, and mentorship opportunities.
- This individual actively engages in coding, conducts code reviews, and troubleshoots software issues.
- Collaborating with cross-functional teams ensures project alignment, while mentoring junior engineers supports their professional development.
- Beyond software development, responsibilities encompass architectural design, documentation, and staying abreast of industry trends.
- This multifaceted role plays a pivotal part in advancing Client Company’s mission of revolutionizing B2B payments in emerging markets.
- The Senior Software Engineer role at Client Company promises a fast-paced and diverse day. Flexibility and adaptability are crucial, as priorities may shift and unexpected opportunities or challenges may arise
Qualification
- An Engineering Degree is not a prerequisite; instead, we highly value relevant experience in software development and a demonstrable portfolio of projects that highlight your skills.
You could be an ideal match if you possess:
- 4+ years of professional experience in software development, focusing on web applications and backend services using JavaScript, TypeScript, and Node.js.
- You will need to have strong proficiency in JavaScript, TypeScript, and Node.js with a deep understanding of core concepts, asynchronous programming, and performance optimisation techniques.
- 2+ years of experience working with front-end frameworks, preferably Vue.js – and a solid understanding of HTML5, CSS3, and related web technologies – in building user-friendly and responsive web applications.
- Familiarity with Agile development methodologies, such as Scrum or Kanban, and experience working in an Agile environment.
- Some experience with NestJS, a progressive Node.js framework, and familiarity with its underlying principles, such as dependency injection and modularity, is a plus.
- Knowledge of Domain-Driven Design (DDD) concepts and experience implementing DDD principles in software projects is valuable.
- Familiarity with AWS services such as EC2, S3, Lambda, API Gateway, RDS, and Load balancers, and experience building scalable and secure cloud-based applications.
- Knowledge of RESTful API design principles.
- Experience with version control systems, preferably Git, and understanding of best code management and collaboration practices.
- Proficiency in writing and maintaining unit, integration, and end-to-end tests using testing frameworks such as Jest, Mocha, or Jasmine.
- Good knowledge of software development best practices, including design patterns, code modularity, and maintainability.
- Strong problem-solving skills, with the ability to analyse complex issues, develop practical solutions, and adapt to changing requirements.
- Excellent communication and collaboration skills, with the ability to work effectively in a team-oriented environment.
Location: Remote.
Apply: SENIOR SOFTWARE ENGINEER