DMI, LLCis seeking an Engineering Manager to join our Managed Services team. As an Engineering Manager at DMI, you will lead and mentor a team of talented developers, ensuring the successful delivery of high-quality software solutions. You will be responsible for aligning the team's efforts with the company's strategic objectives, managing project progress, and building a collaborative environment that promotes innovation and continuous improvement. Your role will involve close interaction with executive leaders, the product team, and third-party suppliers to ensure project execution and alignment with business goals. Additionally, you will oversee the technical aspects of the development process, including code quality, technical debt management, and infrastructure stability, while supporting your team in overcoming challenges and advancing their professional growth.
Duties and Responsibilities:
Interactions with Executive Leaders:
- Reporting: Provide regular updates on project progress, key milestones, and any roadblocks. Prepare concise status reports and presentations.
- Strategic Alignment: Ensure that the team's goals align with the company's strategic objectives. Communicate any changes in priorities or direction from the executive leaders to the team.
- Stakeholder Meetings: Attend regular meetings with executive leaders to discuss project status, future planning, and resource needs.
Interactions with the Product Team:
- Requirement Gathering: Collaborate with the product team to understand the requirements and translate them into technical tasks for the development team.
- Backlog Management: Work with the product owner to prioritize the product backlog, ensuring that the most valuable features are developed first.
- Sprint Planning: Participate in sprint planning meetings to discuss the scope of upcoming sprints and ensure the team has a clear understanding of the tasks.
- Feedback Loop: Establish a continuous feedback loop with the product team to ensure that the developed features meet the required standards and user expectations.
Managing the Sprint Process:
- Daily Stand-ups: Facilitate daily stand-up meetings to review progress, identify any blockers, and coordinate team efforts.
- Sprint Retrospectives: Lead sprint retrospectives to discuss what went well, what didn't, and how the team can improve in the next sprint.
- Task Tracking: Use Jira to track the progress of tasks and ensure the team is on schedule.
Supporting Developers:
- Mentorship and Coaching: Provide guidance and mentorship to developers, helping them grow their skills and advance in their careers.
- Resource Allocation: Ensure that developers have the necessary resources, tools, and training to perform their tasks effectively.
- Problem-Solving: Be available to help developers resolve technical issues and remove any obstacles that may impede their progress.
- Cross-Team Support: Work closely with other engineering teams to identify roadblocks, share best practices, and cultivate a culture of engineering excellence.
Managing Third-Party Suppliers for Contracted Developers:
- Onboarding: Ensure that contracted developers are properly onboarded and integrated into the team.
- Communication: Maintain clear and consistent communication with third-party suppliers to coordinate efforts and align on project goals.
- Quality Assurance: Monitor the performance and quality of work delivered by contracted developers, providing feedback, and addressing any issues.
Technical Leadership:
- Code Reviews: Ensure regular code reviews are conducted to maintain code quality and share knowledge within the team.
- Technical Debt Management: Monitor and address technical debt to maintain long-term codebase health.
- Architecture and Design: Provide guidance on system architecture and design decisions, ensuring scalability, security, and maintainability.
DevOps and Infrastructure:
- CI/CD Pipelines: Oversee the setup and maintenance of Continuous Integration/Continuous Deployment pipelines to automate testing and deployment.
- Infrastructure Management: Ensure that the development and production environments are stable, scalable, and effective.
- Environment Consistency: Ensure development, staging, and production environments are consistent to avoid deployment issues.