A Node.js with AWS Developer is a backend software engineer specializing in building and maintaining scalable and robust applications using Node.js, specifically leveraging Amazon Web Services (AWS) cloud infrastructure.
Key Responsibilities:
Design and Development:
- Designing, developing, and deploying server-side applications and APIs using Node.js.
- Integrating and utilizing various AWS services (e.g., EC2, S3, Lambda, RDS, DynamoDB, SQS, SNS, API Gateway) for application functionality, data storage, and messaging.
- Building and maintaining RESTful APIs to support front-end applications and microservices.
- Implementing best practices for cloud architecture, security, and infrastructure.
Performance and Scalability:
- Ensuring the performance, scalability, and reliability of Node.js applications and AWS-based solutions.
- Optimizing application performance and troubleshooting issues in a timely manner.
- Implementing solutions for high availability and disaster recovery.
Collaboration and Documentation:
- Collaborating with front-end developers, designers, and other stakeholders to deliver high-quality software.
- Writing and maintaining technical documentation for applications and AWS deployments.
- Participating in code reviews and contributing to team best practices.
Deployment and Operations:
- Understanding and implementing CI/CD pipelines for automated deployment to AWS.
- Monitoring and optimizing application performance and resource utilization within AWS.
- Troubleshooting and resolving issues in production environments.
Qualifications:
Technical Skills:
- Proficiency in Node.js and JavaScript (or TypeScript).
- Strong understanding and hands-on experience with core AWS services (e.g., EC2, S3, Lambda, RDS, DynamoDB, SQS, SNS, API Gateway).
- Experience with database technologies (e.g., SQL and NoSQL databases like MongoDB, MySQL, PostgreSQL, DynamoDB).
- Familiarity with containerization technologies (e.g., Docker, Kubernetes).
- Experience with version control systems (e.g., Git).
- Knowledge of testing frameworks (e.g., Mocha, Jest) and debugging techniques.
Soft Skills:
- Strong problem-solving and analytical skills.
- Excellent communication and collaboration abilities.
- Ability to work independently and as part of a team.
- Adaptability to new technologies and evolving project requirements.
Education: Bachelor's degree in Computer Science, Engineering, or a related field, or equivalent practical experience.