Backend Engineer
Beam
- Karachi, Sindh
- Permanent
- Full-time
- Design and develop robust and scalable server-side components.
- Collaborate with cross-functional teams to define requirements and build efficient, secure, and reliable APIs and backend services.
- Write clean, maintainable, and well-documented code using best practices and design patterns.
- Optimise application performance and ensure scalability to handle large volumes of data and user traffic.
- Implement data storage and retrieval mechanisms, including databases, caching layers, and search technologies.
- Collaborate with the frontend team to define and integrate APIs using OpenAPI specs for seamless data exchange and user experience
- Conduct code reviews, identify bugs, and propose solutions to ensure high code quality and system reliability.
- Stay up-to-date with industry trends, emerging technologies, and best practices related to backend development.
- Troubleshoot and resolve production issues in a timely manner.
- Contribute to the continuous improvement of development processes and tools to enhance team productivity and efficiency.
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- Around 4 to 5 years of proven experience as a Backend Engineer or similar role, with a focus on developing scalable web applications or platforms.
- Strong proficiency in one or more programming languages, such as Typescript (Node.js), Python or Golang.
- Proficiency in SQL databases such as PostgreSQL or MySQL and NoSQL databases like MongoDB or DynamoDB.
- Experience with cloud platforms and services, such as AWS, Azure, or Google Cloud.
- Experience with containerisation technologies, such as Docker and Kubernetes.
- Familiarity with caching technologies like Redis.
- Prior experience working with Microservices architecture and implementing event-driven systems.
- Excellent communication and teamwork skills, with the ability to collaborate effectively with cross-functional teams.
- Self-motivated and detail-oriented, with a passion for tech.
- Experience with the NestJS framework for building scalable backend applications.
- Experience with CI/CD using tools like Github Actions, AWS CodePipeline, Jenkins, or any other similar tools.
- Hands-on experience with queueing solutions and message brokers like AWS SNS + SQS, Kafka, or RabbitMQ.
- Knowledge of infrastructure-as-code tools like AWS CDK, Terraform or Pulumi.
- Knowledge of and experience working with domain-driven design (DDD) principles and test-driven development (TDD) methodologies.
- Understanding and application of SOLID principles in software design and development.
- Prior experience working in an Agile/Scrum development environment.