Collaborate with appropriate stakeholders to determine user requirements for a set of features.
Contribute to the identification of dependencies, and the development of design documents for a product area with little oversight.
Create and implement code for a product, service, or feature, reusing code as applicable.
Contribute to efforts to break down larger work items into smaller work items and provide estimation.
Participate in code reviews and provide constructive feedback to peers.
Ensure the performance, quality, and responsiveness of applications.
Identify and correct bottlenecks and fix bugs.
Help maintain code quality, organization, and automation.
Develop and maintain automated tests to ensure code quality.
Stay up-to-date with the latest industry trends and technologies.
Mentor junior engineers and help them grow in their careers.
Requirements
Bachelor's Degree in Computer Science, Software Engineering, Computer Engineering, or related technical field AND technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, or Python OR equivalent experience.
3+ years of solid experience in building and maintaining reliable and scalable services/platforms.
Experience with production-scale distributed systems.
Strong understanding of cloud technologies and platforms such as AWS, Azure, or Google Cloud.
Experience with containerization and orchestration tools like Docker and Kubernetes.
Proficiency in database technologies, both SQL and NoSQL.
Experience with version control systems like Git.
Strong problem-solving skills and the ability to think critically.
Excellent communication skills, both written and verbal.
Experience in building Machine Learning/Deep Learning systems is a plus.
Ability to work effectively in a collaborative team environment.