Manager, Software Engineering - Core
The Manager is responsible for delivering results for the Product Development department by:
- Acquiring and allocating resources
- Managing personnel development
- Managing advancement and deployment of specific disciplines and technologies
- Actively participating in the engineering process
The Manager performs the following functions, in addition to others, in the administration of their position:
- Allocates resources based on requests from Scrum teams
- Validates resource utilization to assure efficient deployment of team members
- Leads a team of software engineers and/or architects to be effective in the design and development of software applications and systems per business demands and requirements
- Manages a team of individual contributors to complete necessary work as requested by Scrum teams. Assigns duties and is accountable for achievement of departmental objectives by all subordinates. Selects employees and evaluates performance. Provides ongoing employee development to ensure efficient operation of the function. Guides development staff in promoting high performance culture and cost effectiveness across the entire team. Specific activities associated with this area of responsibility are:
- Conducts one-on-one meetings weekly to understand how their direct report is doing, any problems they are encountering, any roadblocks or issues they need help with, how they are doing on their Scrum team, etc. In other words, engage the employee and see what advice, counsel help, feedback, or encouragement they need
- Meets regularly with members of the Scrum teams to get feedback on the performance of their direct report and any areas for improvement
- Regularly sits in on Scrum meetings to directly observe their direct reports in their working environment and provide feedback on their observations
- Promotes sharing of domain expertise and knowledge across the team
- Provides technical leadership and expertise about the feature set or domain supported by their team
- Provides counsel to their direct reports regarding career development
- Represents their direct reports in discussions about prospective moves, future assignments, career opportunities, etc.
- Shares information about the company, the industry, the department, major initiatives, etc., and addresses related questions
- Supports their manager by leading special projects and/or providing input regarding possible process improvements, organization changes, resource needs, etc.
- Serves as technology advisor to the business on all aspects of software technology trends and novel solutions specific to their respective domain or feature set. Stay on the top of the latest technological progress and use this knowledge to ensure company products and software solutions remain marketable and competitive.
- Maintains hands-on technical expertise by making technical contributions to the software design, development and integration of applications and systems through the Scrum team construct
- Uses independent judgment to develop strategic vision within their specific feature set or domain
- Implements operational policies and directives
- Excellent Knowledge of the new technology trends and its applications for the new products in the market place.
- Excellent Knowledge of Software Engineering Discipline, including hands-on knowledge of Latest Programming Languages, Object-Oriented Programming, High-Performance, Fault-tolerant Distributed Systems, Data Structures and Algorithms, Operating Systems, Distributed DBMS and DB modeling and access languages.
- Strong Problem Solving skills, independent thinking
- Strong Decision Making Skills
- Strong People Management skills
- Strong teamwork and partnering skills for cross-group collaboration
- Strong Leadership skills, ability to perform under the pressure and optimize the team's resources to attain the business goals
- Ability to motivate people, instill accountability and achieve results
- Ability to work comfortably in ambiguous situations
- Full knowledge of and adherence to SDLC ( Software Development Life Cycle) standards and best practices
- In depth knowledge of Agile Project Development Methodologies
- Strong verbal, presentation, and written communications skills for technical and non-technical audiences
- Proficiency and Hands-on experience with the latest software engineering technologies related to their feature set or domain
- Bachelor’s Degree or equivalent in Computer Science or related disciplines
- 8+ years of software development of commercial-grade systems and applications with a proven track record of building and leading successful engineering teams