Sr. Software Engineer (AWS + Typescript/Node.js)

Job Description

Job Description 

As a Senior Software Engineer, you will be responsible for architecting and developing cloud native, highly available, robust and secure applications in the AWS environment. You will have experience in web, mobile, backend, API, database development and should have experience in leading a team of software engineers.

With automation and maintenance being at the heart of our engineering principles, this position will have the enviable opportunity to adopt and promote best practices, bleeding edge technologies and trends. Not limited to a single product area or type, this role will work in a cross functional team with skill sets in full stack software engineering, devops, infrastructure, quality assurance to architect. You will collaborate with a cross-disciplinary team to own product software development, contribute and promote standards and engineering best practices, support operational activities such as; process automation, compliance activities, SLA upkeep requirements. 

You’ll be tasked with translating business or product requirements into technical designs, hands-on implementation of the designs to see through its testing and deployment into various environment such as; development, stress testing, integration testing, staging and production. You will enjoy the fun of development from scratch in some application components while adhering to the company engineering standards, frameworks and best practices. You will also be a collaborative engineer capable of observing and contributing to existing works by other team members. Automation and maintenance is key, you will be excited to see through your contributions into production and maintain their longevity in the mission-critical environment. 

Role responsibilities and experiences: 

Analytical and be able to work with fuzzy requirements 
Methodologically translate discussions with stakeholders, documents, own researchfindings into technical designs and implementation steps
Prior Experience in handling a team of software engineers.
Build to last and go production mindset versus build as proof-of-concept 
Strong background in software engineering and design patterns 
Experience in microservices and serverless architecture 
Knowledge in architecture patterns such as; CQRS, event-sourcing 
Proficient in Typescript,NodeJS 
Experience with NestJs 
Good knowledge in multi-threaded and socket programming Instinctive desire to maintain code quality,tidiness and zero technical debt
Strong focus on test coverage (practice TDD, BDD) Good with API and its design/protocol e.g. Restful, Websocket, SOAP 
Good understanding of Request/Response vs Async protocol 
Can work with various databases to match query and storage requirements e.g.DynamoDB,SQL, DocumentDB Experience in cloud native architecture 
Understanding of data lake and data warehousing Knowledge in secured coding e.g. OWASP, XSS, CORS 
Experience in authentication standards and platforms e.g. JWT, OAuth, IdentityFederation  
Experience in AWS Cloud environment AWS Serverless architecture, Microservices, Blue Green Deployments, CICD Infrastructure As a Code (IAC): Terraform, Cloudformation, AWS Devops
SNS, SQS, EventBridge,
Step Functions ElastiCache Loading Balancing, Route53, CloudFront, ECS,ECR, Auto-Scaling S3, RDS, DynamoDB,DocumentDB CodePipeline, CodeBuild, CodeDeploy CloudWatch logs, events, triggers CloudTrail, X-Ray 
Proven track record in developing and maintaining mission-critical high-load productionsystems with SLA 99.999
Proven track record in supporting rapid and agile product deployments to different environments - dev, test, stress-testing, staging/production.