The Software Engineer will join a growing team of talented, passionate professionals at a cutting-edge technology Company. Working as part of a small team, the Software Engineer is responsible for delivering rock-solid software, incredible user experiences and innovative data-analysis and calibration software tools.
The role will report to the Head of Software Development. Your key contacts within the Company will be the Chief Engineer, Chief Scientist, General Manager, Customer Service Manager and the Production Engineering team.
- Develop New Software Packages and Supporting Documentation:
- Develop requirements, design and implement new software packages. Produce design documentation, manuals and processes to support as appropriate;
- Follow industry best practice for all software development and follow the Company’s software development process;
- Provide timely feedback in the event that suggested implementation timescales cannot be met;
- Use issue tracking, version management and continuous integration systems;
- Participate in peer reviewing of other software engineers code.
- Existing Software Packages:
As above and additionally –
- Investigate software and system issues as reported by other areas of the business, customers, resellers etc.;
- Identify bugs, record on feature tracking software and propose fixes;
- Record feature requests from other areas of the business and when appropriate, identify and implement changes.
- Customer Support:
- Assist customers and resellers in using the Company’s software;
- Provide diagnostic support for systems and software in field via remote support and where necessary, in-field visits.
- Train, Coach and Develop Other Business Areas:
- Provide training in software art to other areas of the business;
- Provide training in the Company’s software packages to other areas of the business.
- Improve Software Processes:
- Contribute to the Company’s software process description to further refine and optimise.
- Widen Technical Competence and Domain Knowledge:
- Strive to contribute to all Company software packages;
- Consult with other areas of the business to widen understanding so that software packages written for the Company and its customers are as useful as possible.
The post-holder will be required to undertake such duties as may reasonably be expected. Duties of the post could vary from time to time as a result of new legislation, changes in technology or policy. In this event, appropriate training will be provided.
The Company designs and manufactures industry-leading environmental measurement systems and provides supporting services for energy projects and applications.
The following skills, knowledge and experience are essential for the role:
- Relevant technical qualification in Engineering, Electronics or IT Business to minimum of ONC/HNC or equivalent qualification, degree preferred;
- Development in the C++ language;
- Development in the python language (include web frameworks such as Flask or Django);
- GUI application design;
- Ability to learn new technology fundamentals quickly, show flexibility, and work on several projects and priorities in parallel;
- Version control systems;
- Issue management (ticketing) systems;
- Software testing methodologies;
- Demonstrable experience in developing in languages and domains mentioned above;
- Proven problem solving, technical, written and verbal communication skills;
- Proven analytical skills;
- Proven inter-personnel skills;
- Proven team player who can effectively interact with others to accomplish tasks within tight timescales and changing environments;
- Full UK driving licence and own transport.
The following skills and experience are desirable but not essential:
- Development using .net;
- Development in the Python language;
- Understanding of comms systems (GSM, satellite, ethern-based etc);
- Continuous integration systems;
- Demonstratable experience in writing .net and Python applications.
- Competitive salary (depending on experience);
- Impressive benefits package.