Lead Software Engineer - L2 - Full Stack | Fulltime
Job Description:
Job purpose:
Manage and ensure the execution of software development life cycle of applications and programs (installation; configuration; deployment; analyzing; documenting; coding/development; and unit testing) as well as leading junior and senior engineers assigned to projects
Key accountabilities and decision ownership:
- Lead the full lifecycle design and development of web applications (backend & frontend).
-
Define and enforce scalable architecture, coding standards, and software best practices.
-
Build, integrate, and maintain APIs and external system integrations.
-
Conduct code reviews; ensure high-quality deliverables with tests, documentation, and clean code.
-
Collaborate with product managers, designers, and other stakeholders throughout the development process.
-
Mentor and support team members, fostering growth, knowledge sharing, and technical ownership.
Job Requirements:
-
Must have professional qualifications:
-
Bachelor's degree in computer science or equivalent.
-
7+years of relevant experience.
-
Proficient in Node.js, JavaScript, TypeScript, and asynchronous programming models.
-
Strong experience using Node.js frameworks such as Express.js, Nest.js (middleware, dependency injection, modular structure).
-
Deep working knowledge of both SQL and NoSQL databases, data modeling, and transaction handling.
-
Skilled in designing and consuming REST APIs; GraphQL experience is a plus.
-
Solid understanding of authentication & authorization patterns (e.g. JWT, session-based auth, OAuth2, RBAC/ABAC).
-
Experience building WebSocket / real-time applications for streaming or low-latency data.
-
Strong skills in data validation and sanitization to guard against injections, XSS, and schema violations.
-
Familiarity with caching strategies (Redis, in-memory, distributed) to optimize performance.
-
Ability to optimize Node.js performance: profiling, identifying bottlenecks, memory leaks, CPU usage.
-
Experience in designing Node.js solution architecture and scalable systems.
-
Knowledge of Clean Code principles, SOLID design principles, and common design patterns.
-
Deep experience with React; Next.js is preferred.
-
Experience with payment integrations and payment systems.
-
Advanced error handling and debugging: async stack traces, monitoring, logging.
-
Proficiency in unit testing (Jest, Mocha, or equivalent), including mocks and test coverage.
-
Strong version control practices (Git workflows, branching/merging, pull-requests).
-
Experience with at least one major cloud platform (AWS / Azure) and cloud-based solution design.
-
Experience with CI/CD pipelines, Docker containerization, and scalable deployments (e.g. Kubernetes).
-
Comfortable working in Agile / Scrum methodologies.
Equal opportunity:
All qualified applicants will receive consideration for employment without regard to age, religion, gender, nationality or disability. All qualified candidates will be considered in the process
-
Education
-
Bachelor's degree in computer science or equivalent