Job Description
We seek a highly skilled and experienced software engineering team lead to oversee our dynamic development team. This role is crucial in ensuring the successful design and delivery of a shared service for our cloud infrastructure, utilizing Python and Golang. The ideal candidate will have exceptional leadership abilities, a robust technical background in system architecture, and experience working with backend and frontend developers as well as software QA professionals. Knowledge and experience with Infrastructure as a Service (IaaS) and Object Storage services are highly desirable.
Key Responsibilities:
Team Leadership:
- Led, mentored, and managed a team of backend and frontend developers, and software QA engineers.
- Foster a collaborative and high-performance team environment.
- Conduct regular one-on-one meetings, and performance reviews, and provide constructive feedback.
- Promote best practices in software development, including code reviews, testing, and documentation.
System Design and Architecture:
- Lead the design and architecture of scalable, robust, and efficient shared services for cloud infrastructure.
- Develop high-level system design diagrams and documentation.
- Evaluate and select appropriate technologies and frameworks to meet system requirements.
- Ensure systems are designed with security, scalability, and maintainability in mind.
- Collaborate with stakeholders to gather and refine system requirements.
Project Management:
- Oversee the planning, execution, and delivery of software projects.
- Collaborate with product managers to define project requirements, scope, and timelines.
- Ensure projects are delivered on time, within scope, and within budget.
- Identify and mitigate project risks and issues.
Technical Expertise:
- Provide technical guidance and support to the development team.
- Write high-quality, maintainable, and efficient code in Python and Golang.
- Conduct thorough code reviews and ensure adherence to coding standards.
- Stay current with industry trends and emerging technologies.
Collaboration and Communication:
- Collaborate closely with other teams.
- Communicate project status, progress, and challenges to stakeholders.
- Facilitate effective communication within the team and across departments.