POSITION PURPOSE

  • Design, test and implement software systems from concept through to production.
  • Provide support on software systems as applicable.
  • The Job Holder will advise the project leader on the project approach and technology to be used.
  • If acting as the project leader, the Job Holder will also make decisions on risk management, resource levels and legislative issues.
  • The Job Holder must be aware of new technology coming to the market and ensure best practices are used in designs.
  • The Job Holder will make recommendations on approaches to solve problems which will involve other departments.

QUALIFICATIONS and EXPERIENCE

  • [URL Removed] equivalent in Computer Science, Software Engineering, Electronics, or related discipline
  • Complete life cycle experience from initial specification through unit design, test, integration, system test, commission, regulatory approval and production in an Agile environment
  • Embedded software – design development and testing
  • Real-time software development interfacing into hardware
  • Experience of USB, Ethernet, serial interfacing
  • Experience of motion control systems and motor driving
  • Experience in project team environment of peer review, mentoring, progress reporting and setting & meeting targets (weekly, monthly)

Skills / Knowledge (Relevant to the role):

  • Specialist knowledge of multi-threaded real-time embedded software development
  • Specialist knowledge of the LabView programming environment, including PC, PXI, and cRIO platforms.
  • Specialist knowledge of LabView programming architectures and their respective fields of application.
  • Technically self-sufficient in Windows application development (in C++ and C#) with Visual Studio
  • Key SW development skills
  • Desirable – Familiarity in network communication protocols, IEEE802 family, TCP/IP
  • Desirable – PC architectures, Window and Linux operating systems
  • Develop code using best practice object-oriented software design techniques throughout the software lifecycle e.g. DRY, SOLID, YAGNI, etc.
  • Familiar with the use of source control systems (Git/Subversion) and automated software building (Azure DevOps)

POSITION OUTPUTS
Project Work:

  • In conjunction with the customer, produces the overall software requirements. Using appropriate analysis and/or modelling techniques, generates an initial structural design, and agrees it with the customer.
  • (The Job Holder may be the project leader, sub project leader or a senior member of the project team).
  • Working from the initial design, and as directed by the Project Leader where appropriate, the Job Holder defines detailed designs for the individual software elements, and/or supervises and directs Software Engineers in doing so.
  • The detailed design will be discussed and agreed with the customer and other members of the project team and will consider product quality and maintainability.
  • From the detailed design the Job Holder generates the appropriate code and carries out initial testing and debugging or supervises Software Engineers in coding and debugging.
  • Oversees testing of the system by an appropriate tester, from a systems & software view.
  • Monitors the project progress, with regard to the software.
  • Advises the project leader on risk strategy as the project progresses.
  • Conducts design reviews on projects and ensures company design principles are met and quality is maintained.
  • Develops customer contact.
  • Organises and gives training to the customer, and Service Engineers on the project.
  • Visits end user sites for installation and support of software.
  • Supports other designers in area of expertise and in promoting standardisation of software and design techniques.
  • Keeps up to date with advancing techniques/technology in the software field.

Department Responsibilities:

  • Present ideas, projects etc., to others. This may be the customer, senior management, or peers.
  • Advises on/and undertakes training programme required to enhance department staff or other departments staff where appropriate.

Project Leader

  • Directs the work on a project in defining the systems engineering approach by analysing the risk and co-ordinating the research/ development for the project.
  • From the concept of a project, generates requirements and specification documents for the instrument/machine.
  • Discusses with the customer and Project Manager to gain acceptance of the approach and breaks the project into its systems components for the team.
  • Identifies risks in the project and the strategy to eliminate and overcome these risks.
  • Conducts and documents critical design reviews.
  • Organises project and customer meetings, compiles and distributes minutes of the meetings.
  • Plans the project and generates/keep up-to-date timelines to show the milestones, target dates for the project, and project progress.
  • Contributes to the project backlog.
  • Takes responsibility for estimating the resources required for a project, and the budgeting and managing of the expenditure.
  • Authorises expenditure on the project and arranges second signature in own absence.

Desired Skills:

  • USB
  • Ethernet
  • serial interfacing
  • motion control systems and motor driving
  • PXI
  • PC
  • cRIO
  • IEEE802 family
  • TCP/IP

Desired Work Experience:

  • 5 to 10 years

Desired Qualification Level:

  • Degree

Learn more/Apply for this position