Logo of Huzzle

Senior Software Development Engineer

  • Job
    Senior Level
  • Software Engineering
  • London

AI generated summary

  • You must have a degree in Computer Science or related field, extensive C/C++ coding for embedded devices, experience with DevOps tools like Azure DevOps, and knowledge of continuous integration. Experience with Atmel, Zynq, or ARM processors is preferred.
  • You will collaborate with a team to design, develop, and test control software for optical sorting machines, ensuring functionality, meeting specifications, and providing support as needed.


  • Ideally degree in Computer Science or equivalent in a technical related subject.
  • Extensive demonstrable experience in C/C++ coding for embedded devices within a Microsoft or Linux development environment.
  • Experience in using DevOps toolchains for planning, coordinating, testing, and releasing software (Azure DevOps) and configuration of management tools (e.g. Git).
  • Experience of working in a continuous integration development environment.
  • Preferred qualifications:
  • Experience of developing for Atmel, Zynq or ARM processors.


  • Design and development in collaboration with a multi-disciplinary team, system control software for new and existing optical sorting machines.
  • Lead design, develop, test, and amend software to ensure that the design is functional, meets the agreed specifications and standards and is available for application at the appropriate time in the project development cycle.
  • As part of a multi-disciplinary team to conduct feasibility studies and evaluation of ideas to produce design specifications for embedded software that meet the agreed functional specifications.
  • Discuss user requirements with end users and test engineers to ensure requirements are appropriately understood and defined.
  • Ensure timely delivery of software in accordance with project timescales.
  • Maintain issued software, designing, developing, and testing amendments to resolve problems and/or improve effectiveness as required.
  • Provide a support and advice service to Production to resolve software related queries during initial production runs and to the Customer Care Department to resolve customer enquiries on software matters.
  • Assist other members of the R&D department as appropriate to complete their responsibilities and to meet the business needs of the department.
  • Ensure confidentiality of intellectual property is maintained.
  • Improve operations by conducting systems analysis and recommending changes in policies and procedures.
  • Support and develop software development engineers by providing advice and coaching.
  • Update job knowledge by studying state of the art development tools, programming techniques and participate in educational opportunities, maintaining personal networks and participating in professional organisations.


What is the primary responsibility of the Senior Software Development Engineer in this role?

The primary responsibility of the Senior Software Development Engineer is to design and develop system control software for optical sorting machines as part of a multi-disciplinary team.

Who does the Senior Software Development Engineer report to in this role?

The Senior Software Development Engineer reports to the Software Engineering Manager.

What are the key qualifications needed for this role?

Key qualifications for this role include a bachelor's degree in Computer Science or related field, extensive experience in software development, proficiency in programming languages such as C++, and a strong understanding of control systems.

What level of experience is required for the Senior Software Development Engineer position?

The Senior Software Development Engineer position requires a significant level of experience in software design and development, particularly in the field of system control software for optical sorting machines.

What will the Senior Software Development Engineer be working on as part of the multi-disciplinary team?

The Senior Software Development Engineer will be responsible for designing and developing system control software for both new and existing optical sorting machines, working closely with other team members to ensure the software meets the specifications and requirements of the machines.

Every day, billions of people use Bühler technologies to satisfy their basic needs for food, mobility, or communication.


Mission & Purpose

Bühler is a global technology company providing advanced and innovative solutions in the fields of food processing, chemical engineering, and die-casting. Their core mission revolves around enhancing sustainability, safety, and efficiency in these industries. Bühler is committed to developing cutting-edge technologies and processes that facilitate the production of high-quality and safe food, sustainable materials, and advanced chemicals. They work closely with their clients, aiming to support the global transition to sustainable and environmentally friendly practices. Bühler's purpose lies in driving progress by creating technologies that address the world's pressing challenges, such as feeding a growing population, conserving resources, and reducing the environmental impact of industrial processes. Through their expertise and innovation, they contribute significantly to shaping a more sustainable and prosperous future.