Head of Software Development in Cambridge at Sepura

Date Posted: 10/23/2019

Job Snapshot

Job Description

As Sepura's Head of Software Development, you will be leading and growing a talented team of Software Engineers working on evolving and building the next generation of radio platforms and applications, whilst continuing to deliver our current class leading products

As the Head of Software Development you will report into the Director of Engineering taking ownership for the embedded and application software teams, their deliverables, processes and people

You will be responsible for:

  • Managing and coordinating a talented pool of software engineers to deliver innovative solutions, define, and execute on software development programmes
  • Guiding and supporting the team in the continuous improvement of our Agile development practices with the goal of continuously delivering and improving to realise the maximum potential of the team
  • Developing and delivering a strategic technological vision for software development
  • Working effectively with Product Managers and Product Owners to ensure delivery against agreed priorities, meeting current and future user needs
  • Implement mechanisms to monitor, manage and provide progress on all software development activities
  • Accountable for the one time and to quality delivery of software development projects
  • Departmental and project budget forecasting, estimation, and control
  • Create, implement and maintain a continuous improvement plan for software development
  • Ensure that the skills and experience of Software team is consistent with the technological and business needs of Sepura for providing quality in present and future products
  • Establish clear organisational structures and succession plans aligned with appropriate responsibilities, accountabilities and personal development for all Software Development staff in line with any anticipated growth
  • Working closely with the Product Managers with the aim of meeting current and future user needs

A proven track record and role model behaviours will assist you in communicating the business vision and motivating teams to deliver high quality software solutions

Working in the rewarding field of mission critical communications, your software deliverables will be used worldwide to ensure secure, reliable and instant communication where it is needed most

Sepura is part of a global organisation and hence occasional travel may be required. Additional duties may arise on a seasonal or ad hoc basis, or as the business requires

Job Requirements

Experience

The role suits someone with extensive and demonstrable software team management experience and capabilities

Essential:

1) Software Architecture & Development

The candidate will come from a software development background with extensive experience of developing embedded software or software architectures

2) Broad Functional Teams

Experience shall include the supervision of a number of functional teams operating in different software domains with different toolsets and capabilities

3) People Management

A well-practiced people manager with extensive experience of setting goals, managing performance, and motivating teams and individuals to deliver

4) Team Building

Proven track record of building and shaping teams from scratch, bringing new capabilities into an organisation

Desirable:

1) Agile Software Development Processes

Experience of working with best practice Agile development processes

2) Commercial Awareness

Experience of working in a commercially aware environment understanding and applying financial acumen and business cases to drive priorities

Reasonable understanding of P&Ls

3) Decision Making

Able to demonstrate examples of taking responsibility for making pragmatic business decisions

4) Cultural awareness

Experience of multi-site/multi-cultural operation

Skills

Essential:

1) Team Leadership & Management

Exceptional team leadership and interpersonal skills are essential including recruitment, mentoring & coaching, performance management, motivation, technical arbitration, workforce and resource planning

The candidate should be able to demonstrate a track record in setting and managing priorities, articulating and gaining engagement for ideas to both technical and non-technical audiences and the ability to motivate in a team-oriented, collaborative environment

2) Process & tools

A thorough understanding of software development processes and tools including elements such as:

  • Version/Configuration Management (e.g. Perforce/Git)
  • Defect tracking tools (Jira or similar)
  • Continuous Integration/Build Automation tools (e.g. Teamcity/Jenkins)
  • Static Code Analysis (Coverity/Klocwork or similar)
  • Test Automation Tools (e.g. Cucumber, Selenium, TestComplete)

3) Technical knowledge

The successful candidate will have a level of technical knowledge to be able to create, drive, innovate and assess technical solutions across a wide range of software technologies, processes and platforms such as:

Languages and frameworks:

  • C#
  • .Net
  • Database design and SQL
  • NUnit, T-SQL with SQL Server
  • Winforms, WPF
  • C/C++
  • Java/JavaScript
  • Object oriented design patterns and programming

Platforms:

  • Android Mobile Platforms/Architecture/Performance/Security
  • Real time embedded platforms
  • Enterprise application software

Embedded Linux:

  • Real-time, multi-processor, multi-threaded, event-driven software

Windows/Linux

4) Innovation & Change Management

A proven track record of innovation in process and technical solutions. Finding creative technical solutions to fast track development, minimising time to market while maintaining and improving quality

Flair for innovative design and a process oriented approach to change management

5) Communication

Proven ability to communicate in a variety of formats at all levels with an appreciation of target audience

6) Strategy & Planning

Able to create software and team development strategies and deliver them through clear plans and efficient execution

Desirable:

1) Software Architecture

A good understanding of software systems and architectures ideally with experience of architecting solutions. In-house development, or third party source decision making

2) Project Management

Theoretical and practical knowledge of project management principles, techniques and tools, and practical experience in the successful management of multiple inter-related projects

3) Estimation

Experience of software feature estimation (considering resourcing, task dependencies, tool requirements, and risks

Qualifications

Essential:

  • Most applicants for this role would have started their careers with a Bachelor university degree in software engineering, computer science, or another field of engineering/science

Desirable:

  • A Bachelor university degree, ideally in software engineering or computer science, although other formal academic qualifications would be considered based on experience

Personal attributes

1) Drive

A drive to succeed personally, and to motivate others to succeed

2) Innovation

Inquisitive nature prepared to challenge conventional wisdom in a constructive manner

Displays a real passion for progress, being innovative and flexible in approaches

3) Quality

Customer focused and motivated to deliver right first time. Producing high quality work within planned timescales and resource

4) Continuous improvement

Analytical skills to continuously improve (both own, product and team performance)

5) Teamwork

A real team player who realizes that we're at our best when we share information and collaborate

Great at building strong relationships based on trust

Not Ready to Apply?

If you’re interested in career opportunities, but not ready to apply, join our Talent Network to stay connected to us and receive updates on the latest job opportunities and company news.