Job Summary:
We are looking for a talented individual to join our team and play a pivotal role in our software development efforts. As a Backend Engineer, you will be responsible for developing scalable backend solutions, working through the entire development lifecycle, and collaborating with a cross-functional team to deliver high-quality software.
Job Description:
As a Backend Engineer, you will be responsible for translating business visions into practical, functional backend solutions. Your responsibilities will include:
- Actively develop and deliver backend code written in JavaScript and TypeScript using Node.js, ExpressJS, NestJS frameworks.
- Design and maintain efficient database schemas, actively work with relational databases, and seamlessly integrate them to ensure comprehensive end-to-end application functionality.
- Own end-to-end workflows and intricate processes, ensuring seamless execution of our projects.
- Enhance and refine features and tools, thereby improving our ability to deliver exceptional value to our customers.
- Provide regular updates on project progress; effective communication within the development team is crucial.
- Contribute to the continuous improvement of our products and infrastructure to accommodate significant scaling efforts.
- Design, build, and maintain backend applications that meet project specifications.
- Develop RESTful APIs and seamlessly integrate them to establish end-to-end application functionality.
- Collaborate with the engineering team to make critical architectural decisions and deliver high-quality software, following best practices and design patterns.
- Design and implement an extensive set of test cases, encompassing unit tests and integration tests, to ensure the applications' resilience and reliability.
- Engage proactively in code reviews, knowledge-sharing sessions, and offer guidance to junior developers.
- Stay current with emerging technology trends and industry best practices, particularly those relevant to your assigned technology stack for backend development and testing.
Job Specification:
Required Skills and Expertise:
Education: Bachelor's degree in Computer Science, Engineering, Information Technology, Information Management, Computer Application, or a related field.
Experience: 3+ years of experience as a software engineer with a focus on backend development.
Programming Languages: Proficiency in JavaScript & TypeScript for backend development using Node.js, ExpressJS, NestJS frameworks is required.
Cloud Services:
- Preferred: Experience creating AWS Lambdas, particularly those integrating with API Gateway.
- Nice to have: Familiarity with AWS Cognito, SAM templates, CloudFormation, and other serverless frameworks.
- Version Control: Daily use of Git (clone, push, commit, merge).
- Messaging and Queuing:
- Preferred: Experience with SQS or alternative queuing services such as ActiveMQ, ZeroMQ, RabbitMQ.
- Nice to have: Experience with SNS or similar Pub/Sub alternatives.
- Security: Understanding of IAM for cross-account resource access is nice to have.
Databases:
- Required: Experience with SQL and relational databases.
- Preferred: Experience interacting with DynamoDB and designing indices (LSIs, GSIs).
- Containers and Orchestration:
- Preferred: Experience with application containers like Docker.
- Nice to have: Experience developing applications deployed on Kubernetes or ECS.
CI/CD and DevOps:
- Preferred: Hands-on experience with AWS CodeDeploy, CodeBuild, CodePipeline, and CodeArtifact. Understanding of CI/CD practices and tools.
- Nice to have: Experience with other CI/CD tools such as GitHub Actions, Jenkins.
- Scripting: Knowledge of Bash shell-scripting is preferred.
AWS Certification:
- Nice to have: AWS Certified Developer - Associate, AWS Solutions Architect - Associate, or higher.
Additional nice-to-have skills:- Business Process Modeling Notation (BPMN)
- RedHat Process Automation Manager
Candidates who possess a combination of these qualifications, are passionate about software development and are eager to contribute to our dynamic team are encouraged to apply.