Software Engineer

Job Description

Exsel Electronics are currently seeking to fill a number of Software Engineering roles.  Please see General Job Description below and apply for the role which best suits your skills as detailed on the Specific Skills Lists.

 

General Purpose of the Role

The purpose of this role is to be a key part of a systems, software engineering and electronics team working on project delivery, service provision and product development. The role encompasses bidding for, designing, implementing, testing, obtaining customer acceptance and after-sales support of systems for the International Defence and Industrial market sectors. The work is within the context of a multi-disciplinary engineering team delivering complete solutions to the customer.

 

General Key Tasks

  • Pre-Sales – You will assist with Business Development and Tendering to evaluate opportunities for product and project sales and to provide technical material in order to win sales.
  • Engineering – You will work with other engineers to deliver projects, services and products to contracted cost, schedule and quality requirements. This role is as part of an engineering team which is responsible for the quality of the technical solutions delivered and is accountable for delivering work packages, such as detailed designs, implementations and test specifications, to agreed schedule and quality targets.
  • After Sales – You will work with the Project Manager to provide after-sales service to customers and clients. This role will engage with customers to diagnose technical issues with delivered solutions, and will propose technical solutions to those identified issues.
  • Demonstrations – You will work with the Exsel Electronics team to prepare and deliver demonstrations of the company’s products and capabilities.

 

General Competencies

  • A broad understanding of engineering in general.
  • Effective communication and inter-personal skills.
  • A good understanding of Software Development methodologies.
  • Familiarity with the Product Development Lifecycle.

 

General Qualifications

  • A degree or equivalent in a relevant Engineering, Electronics, Software or Computer Science subject.
  • Membership of a Professional Body, such as the BCS or IET.

 

General Experience

  • Commercial programming, or programming with a very strong academic bias towards the ‘Must Have’ skills identified in the Specific Skills List.
  • Integration of software into systems using medium scale software or electronic subsystems.
  • Conceptualisation of innovative ideas and the ability to engineer these into final solutions.
  • Working both interactively or independently to achieve team objectives.

     

    General Other

  • Must meet UK MoD security vetting criteria.
  • Ability to work in the UK with no restrictions.
  • The job holder will preferably have a current European driving licence.
  • Ability to be flexible and work outside core hours on occasion.
  • Occasional travel to other Exsel Group and customer sites.
  • Participate in the personal performance review process, identifying development areas and strengths as part of continuous professional development.
  • Participate in continuous improvement activities within the company.

Specific Skills List - Software Engineer (Java and C#)

 

Must have skills and abilities

  • Two Object-Oriented languages Java and C#.
  • Object-Oriented architecture design, software implementation, software build, software test & system integration.
  • PKI Cryptography.
  • Experience with the Eclipse IDE. Mars 2 or later.
  • Experience with MS Visual Studio 2017.
  • Desktop and Server application development knowledge.
  • Good Software Configuration Management and Issue Management experience.
  • Commercial programming experience, or academic programming experience

    Desirable skills and abilities

  • UML (ideally SysML with Enterprise Architect).
  • Java Cryptography Architecture.
  • Operating-system-level server virtualization e.g. Docker.
  • Enterprise attribute based access control e.g Axiomatics.
  • Identity Management e.g. NetIQ.
  • RESTful Web services.
  • Big Data and Cloud.
  • Skills in additional languages e.g. C, C++ Python, or Perl.
  • Development of embedded C and C++ for embedded Linux using gcc.
  • Cryptography: Windows bCrypt/nCrypt libraries or OpenSSL under Linux.
  • Experience of implementing software for TCP/IP socket communications.
  • ASN.1 (and XML).
  • SQL/Database experience
  • HTTP.
  • Familiarity with the Android OS.
  • C# Microsoft technologies - three tier architectures.

     

    Specific Skills List - Software Engineer (Linux DDS)

     

     

    Must have skills and abilities

  • Extensive skill in at least one of two Object-Oriented languages Java and C++.
  • Linux OS for desktop and server application development experience.
  • Scripting *sh, used as part of the solution.
  • DDS, preferably with RTI Connext.
  • UML Modelling, ideally SysML with Enterprise Architect.
  • Skills in Object-Oriented architecture design, software implementation, build, test and system integration.
  • Experience with recent versions of the Eclipse IDE.
  • Good Software Configuration Management and Issue Management experience.
  • Commercial programming experience, or academic programming experience.

    Desirable skills and abilities

  • PKI Cryptography.
  • Java Cryptography Architecture.
  • Operating-system-level server virtualization e.g. Docker.
  • Enterprise attribute based access control e.g. Axiomatics.
  • Identity Management e.g. NetIQ.
  • RESTful Web services.

    Specific Skills List - Software Engineer (C and C++ Linux)

     

     

    Must have skills and abilities

  • Big Data and Cloud.
  • Experience with recent versions of MS Visual Studio.
  • Skills in additional languages e.g. C, C#, Python, or Perl.

    Desirable skills and abilities

  • Development of embedded C and C++ for embedded Linux using gcc.
  • Cryptography: Windows bCrypt/nCrypt libraries or OpenSSL under Linux.
  • Experience of implementing software for TCP/IP socket communications.
  • Wireshark.
  • ASN.1 (and XML).
  • SQL/Database experience
  • HTTP.
  • Familiarity with the Android OS
  • Design and develop OO solutions for implementation in C++ on embedded Linux.
  • Design and develop non-OO solutions for implementation in C on embedded Linux.
  • Understand Unix/Linux IPC concepts and use under Ubuntu from versions 14.04 to latest.
  • Able to configure and manage a Debian based embedded Linux Operating System.
  • Be fluent in C/C++ with gcc/g++ and have familiarity with cross-compilation and Make.
  • Have experience of implementing software for TCP/IP socket communications.
  • Good Software Configuration Management and Issue Management experience.
  • Commercial programming experience, or academic programming.

    Desirable skills and abilities

  • UML (ideally SysML with Enterprise Architect).
  • Cryptography: Key management & Windows bCrypt/nCrypt libraries or OpenSSL under Linux.
  • Wireshark.
  • XML and ASN.1.
  • CANbus knowledge and experience.
  • VHDL (VHSIC Hardware Description Language).
  • DDS for real-time systems (ideally RTI).
  • Software test and Coding Standard compliance experience.
  • SQL/Database experience.
  • MS Visual Studio 2010 or above.
  • Skills in other OO languages e.g. C#.Net or Java.
  • Windows desktop or Windows Server application development knowledge.
  • Python or Perl.
  • Web application development experience.
  • Experience with Video and VOIP over Ethernet.