Full Stack Engineer (NestJS Backend & Next.js Frontend)
Job Description:
Position Overview:
We are seeking five (5) highly skilled Full Stack Engineers who are proficient in both backend development with NestJS and frontend development with Next.js. The ideal candidates will have a strong foundation in algorithms and a deep understanding of modern web technologies. These engineers will be responsible for building and maintaining a complex system that includes video calling, payment processing, and various AWS and Kubernetes services.
NOTE: FEEL FREE TO APPLY IF YOU ARE ONLY PROFICIENT WITH ONE, NEXT.JS OR NESTJS.
Key Responsibilities:
1. Backend Development (NestJS):
- Design and implement backend services using NestJS.
- Develop and manage WebRTC signaling servers for video call management.
- Integrate with TURN/STUN servers (Coturn) for optimal video call performance.
- Implement secure and scalable payment processing systems using Stripe, Interswitch, or
Flutterwave.
- Ensure the security of sensitive data using Vault by HashiCorp.
2. Frontend Development (Next.js):
- Develop and maintain high-performance web applications using Next.js.
- Collaborate with designers to create user-friendly and responsive UIs.
- Optimize frontend performance to ensure a seamless user experience during video calls
and payment processing.
3. Microservices & Orchestration:
- Develop and deploy microservices architecture using Kubernetes for managing real-time online market services.
- Implement and manage StatefulSets for Cassandra to ensure seamless database integration.
- Deploy and monitor chat services using AWS EC2/ECS for optimal performance and scalability.
- Utilize Istio or Linkerd as a service mesh for microservices management and security.
4. Monitoring & Logging:
- Implement monitoring solutions using Prometheus and Grafana to track performance metrics.
- Set up and manage logging infrastructure using the ELK Stack (Elasticsearch, Logstash, Kibana).
- Ensure that the system is highly observable with real-time metrics and alerts.
5. Video Calling Infrastructure:
- Deploy and manage WebRTC signaling servers on AWS EC2/ECS.
- Utilize Elastic Load Balancing for distributing WebRTC connection requests.
- Implement auto-scaling using Kubernetes to handle varying call volumes.
- Store and manage video call metadata and logs using Cassandra, and store recorded
video calls in S3.
6. Payment Processing Infrastructure:
- Implement and integrate secure payment processing using Node.js or NestJS.
- Deploy payment services on AWS EC2/ECS, ensuring high availability with Kubernetes. - Manage transaction records and payment logs using RDS (MySQL/PostgreSQL).
- Use AWS Lambda for integrating with payment gateways and processing transactions
efficiently.
7. Cloud Infrastructure & Kubernetes:
- Deploy, manage, and scale services using Kubernetes for both video calling and payment processing.
- Implement auto-scaling, load balancing, and security best practices.
- Utilize AWS services (EC2, ECS, Lambda, S3) for deploying and maintaining robust, scalable systems.
8. Algorithm Development & Optimization:
- Develop and optimize algorithms for real-time communication and secure transactions. - Ensure low-latency and high-performance across all services.
- Collaborate with the team to solve complex problems using efficient algorithms and data
structures.
9. Collaboration & Teamwork:
- Work closely with other engineers, designers, product managers, and DevOps to deliver end-to-end solutions.
- Participate in code reviews, contribute to continuous improvement initiatives, and mentor junior developers.
Required Qualifications:
- Experience:
- Minimum 5 years of experience in backend development with NestJS.
- Proven minimum 4 years of experience in frontend development with Next.js.
- Strong algorithmic problem-solving skills.
- Extensive experience with AWS services, including EC2, ECS, S3, and Lambda. - Proficiency in Kubernetes for deploying and scaling applications.
- Experience with WebRTC, Coturn, and video calling infrastructure.
- Familiarity with payment processing systems like Stripe, Interswitch, and Flutterwave.
- Technical Expertise:
- Strong knowledge of NestJS, with a focus on building secure and scalable services.
- Experience with Cassandra and RDS for database management.
- Proficient in modern frontend development practices, including server-side rendering with
Next.js.
- Experience with containerization and orchestration using Docker and Kubernetes.
- Other Skills:
- Excellent communication and collaboration skills.
- Ability to work in a fast-paced, agile environment.
- Strong commitment to quality and continuous improvement.
Preferred Qualifications:
- Experience with CI/CD pipelines and automated testing.
- Knowledge of security best practices in cloud environments.
- Experience with real-time communication technologies beyond WebRTC.
Location: 2 days at Lagos, Nigeria Office, 3 days remotely; Hybrid.
Compensation: #600,000 - #1,000,000; Based on experience
Required Skills:
Cassandra Kibana High Availability Web Technologies ElasticSearch Performance Metrics Chat Pipelines Data Structures Structures Scalability Video User Experience Microservices Load Algorithms Web Applications DevOps Compensation Kubernetes Metrics Reviews PostgreSQL Continuous Improvement Servers Architecture Node.js Optimization Developers Infrastructure Availability Docker Integration Security Records MySQL Teamwork Testing Design Communication Management