Manager Software Engineering
Endurance is seeking a highly motivated Manager of Software Engineering for our Provo or Salt Lake City office. The Manager of Software Engineering is a senior full stack application developer who plays a key role within each phase of the software development lifecycle while leading other software engineers to successfully do the same. Besides development, this individual will work cross-functionally with the company’s infrastructure, security, operations, and other development teams. This individual will be responsible for applying their technical skills and experiences to improve Endurance design and development methods and mentor engineering teams.
As a Manager of Software Engineering, you will:
BUILD EFFECTIVE ENGINEERS. Lead other engineers in engineering skill and competency. Provide technical and career mentoring for direct reports. Lead other engineers in self-improvement.
LEAD DESIGN ASSURANCE ENGAGEMENT. Serve as the primary design assurance point of contact for assigned engineering projects. Develop project-specific quality plans for new product developments as required. Collaborate with other Subject Matter Experts on your team to ensure appropriate technical engagement with projects.
ASSESS ENGINEERING EFFECTIVENESS. Ensure engineering efforts are performed effectively and efficiently, meeting customer, company, and applicable regulatory requirements and quality expectations. Contribute to design reviews, test readiness reviews, and other project reviews and team meetings.
MENTOR TEAMS. Mentor engineering teams as needed throughout the development lifecycle in the areas of process, tools, design quality, and regulatory requirements to ensure robust and problem-free deliveries.
EVALUATE PROJECTS. Perform proactive, ongoing assessments to determine the health of projects using objective measurements and audits. Employ methods such as root cause analysis as appropriate. Recommend corrective actions.
FACILITATE CONTINUOUS IMPROVEMENT. Lead the efforts of cross-functional teams to ensure that quality issues seen in legacy products are avoided in new designs. Assist with engineering project planning activities, ensuring plans account for lessons learned across the enterprise.
- Lead software engineers in establishing career plans and goals.
- Evaluate employee performance and maximize quality software output.
- Write clean, well-formed, well-tested, and maintainable software following the accepted coding standards and using best software development practices.
- Architect, design, develop, maintain, and enhance extremely high-quality software products.
- Resolve problems of any scope and provide assistance to other team members on a consistent basis
- Identify, troubleshoot, debug, and resolve defects in software and related systems on an expert level.
- Direct the project discovery process to meet desired business outcomes.
- Understand and properly use current major programming paradigms (and associated styles) to meet desired business outcomes.
- Lead the way with impactful feedback to peers during code reviews and improvements to the code review process.
- Identify ways to optimize our software products to provide for the needs of our enterprise scale business.
- Identify feasibility and scope of work assignments on an expert level.
- Mentor other developers and improve the overall software product quality and team through effective mentorship.
- Create enterprise-class architectural proposals and contribute to a peer-review based process to evaluate how well they meet business needs and outcomes.
- Use a deep and comprehensive understanding of the hardware, protocols, and technologies used for internet infrastructure to meet objectives.
- Understand current advancements in web technologies and how they can be used to improve our software product.
- Demonstrate impeccable judgment in selecting methods and techniques for obtaining solutions.
- Collaborate on the introduction of new technologies with the leadership team.
- Address any development business need by creating a solution from concept to architecture to planning to development to deployment.
- Provide for the needs of our enterprise scale business with performant architectural decisions.
- Demonstrate experience in identifying, analyzing, and resolving performance related issues on an expert level.
- Communicate effectively with team members, stakeholders, and demand generators regarding technical details, requirements, goals, roadmaps, risks, and deliverables.
- Improve the process of engineering and deployment with a strong understanding of the software development lifecycle.
- Identify innovative solutions to important business problems.
- Act independently to determine methods and procedures on new or special assignments.
- Help to maintain the accepted coding standards and software development practices.
- Having broad expertise or unique knowledge uses skills to contribute to the development of company objectives and principles and to achieve goals in creative and effective ways.
- BA/BS degree or equivalent practical experience.
- 4 years of experience developing websites and applications.
- Experience with SQL relational databases
- Strong level of comfort with the command line, Git and development tools.
- Minimum 8 years experience
- Experience managing software engineers
- Over 10 years of experience in software and system development.
- Strong attention to detail.
- Strong understanding of several SQL relational database varieties
- Fluency in server-side scripting languages such as Perl, Python, Node or Ruby.
- Excellent communication, project management, and organizational skills.
Sign up to be part of our Talent Community and get the latest news from Endurance, including the hottest job opportunities.