Provide APIs, backend services, and frontend software by participating in all phases of the software development lifecycle, from design and implementation to testing and maintenance
Collaborate with product, design, and software architects to iteratively deliver features that satisfy our internal and external customers
Ensure code quality, security, reliability, scalability, and performance through testing, code reviews, and adherence to best practices
Be an engaged and active team member: learn, mentor and be mentored, and contribute to team improvement by participating in respectful discussions and decision-making
Participate in Scrum ceremonies, including daily stand-ups, sprint planning, retrospectives, and reviews, to ensure continuous delivery and improvement
Participate in ongoing maintenance and support of production systems, including participating in on-call rotations to ensure high availability and rapid incident response
Requirements
Bachelor's or Master's degree in Computer Science, Computer Engineering, or a related field, or equivalent professional experience
More than 5 years of progressive professional experience in full-stack software development/engineering
Proven experience with a range of programming languages and full-stack frameworks (e.g., JavaScript, Python, Java, C#, etc.); expertise in Node.js and TypeScript is a plus
Strong knowledge of relational and non-relational databases; experience with PostgreSQL is a plus
Experience with web frameworks and libraries (including React)
Excellent understanding of cloud architecture, serverless computing, and microservices, as well as containerization technologies such as Docker and container orchestration tools such as Kubernetes or AWS ECS
Experience using, designing, and implementing REST APIs
Experience using AWS services and technologies (e.g., EC2, ECS, Lambda, API Gateway, S3, RDS) with an understanding of security principles and authentication and authorization mechanisms
Skills and experience applying design patterns and an understanding of the fundamentals of good software architecture
Experience implementing and maintaining automated testing processes to ensure code quality
Experience with multi-repository GIT codebases, testing frameworks, and automated CI/CD pipelines
Experience with Agile/Scrum methodologies is preferred
Strong problem-solving skills and the ability to work in a collaborative environment.