Software Engineer - Redhill, United Kingdom - Hudson Shribman

    Default job background
    Full time Technology / Internet
    Description

    Purpose of the Role

    The purpose of the role is to create, maintain and release high quality software to schedule, in accordance with Company standards.

    Key Responsibilities:

    • The purpose of the role is the design, coding, debugging, testing and maintenance of software for embedded applications encompassing both low-level microprocessor code as well as higher level software designs running within an embedded operating system environment
    • This will be undertaken alongside other technical activities while working with hardware and software engineers to deliver specific project goals derived from future product requirements
    • Responsibilities will include the development and implementation of application logic, peripheral drivers, protocols, human-machine interfaces and documentation of the same
    • A key element of the role will be the delivery of software within agreed timescales and to budget
    • The right candidate will be capable of designing and delivering robust code. Demonstration of competence in using C is essential as is embedded programming experience of both low level and high-level code

    Outline of Competencies

    • Experience of developing software through entire lifecycle.
    • Ability to work independently without need for close supervision.
    • Ability to analyse process or tools to propose improvements where applicable. Qualifications and Experience required:
    • Team working ability and drive to deliver on time
    • C experience in an embedded environment
    • Experience of embedded processors and real-time operating systems
    • Experience of interfacing with hardware devices and peripherals
    • Solid understanding of software development life-cycles and processes
    • Experience of requirement analysis, software design and software architecture
    • Experience with source control tools such as SubVersion and Git
    • Behavioural: self-starting, adaptable, problem solving

    Desirable:

    • C++ experience in an embedded environment
    • Object Oriented Design and Programming experience
    • Familiarity with desktop application, GUI/event-based design
    • Knowledge of issue-tracking tools, such as Jira.
    • Knowledge of releasing software to Production