Contract Senior Software Engineer
Senior Software Engineer Job Description
Overall Purpose of the Job:
This role is to produce the design and implementation of software systems and requires an experienced embedded software developer to participate in a small team in order to achieve their goal to deliver the project on-time and within budget. Reporting to the Software Team Leader the role will cover the management of the full software life cycle, from influencing initial design and development, through to supporting the installation and deployment.
- To comply with Expro’s Health, Safety and Quality policies and procedures.
- To develop ideas, design, and code for software components used in the WWS range of products
- To produce accurate and effective design documentation to support the implementation and test of system components.
- To produce efficient and accurate software components utilizing coding standards and best practises, to high levels of quality and maintainability in accordance with development methodology and release processes.
- To contribute to, and provide support to test activities in order to ensure that the product is fit for purpose with minimum defects.
- To provide technical support to Operations and Production Departments as required
- As and when appropriate, identify and specify third party software, e.g. development, configuration, monitoring, and test tools.
- Assist in the development and continuous improvement of departmental and company processes and procedures.
- To carry out any other tasks as may be reasonably requested by Line Managers
Job Knowledge and Qualifications:
- At least seven years practical experience of software development, including most of the following:
- •Strong embedded C/C++ programming skills.
- •Expertise with Cortex M3 and Microchip PIC based microcontrollers.
- •RTOS for Cortex M3.
- •Data encoding, communication and modulation techniques
- •Protocol design and implementation over one or more of the following; UART/RS485, USB, CAN, Ethernet/TCP/IP.
- •Modern software development methodologies & tools e.g. C++ patterns & meta-programming, UML, static & unit test tools, scripting languages.
- Familiarity with software management tools and ability to work to software development procedures and standards
- Understanding of processor selection and hardware design
- A degree (or equivalent) in Engineering or related subject