Job Title:
Director Software Engineering
Job Description:
The Director, Software Engineering is a member of the IT Leadership Team and is a direct report to the Chief Information Officer/Assistant Executive Director. This position has responsibility for the software engineering team. The incumbent has extensive knowledge of software architecture to manage software development tasks associated with developing, debugging or designing software applications, operating systems and data-bases according to current and future design specifications. Ability to build enhancements within an existing software architecture and envisions improvements to the architecture. Has Capability Maturity Model Integration (CMMI) organization experience with the achievement of a CMMI level 3. Understands, supports, and has implemented the quality improvement model.
TIME (%) AND PRINCIPAL DUTIES AND RESPONSIBILITIES:
30% Strategic Leadership
Partners with functional leadership to analyze, consult, drive, develop and oversee the delivery of new business applications and features, technology partnerships and information projects which support key functional objectives and strategies.
Participates in strategic planning processes, defining a technical strategy for the Software Engineering Division.
Establishes and implements applications based on corporate architecture direction and ensures the applications can be easily maintained and supported by the maintenance and support teams.
Ensures that product architecture and technology decisions support corporate strategies and future direction of the products.
Identifies both strategic opportunities and potential threats associated with emerging technologies and executes software development plans that ensure all products remain best of breed.
Drives focus on modularity and scalability in software design. Delivering software solutions with seamless interface between different component parts, appropriate logging and debugging framework, ease of use hooks for testing automation.
Identifies and evaluates software acquisition opportunities and leads buy-vs-build decision –making process.
Interacts with executive management on development issues.
Coordinates with product management, as well as test, documentation, and product maintenance and support management to ensure that the needs of all projects in the product line are met.Assists product management by providing technical insight and judgment of feature/schedule/cost tradeoffs.
30% Quality Leadership
Provides leadership in the area of quality improvement utilizing failure mode and effect analysis, root cause analysis, corrective action plans, and continuous process improvement techniques.
Responsible for implementing efficiencies and best practices for the team and increasing the organization’s CMMI level.
Responsible for setting software engineering quality objectives, monitoring, reporting on metric status, achieving quality objectives, and selecting new targets that increase the quality within the organization.
Continuously appraises the quality processes and practices of the software development organization through objective metrics and charts course for improvement.
15% Talent Management Leadership
Sets direction, develops and monitors individual objectives, and leads the team.
Develops and maintains quality staff by hiring skilled personnel; developing succession plans; providing training opportunities, evaluating and managing. performance, delegating responsibility; and administering corporate policies.
Determine path to reaching necessary competencies for the functions performed in the team and develop associated career plans in conjunction with team members.
Work with Human Resources to develop, and implement a strategy to acquire new resources from the market and for exiting non-performing resources.
Develop a strategy and plan to assimilate new staff with the functions performed in the team. Implement the strategy and take responsibility for developing and maintaining a plan to assimilate new staff with the functions performed in the team.
15% Financial Leadership
Participates in the establishment of business and financial plans and budgets for UNOS IT.
Responsible for budgeting, tracking and monitoring the expenditures within the Software Engineering group proactively addressing any variances.
Proactively communicate to the CIO any financial or budget concerns.
10% Policies, Procedures, Methodologies, and Standards
Ensure that best development processes and technologies are used in the design, construction and implementation of applications and shared services
Responsible for ensuring that the repository for application configuration, code and reusable components stays current.
Provides direction and consultation to technology teams in support of the business applications. This includes leading and coordinating activities throughout development and ensuring the appropriate use of standard models and software packages, standard methods of integration, as well as, the development of common application services.
Education: Bachelors in Computer Science/Engineering or equivalent experience (Masters preferred). Certified Software Development Professional (CSDP) preferred.
Experience: 10+ years experience in the software industry, 5+ years managing technical teams in the software development area. Excellent knowledge of Microsoft products: .Net, C#, SQL, CMMI level 3
Skills:
Must be technically credible to lead teams of world-class software engineers and be able to make the right design decisions and technology choices
Must have excellent project management skills and expertise, and be able to mentor managers and project leads on software development best practices and processes.
Must be a team player and work well with their peers.
Must be able to exercise sound judgment, discretion, and timeliness in decision making.
Must be able to clearly communicate project status, results, unresolved issues and other key concerns in a proactive and timely manner.
Must be able to communicate with major customers and determine their needs working in conjunction with product management.
Must provide excellent leadership and mentoring to the software development organization.
Must have excellent communication skills, both written and oral.
Must demonstrate strong professionalism and react well under pressure and stressful circumstances.
Must adjust leadership skills to meet the diverse needs of individuals and teams.
Must be capable of gaining support for initiatives and projects through influence and use of business rationale.
Must be able to lead by example.