Job Openings
Software Engineer
About the job Software Engineer
Responsibilities:
Full Stack Development
- Design, develop, and maintain applications:
- Implement frontend applications using React and React Native.
- Implement and maintain backend services using Node.js and TypeScript (NestJS experience is a plus).
- Build and maintain RESTful APIs, integrating with AWS services, Redis, and databases such as MySQL and DynamoDB.
- Perform code reviews: Ensure code quality and share knowledge with team members to improve overall team performance.
- Debug and troubleshoot issues: Identify and resolve software defects and performance issues.
- Implement automated testing and continuous integration: Ensure the reliability and stability of the software through automated tests and CI/CD pipelines.
- Documentation: Create and document technical designs that are aligned with architectural guidelines.
- Stay updated with the latest industry trends: Continuously learn and apply new technologies and best practices to improve our products.
DevOps & Software Delivery
- Design, automate, and optimize CI/CD pipelines using GitLab to ensure smooth, reliable releases.
- Implement automated build, test, and deployment processes for multiple environments.
- Manage and monitor application releases, including rollbacks, backups, and troubleshooting.
- Drive best practices for code quality, configuration management, and deployment strategies.
Cloud Infrastructure & Operations
- Provision, configure, and manage cloud infrastructure (AWS) to support applications and services.
- Use Terraform for infrastructure as code and automate cloud resource management.
- Maintain cloud networking, security groups, load balancers, and other key infrastructure components.
- Support Site Reliability Engineering (SRE) related operations including observability, monitoring, and disaster recovery readiness.
- Ensure systems are secure, scalable, and cost-optimized.
Collaboration & Leadership
- Participate in system architecture discussions and technical solutioning.
- Mentor junior engineers through code reviews and best practice sharing.
- Collaborate with product managers, QA, and security teams to deliver high-quality, reliable releases.
Required Skills and Experience:
Professional Experience:
- At least 5 or more years of relevant experience in Software Engineering roles
- At least 2 or more years of relevant DevOps, or cloud infrastructure roles.
Technical Expertise:
- Strong proficiency in JavaScript/TypeScript, Node.js, and React (and/or React Native).
- Experience building RESTful APIs.
- Hands-on experience with AWS (Lambda, ECS/EKS, S3, API Gateway, CloudFront).
- Familiarity with MySQL, DynamoDB, Redis, and AWS SQS or SNS.
- Solid understanding of CI/CD concepts and best practices. Experience in the following will be advantageous.
- CI tools such as GitLab products or similar tools.
- Familiarity with Infrastructure provisioning / configuration tools such as Terraform and containerization technologies such as Docker.
- Working knowledge of web hosting configuration components (including firewalls, load balancers, web servers, app servers etc.)
- Understanding of networking, load balancers, and firewalls in cloud contexts.
- Experience writing automated tests and integrating testing into delivery pipelines.
Additional:
- Experience with NestJS or other Node.js frameworks.
- Knowledge of microservices and distributed system design.
- Familiarity with disaster recovery and business continuity planning.
- Prior experience in government or enterprise-scale projects.