Freeman Technology manufactures a precision laboratory instrument which is utilised by a wide range of industries around the world for measuring the flow properties of powders.
The primary responsibility of this role is to develop software for the company’s line of analytical instrumentation. As the lead Software Engineer you will be responsible for driving
forward and shaping the design and development of C# software applications for the next generation of laboratory instrumentation and integrating the various packages with the relevant hardware/firmware.
The role will require collaboration with colleagues in electronic, electrical and mechanical engineering, and you will be expected to contribute to the design of system architecture, with particular focus on the electronics and control systems.
As the company is beginning a “ground up” design of their next generation instrument, as the lead Software Engineer, you will be expected to drive this project from a software perspective, and take responsibility for all software,
from driver level up to graphical user interface. If of interest, you will have the opportunity to work on code at lower levels, as the design concept is likely to embrace FPGA and microprocessor based technologies.
It will be an on-going requirement to maintain and troubleshoot the company’s existing software applications. These are written in Visual Basic 6, and whilst there is no intention to develop any of these applications further, it is inevitable that a certainly level of troubleshooting will be required.
Develop code to provide the control interface and data analysis software applications for the company’s next generation of powder characterisation instruments
Work with colleagues to contribute to the design of this next generation product, with a focus on the electronics, control systems and system architecture
Manage the design of the software and hardware (where relevant) through professional documentation and project meetings, in-line with the company’s existing practices
Occasionally troubleshoot problems with company’s existing software applications, which will require use of Visual Basic 6
Support colleagues in IT from time to time, and become familiar with the structure and design of the company’s SQL database
Expert knowledge in the development of C# software applications for real products, e.g. scientific instrumentation, medical devices, industrial equipment, laboratory instruments / equipment, etc.
Experience of working with Linux platforms, particularly with regard to interfacing data acquisition hardware and external PCs
Knowledge of .net (ASP.net or VB.net)
Understanding of Visual Basic 6 (VB6)
Knowledge and appreciation of hardware-OS interaction
Experience in the design of control systems and a good understanding of the function of electronics and microprocessor level hardware
Understanding of Driver and system DLLs, Interrupt Request Handling, Memory allocation and DOS batch files
Ability to review program code and/or resulting test data to identify faults and generate software based solution where possible
High standard of record keeping required both in terms of software management and internal and external communications
Ability to prepare detailed documentation relating to software issues in order to support both in-house teams and external distributors and customers
Experience of website maintenance (beneficial)
Knowledge of SQL and Access database functions (beneficial)
Excellent verbal and written skills
Highly self-motivated, with ability to work individually or within a team
Commitment to working as a team member within a rapidly growing, dynamic and fast-paced company
This role represents a fantastic opportunity for the right individual to join a dedicated team as part of a successful, growing company.
To apply, please email your CV to firstname.lastname@example.org.