Software Engineer - Oxford, Oxfordshire, United Kingdom - Oxford Nanopore Technologies

    Default job background
    Description

    Oxford Nanopore Technologies is headquartered at the Oxford Science Park outside Oxford, UK, with satellite offices and a commercial presence in many global locations across the US, APAC and Europe.

    Oxford Nanopore employs from multiple subject areas including nanopore science, molecular biology and applications, informatics, engineering, electronics, manufacturing and commercialisation.

    The management team, led by CEO Dr Gordon Sanghera, has a track record of delivering disruptive technologies to the market.

    Oxford Nanopore's sequencing platform is the only technology that offers real-time analysis, in fully scalable formats from pocket to population scale, that can analyse native DNA or RNA and sequence any length of fragment to achieve short to ultra-long read lengths.

    Our goal is to enable the analysis of any living thing, by anyone, anywhere
    We are seeking a hardworking and experienced Software Engineer to join the Instrument Software team.

    You will collaborate with and support the Electrical Engineering team (responsible for hardware and firmware development) and the Sequencing team (our validators and initial users of our technology) to enable and support new and existing devices, device applications, and hardware and firmware changes.

    In this role, you will be a part of the Instrument Software team responsible for writing MinKNOW.

    This high-performance software deals with large data volumes, handling data acquisition from custom hardware, real-time initial data processing, servicing the base-caller, user interface, and conducting ongoing analysis of system performance.

    You will become a primary interface to the Sequencing and Electrical Engineering teams.

    Your remit will range from investigating specific problems originating from our field support engineers and these key teams to developing software for new and experimental hardware.

    You'll have good visibility into many aspects of Oxford Nanopore Technologies, working closely with chemists, algorithms researchers, and developers to evaluate, test, and improve our software.

    Our team is relatively small, so you'll have autonomy but will require a disciplined approach to automation and testing.

    We are looking for a person with good technical skills who wants to work with device-level software and is a natural problem solver.

    Experience in software development and general Computer Science knowledge (e.g. computational complexity). This should include experience with modern software development techniques, tools, and processes.
    Professional/industrial experience in C++ and STL, this is our primary language.
    Understanding of USB, SPI and I2C busses.
    Understanding of Linux drivers.
    Experience of writing and debugging Firmware.
    Experience of working with device-level software.
    Experience of setting up CI & DevOps.
    Experience of Windows drivers.
    Knowledge of signal processing, electronic engineering, Linux, or embedded systems
    Experience of real-time service/control software development and optimisation.
    Experience in Python, as this is used across the company for prototyping and less performance-intensive applications.

    We offer outstanding benefits to include an attractive bonus, generous pension contributions, private healthcare and an excellent starting salary.

    Based within beautiful, landscaped surroundings with tree-lined walks, water features and a lake, all of which make for a wonderful working environment.

    Please note that no terminology in this advert is intended to discriminate on the grounds of a person's gender, marital status, race, religion, colour, age, disability or sexual orientation.