Senior Software Engineer

We are looking for an experienced Senior Software Engineer to join our development team. The ideal candidate should be an experienced software engineer with strong backend and/or full-stack development experience, and a good understanding of real-time communication, system performance, scalability, and low-latency application design.

The role is suitable for candidates who have worked on mission-critical systems where reliability, responsiveness, and minimal latency are important, such as banking, financial systems, payment platforms, trading systems, transport systems, telecommunications, or other enterprise applications.

Key Responsibilities

· Design, develop, test, deploy, and maintain scalable, secure, and high-performance software applications.

· Develop backend and/or full-stack solutions that integrate with databases, APIs, networks, and enterprise systems.

· Design and support real-time or near real-time communication features with a focus on system responsiveness and low latency.

· Troubleshoot and optimise application performance, API response time, database queries, system bottlenecks, and network-related issues.

· Participate in software architecture design, technical planning, code reviews, and performance tuning.

· Work closely with project managers, business users, QA, DevOps, infrastructure teams, and external stakeholders to deliver technical solutions.

· Support system integration, data exchange, API services, and enterprise application connectivity.

· Investigate and resolve production issues, incidents, and technical defects in a timely manner.

· Contribute to DevOps, CI/CD, deployment automation, and application environment management.

· Provide technical guidance to junior developers where required.

Job Requirements

· Degree in Computer Science, Software Engineering, Computer Engineering, Information Technology, or related discipline.

· Minimum 6 years of hands-on software development experience, preferably with at least 2 years in a senior developer or technical lead capacity.

· Strong experience in backend and/or full-stack development.

· Proficiency in one or more programming languages or frameworks such as Java, Python, Node.js, Go, .NET Core, React, Angular, or equivalent.

· Strong understanding of software architecture, design patterns, API design, system integration, and database development.

· Hands-on experience with real-time communication message brokers such as Kafka, RabbitMQ, ActiveMQ, or equivalent.

· Experience with relational and/or NoSQL databases such as PostgreSQL, MySQL, SQL Server, MongoDB, or equivalent.

· Good understanding of real-time communication concepts, event-driven architecture, messaging, streaming, WebSocket, message queues, or similar technologies.

· Strong ability to identify and resolve latency, throughput, concurrency, and performance-related issues.

· Experience with relational and/or NoSQL databases such as PostgreSQL, MySQL, SQL Server, MongoDB, or equivalent.

· Experience with RESTful APIs, microservices, enterprise service bus, integration platforms, or middleware technologies.

· Familiarity with DevOps practices and CI/CD tools such as GitLab CI, Jenkins, GitHub Actions, or equivalent.

· Experience with Docker, Kubernetes, Linux, cloud platforms, or equivalent application deployment environments.

· Experience working in regulated or mission-critical environments such as banking, finance, government, transport, telecommunications, or enterprise systems will be advantageous.

· Experience supporting high transaction volume, concurrent users, real-time data exchange, and high-availability systems.

· Knowledge of performance monitoring, logging, tracing, caching, asynchronous processing, and fault-tolerant system design.