Manages and oversees the design and development of software applications. Directs the work of engineers to ensure the best practices around software and product development. Requires a bachelor's degree. Reports to engineering Director. Manages staff in the day-to-day performance of their jobs. Ensures that project/department milestones/goals are met and adhering to approved budgets. Has full authority for personnel actions. Extensive knowledge of department processes.
Direct supervision of software, firmware and hardware engineers' career development, appraisal, salary and promotion planning. Provide regular feedback and annual reviews.
Develop budgets, manpower planning, and performance standards.
Coordination of software development activities for all programs, assigning software engineers to projects and management of software department manpower requirements.
Work with program managers to quickly and accurately analyze project requests for feasibility, risk, and level of effort.
Manage onshore, offshore and contract development resources
Maintain an efficient and effective engineering team by empowering and managing staff members and consultants to meet schedules and/or resolve technical or operational problems.
Ensure that architecture, planning, design, coding, documentation, integration, and testing adhere to software quality standards.
Frequent contact with program managers concerning projects, operational decisions, scheduling requirements.
Encourage the team to design systems that are efficient, scalable, maintainable, and meet the needs of the business.
Lead and participate in system architecture discussions, code reviews and provide feedback on performance, logic, and maintenance issues.
Understand business and customer requirements to ensure that development goals appropriately align with requirements and have the necessary understanding to escalate issues for out of cycle product releases when
Lead agile project management functions and facilitate communication with key stake holders for development planning, training, product launch and sustaining activities.
BS in Computer Science, or Electrical Engineering or equivalent degree required;
Leader with excellent interpersonal skills required
Minimum of 8 years of experience, at least 3 in managing software teams required.
Experience in software development, verification, and standards required
Complete understanding of design patterns and system architecture
Demonstrated competence in one or more programming languages (i.e: C#, C , Java, etc)
Strong project management experience with ability to prioritize and manage time and projects effectively required.
Experience managing multiple tasks and working with multiple projects required.
Thorough understanding of Agile development methodology
Self-motivated with strong work ethic.
Excellent verbal and written communication skills
Ability to interface with customers to develop and review requirements and plans.
Experience in managing offshore development preferred
Ability to travel up to 15% of the time