• Senior Software Engineer

    Job Reference
    No. of Openings
    No. of Openings Remaining
    Group Engineering
    Job Type
    Permanent Full-Time
  • Overview

    An exciting opportunity to architect and implement a robust, scalable, distributed and concurrent system for the real-time collection, processing and analysis of multiple steams of data generated by Renishaw Additive Manufacturing systems.  The high volume of data presents considerable technical challenges in terms of processing efficiency, data throughput, error recovery, and archiving. 


    For the right candidate the role presents the opportunity to make a key contribution to the design and implementation of the software system.  The role provides the freedom to explore and evaluate a range of implementation techniques – particularly data-driven architectures, functional programming, pipes and filters, microservices and actor models – with the aim of developing a highly configurable system of reusable and robust data processing elements. 


    We are a small team of motivated software engineers using Agile methodologies with a strong emphasis on whiteboard-driven development, test-driven development and automated testing.  We code in C#, with some managed and native C++, delivered for Microsoft Windows platforms.


    • Take a leading role in designing and developing software and systems architecture
    • Research and implement algorithms to support real-time data processing
    • Liaise with Renishaw domain experts to elicit motivations and goals, then reformulate as software requirements
    • Critique code and designs
    • Implement software in C#
    • Write testable code

    Key requirements

    • Educated to at least degree level in Computer Science or similar relevant scientific discipline (minimum 2:2 grade); OR the ability to demonstrate comparable applied knowledge and expertise to an equivalent level.
    • Software development experience in C#
    • System architecture and design experience
    • Confidence with whiteboards and other collaborative tools
    • Willingness to contribute strongly to design discussions
    • A fast learner, ready to adopt new ideas while maintaining the “big picture” in a rapidly evolving design

    Desirable requirements

    • Software development experience in C++, F# and other functional languages
    • Experience with GPGPU technologies (CUDA, DirectCompute, etc.)
    • Experience with BDD/TDD, pair programming

    Person specification

    We welcome applicants with a passion for programming and data architecture alongside the facility to learn quickly.  Providing scalable, enterprise-level products requires the ability to think clearly at a high level and follow up with a tenacious close attention to detail. 

    Initiative and the ability to consider the use of new and existing technologies to provide novel solutions are also key to this role. 
    A good team player, you will be able to articulate your views while participating in design debates.




    When you join Renishaw, we're committing to your future career. That's because we believe in developing our people's skills and promoting them internally. We also offer a benefits package that's highly desirable, including a 9% non-contributory pension, discretionary annual bonus and pay reviews, subsidised onsite restaurant, free parking and sports and leisure societies. Of course, we appreciate there’s more to work than the office, so we also offer 25 days holiday, Life Assurance, Permanent Health Insurance scheme subject to application and BUPA Renishaw Health Trust.


    Sorry the Share function is not working properly at this moment. Please refresh the page and try again later.
    Share on your newsfeed