Roles and responsibilities
A Full Stack Engineering Manager is a leadership role that involves overseeing and managing a team of engineers responsible for both the front-end and back-end development of software products. This role combines technical expertise in full-stack development with leadership and managerial responsibilities, ensuring that engineering teams can deliver high-quality, scalable, and reliable software solutions. The Full Stack Engineering Manager is expected to have a strong understanding of various technologies, development processes, and team dynamics, while also leading, mentoring, and growing engineering teams.
Key Responsibilities of a Full Stack Engineering Manager
-
Team Leadership & Management:
- Leading Development Teams: Direct and manage a team of software engineers working across the entire tech stack, ensuring that they collaborate effectively and deliver high-quality results.
- Mentoring Engineers: Provide coaching, feedback, and mentorship to individual engineers, helping them grow their technical skills and advance in their careers.
- Team Performance: Set clear expectations, conduct performance reviews, and provide support to ensure that the team is working efficiently, meeting deadlines, and maintaining high productivity.
- Resource Allocation: Assign tasks based on engineers' skills and the project requirements, ensuring that the workload is balanced and that the team has the resources it needs to succeed.
-
Technical Leadership:
- Designing Scalable Solutions: Architect and design software solutions that are scalable, maintainable, and performant. Ensure that the design decisions are consistent across both front-end and back-end systems.
- Code Quality and Best Practices: Establish coding standards and best practices, including code reviews, testing, version control, and CI/CD pipelines, to ensure a high level of code quality.
- Problem Solving: Guide the team in solving complex technical challenges, troubleshoot issues, and provide technical direction on how to resolve critical problems.
-
Project Management & Delivery:
- Project Planning: Collaborate with product managers, designers, and stakeholders to define project requirements, prioritize features, and create timelines. Ensure that the development process is aligned with business goals.
- Agile Development: Lead the team through an agile development process, typically using Scrum or Kanban methodologies, ensuring that sprints are well-organized, deadlines are met, and iterative improvements are made.
- Delivery and Milestones: Oversee the timely delivery of features, bug fixes, and updates, ensuring that project milestones are met and quality is maintained.
-
Collaboration Across Teams:
- Cross-Functional Collaboration: Work closely with product managers, UI/UX designers, and QA teams to ensure that engineering efforts align with the overall product vision, user needs, and quality expectations.
- Stakeholder Communication: Regularly update stakeholders on the progress of development, potential risks, and technical challenges. Translate technical jargon into understandable terms for non-technical stakeholders.
-
Architecture & Technology Decisions:
- Technology Selection: Evaluate and make decisions on which technologies, frameworks, and tools to use for both front-end and back-end development based on the needs of the project and the capabilities of the team.
- Tech Debt Management: Balance the need for new features with the ongoing need to refactor code, address technical debt, and improve system performance.
-
Continuous Improvement & Innovation:
- Innovation: Stay up to date with the latest trends in full-stack development, cloud computing, microservices, containerization, DevOps practices, and other relevant technologies. Encourage innovation within the team by exploring new tools and practices.
- Process Improvement: Continuously assess and improve engineering workflows, identifying bottlenecks or inefficiencies and implementing solutions to improve the development process.
-
Hiring and Team Building:
- Recruitment: Lead the hiring process by identifying top talent, conducting interviews, and evaluating candidates for technical and cultural fit.
- Onboarding: Develop an effective onboarding process to ensure new engineers are well-integrated into the team and ramped up quickly.
Desired candidate profile
As a Front-End Engineering Manager at Agoda, you will have the opportunity to lead a team of skilled engineers and drive the development of robust and scalable front-end solutions. You will collaborate with cross-functional teams, contribute to project requirements, and deliver high-quality user experiences.
In this Role, you’ll get to:
- Mentor and guide engineers in utilizing Typescript, React, and Redux to build innovative front-end solutions
- Collaborate closely with product managers, designers, and cross-functional teams to define project requirements
- Provide technical leadership and foster a culture of continuous learning and growth within the team
- Identify and resolve technical challenges, debug complex issues, and optimize performance
- Stay updated with the latest front-end technologies and industry trends, driving innovation within the team.
What you’ll Need to Succeed:
- Solid experience in front-end development using Typescript, React, and Redux.
- Strong leadership and mentoring skills, with the ability to guide and inspire a team.
- Excellent collaboration and communication skills, working effectively with cross-functional teams.