Voice Software Engineer

The Voice Software Engineer is responsible to the Head of Software Engineering for executing allocated Voice Software Work Packages within agreed cost, time and quality constraints.

The Voice Software Engineer is responsible for demonstrating that the developed product meets all specified legislative and customer requirements, by

  • analysing requirements and specifying the software solution and work breakdown
  • preparing software architectural and detailed design UML Models and documentation
  • generating source code to implement all aspects of the software detailed design
  • controlling and reviewing work of the members of their team (where a team exists)
  • integration of software onto the target platform
  • providing software technical support
  • supporting the company software process and procedure updates

Key Responsibilities

  • All software is designed, developed, integrated and tested in accordance with standards; all supporting documents are produced in accordance with standards.
  • Appropriate processes and methodologies are used to design and deliver allocated software development work packages meeting cost, time and quality targets, agreed with their development team leader.
  • Technical design decisions are made within the context of known practices, established precedents and acquired "technical" expertise.
  • The cost/benefits of design possibilities are understood, and that judgement calls can be made based on them.
  • Software development plans can be estimated in detail, and resource requirements can be identified against plans.
  • Success of both internal and external design reviews and project reviews throughout the development life cycle.
  • The support of the design and development of critical components where decisions may have a significant impact on project timescales.
  • Customer liaison, by representing the business on project related technical matters at Stakeholder meetings.
  • Design and Development by taking a technical role as a Prime on a critical component where necessary.
  • Planned versus Actual metrics for cost, time and quality against completed Work Packages.
  • To design and develop the equipment identified in the Software Development Plan in line with project delivery milestones.
  • To support the design and development of critical components where decisions may impact project timescales significantly.
  • To provide technical guidance to fellow team members.

Essential proven ability

  • Must have proven ability of software design & implementation for secure data or voice network communications equipment
  • Must be familiar with process driven software development
  • Must have good understanding of the full project lifecycle.
  • Fully versed in software methodologies for their field able to work on their own, but providing regular reporting.

Essential Skills

  • Implementation of LINUX software in C and including Kernel drivers and Embedded ARM
  • Must be highly self-motivated, articulate, with good verbal and written communications skills
  • Must have a good understanding of requirements capture, and of work package definition and estimation

Desirable Skills

  • Requirements Management
  • Software implementation of data or voice network protocols (TCP/IP, SNMP, VOIP)
  • Ability using one or more of the following tools/development environments: Eclipse, GCC, GIT, SVM project planning tools - highly desirable (e.g. Microsoft Project)