Location: Salt Lake City, Utah, US
Job Category: Staff, full-time (in office)
Position Type: Full-Time/Regular
Job Description
Software Engineering Manager, UI
The Software Engineering Manager, UI will be responsible for managing a software engineering delivery team responsible for delivering the Student Experience across multiple surfaces. This includes designing and implementing solutions that have scale, speed and are extensible in delivering system features and functions. This role requires the ability to balance between people management, leadership, and technical responsibilities. This position will collaborate with the engineering leaders, as well as cross-functionally with quality, project managers, and operational teams. This role will be responsible for monitoring and managing team performance, velocity and individual team member development. This position is an excellent opportunity to help drive our software development teams and the User Interface Engineering practice, while mentoring individual’s development and growth.
Your Role:
- Significant prior success as a Software Engineer working on challenging problems of scale
- Lead a team of UI engineers, developing our common UI framework, core application UI, and providing best practices and support for other application development teams
- You have strong understanding and experience with service-oriented and event-driven system architectures
- Develop team members training plans, ensuring that they align with the company’s objectives and the individuals career goals
- Help to promote communication, collaboration and engagement across teams
- Lead the team in performing high level design, detailed design, coding, and testing. This also involves working closely with Product Management, UX Design team, and application architects
- Understand the company’s strategic objectives and alignment with engineering initiatives and programs
- Help to effectively communicate to team members changes to company objectives that may impact initiative delivery timelines, goals and prioritization
- Champion efforts focused on attracting, developing and retaining a high performing software engineering team, offer ongoing feedback, professional growth opportunities and overall career guidance
- Help to drive employee engagement, empowering your teams to not only champion their own efforts, but to encourage others to be truly vested team players
- Employ agile based development methodologies in partnership with stakeholders
- Empower team members to support continuous improvement and simplification of technology and underpinning stacks
- Manage technology initiatives across your teams serving as both technical leader as well as project manager
- Participate in technology roadmap by presenting and driving concepts for the future of the technology department
- Promote and improve the SDLC processes including comprehensive code reviews, automation, etc.
- Ensure that Secure Coding Practices are consistently followed in the development of all software products.
- Embolden team members by playing to their strengths while developing/improving areas of weakness
- Contribute to the department’s identity, standards, guidelines and best practices
- Participate with internal initiative planning and team alignment
- Review project updates for the department goals that team members are engaged in and work with appropriate members of their teams and the Director of Software Engineering to address issues and concerns as appropriate
- Maintain deep technical and business knowledge of industry directions and trends in the area of application architecture and programming languages
- Support team’s ability to deliver technology initiatives on schedule and with the highest quality
- Provide support for operations and support teams, including cause of error analysis and preventative analysis
Required Skills
- Bachelor's Degree in Computer Science or related field required (Master's Degree desirable)
- 5+ years in a leadership role including experience designing and developing rich web UI applications, and underlying UI frameworks, for enterprise or consumer software.
- Minimum of 2+ years of management experience
- Experience with managing and mentoring high-performance agile-based engineering teams
- Expert level knowledge of Javascript, CSS, and REST. Significant experience with modern JavaScript libraries, patterns, and tooling. Libraries such as Ext JS, JQuery, and Angular
- Strong computer science fundamentals, familiarity with enterprise software architectures, and knowledge of RDBMS and SQL fundamentals. Some back-end Java development experience is a plus
- Experience with agile methodology, and continuous integration. Clear understanding of full product life cycle from requirements definition and architecture, to deployment and upgrade
- Excellent verbal and written communication skills
- Strong sense of self-motivation, organization and attention to detail
- Strong analytical skills