Roles and responsibilities
- Lead, manage, mentor, and build a team of software engineers and data engineers fostering a culture of collaboration, innovation, and creative problem-solving.
- Establish Engineering best practices, frameworks, agile methodologies and tools to promote Technology Engineering Excellence in an industrial setting
- Ownership of Engineering Budget. Manage resources including staffing, software licenses, and tools
- Closely partner with product managers, UX/UI designers, business stakeholders, and the IT Group to develop the technical strategy, design and architecture of the Business Unit’s technology platform
- Lead the engineering team in executing the technical strategy ensuring the highest standards of design patterns, code quality, solution extensibility, usability, and maintainability
- Help define a clear framework of compliance, governance, system integration and data integrity between the Business Unit (Vertical) and IT Group (Horizontal)
- Guide the design and architecture of a purpose-built data platform for the Business Unit establishing an ecosystem for data science, machine learning, artificial intelligence and other innovations
- Design and implement a SaaS platform enabling multiple feature teams to build business-specific solutions while maintaining a standard user experience
- Lead and conduct technical evaluations of 3rd party applications / solutions
- Establish DevOps processes and best practices
- Create comprehensive framework for Quality Assurance, Testing, and Automation
- Strive to learn and apply latest technologies and methodologies promoting a culture of continuous learning on the team
Minimum Requirement:
- Bachelor’s degree in Computer Science, Computer Engineering, or a related field
- A Master’s degree is a plus.
- 8+ years experience in full-stack software engineering, including 3+ years in leadership roles
Desired candidate profile
1. Team Leadership and Management
- Managing Engineering Teams: Lead and mentor a team of software engineers, ensuring that team members have the support, resources, and guidance needed to perform at their best.
- Recruitment: Play an active role in hiring new talent, conducting interviews, and evaluating candidates for technical roles.
- Performance Management: Conduct regular performance reviews, provide feedback, and help engineers set career development goals.
- Resource Allocation: Ensure that the team has the right balance of skills and resources to complete their work efficiently, and handle staffing assignments based on project needs.
- Conflict Resolution: Address conflicts within the team and facilitate a collaborative, positive working environment.
2. Project and Product Management
- Project Planning and Delivery: Oversee the planning, scheduling, and execution of software development projects, ensuring they are completed on time and meet quality standards.
- Roadmap and Prioritization: Work with product managers to define project roadmaps, prioritize tasks, and align engineering efforts with business goals.
- Resource Management: Ensure the engineering team is appropriately resourced and that deadlines are met without compromising the quality of the code.
3. Technical Leadership
- Guiding Technical Decisions: Provide guidance and input on technical architecture, software design, and overall technical direction. Help the team solve complex technical problems.
- Code Reviews and Quality Assurance: Implement and enforce coding standards, review code, and ensure that software is built with maintainability, scalability, and security in mind.
- Technical Debt Management: Help balance the need for new features with the importance of maintaining and refactoring existing code to avoid accumulating technical debt.
4. Cross-Department Collaboration
- Collaboration with Other Teams: Work closely with product managers, designers, QA engineers, and other stakeholders to deliver software that meets business requirements.
- Communication: Communicate technical concepts to non-technical stakeholders and ensure alignment on project objectives.
- Stakeholder Management: Manage expectations and keep stakeholders informed of progress, risks, and issues related to software development.
5. Process Improvement and Best Practices
- Agile and Development Methodologies: Foster an environment of continuous improvement, and implement or improve agile practices such as Scrum, Kanban, or other methodologies.
- Automation and CI/CD: Advocate for automation in testing, build processes, and deployment to increase team efficiency and improve code quality.
- Incident Management: Oversee the handling of production issues, ensuring that critical bugs or incidents are resolved quickly and thoroughly.