As a member of the Octasic engineering team, the Director of Software Engineering participates in the planning, architecture and development of the engineering strategic plan and leads the development of the SW engineering portion of Octasic products. This is a hands-on management role where the candidate must get involved in all technical and human aspects of the software department.
The Director works closely with the rest of the engineering team and Product Management to coordinate SW engineering development resources and efforts to meet Octasic objectives and business goals. The Director ensures that key stakeholders have visibility into the SW deliverables plan. The Director of Software Development supervises and manages the following teams: Embedded Software, Development Tools, Application Framework, Wireless PHY and VoIP Media Gateway.
Team development and coaching is a very important part of this role. With a large number of different teams and projects to manage, training and supporting the various team leads is the key to success. Developing and coordinating a uniform development plan, managing dependencies and delivering cohesive product components to market are the primary objectives. The ideal candidate is skilled and interested in the human resource aspects of management.
- Lead the execution of the software product roadmap
- Approve technical direction and architectures
- Organize and manage software engineering resources to execute software product development projects
- Balance priorities across teams and make course corrections to balance between strategic and tactical business priorities.
- Constantly review and improve the software development processes
- Ensure that software products meet all product and/or customer regulatory requirements including correct documentation
- Ensure that engineering software deliverables (code, documentation, tools) are technically sound and meet high quality standards
- Evaluate and implement improved engineering performance, management, and tracking methods to monitor and control costs that will allow the company to complete projects on time and within the budget
- Develop the engineering technical personnel within the software team to achieve strategic objectives
- Hire, train and direct software technical staff (team leaders, managers) to acquire necessary resources and plan to meet scheduled commitments
- Achieve a high level of product quality, reliability, and a robustness, in a timely fashion
- Motivate and mobilize the software engineering team to deliver new products to the market quickly with constant incremental improvements
- Manage performance review of software engineering staff and perform performance evaluation for direct reports
- Incrementally adapt the software engineering organization according to the evolving needs of Octasic (team growth, new applications, new technologies, business opportunities).
- Software Engineering, Electrical Engineering or Computer Science degree.
- MBA or Masters in EE or CS an asset
- At least 15 years work experience in software engineering; minimum of 10 years managing a team of 20+ engineers
- At least 10 years work experience in embedded software, on both GPPs and DSPs
- Good programming skills in C/C++ and assembly
- Experience with continuous integration, automated testing, Linux systems, ARM architecture
- Experience with Agile and Atlassian tools
- Experience with wireless 3GPP systems at the PHY and MAC level an asset
- Strong leadership abilities in coaching and mentoring team members.
- Experience in an ISO9000 certified environment.
- Proven track record for growth and change management
- Strong written and verbal communication skills in English and French.
- Excellent problem solving skills and autonomous.