Job
Description
You will be working with a cross-functional team to create software products following approved architecture and the roadmap set by the product management team. Additionally, you will be responsible for managing a team of software engineers to achieve the goals set by the business teams. Your main tasks will include writing high-quality distributed system software and utilizing hands-on experience in Cloud technologies, as well as exposure and experience with the latest technology stack. Collaboration with architects and technical product managers to translate system architecture and product requirements into well-designed software components will be crucial. You will take ownership of implementing individual software components, focusing on quality, test-driven development, and sound software engineering practices. Participation in software design reviews, conducting peer code reviews, and providing feedback to other team members will also be part of your responsibilities. Designing, implementing, testing, deploying, and maintaining innovative software solutions to enhance service performance, durability, cost, and security will be key objectives. It is essential to utilize software engineering best practices to ensure a high standard of quality for all team deliverables. To be successful in this role, you must have a Bachelor's Degree in Computer Science or STEM Majors (Science, Technology, Engineering, and Math) with a minimum of 12+ years of experience. You should have at least 3 years of experience in building scalable, distributed systems using modern cloud frameworks such as AWS and 2+ years of experience in leading design or architecture (design patterns, reliability, and scaling) of new and existing systems. Hands-on experience in backend product development using Python is required, along with deep knowledge of microservices architecture and containerization technologies (e.g., Docker, Kubernetes). An excellent understanding of cloud-native design patterns and best practices is essential. Strong problem-solving skills and the ability to troubleshoot complex technical issues are crucial. You should also be capable of consulting customers on the alignment of outcomes and desired technical solutions at an enterprise level. Experience with designing/architecting large-scale distributed systems, preferably using AWS technologies, is preferred. Bringing fresh ideas from various areas, including testing and validation automation, while maintaining production availability, conversion automation, distributed computing, and large-scale system design, is important. Experience in creating, documenting, and communicating software architectures for complex products and building, tracking, and communicating plans within Agile processes will be beneficial for this role.,