Senior Software Engineer in Cambridge

Senior Software Engineer in Cambridge

Cambridge Full-Time 60000 - 80000 £ / year (est.) No working from home possible
Huber+Suhner

At a Glance

  • Tasks: Enhance and optimise software for cutting-edge optical network switches.
  • Company: Join HUBER+SUHNER Polatis, a leader in innovative tech solutions.
  • Benefits: Competitive salary, career development, and a collaborative work culture.
  • Other info: Dynamic environment with opportunities for mentorship and growth.
  • Why this job: Make a real impact in the tech world with your coding skills.
  • Qualifications: 8+ years in embedded systems, strong C programming, and Linux expertise.

The predicted salary is between 60000 - 80000 £ per year.

The Product Software Team are responsible for providing customer facing software that runs on our industry-leading all-optical network switch. The team are responsible for managing two different software stacks running on different PCBs. The network software (NIC SW) implements various L2/L3 protocols and allows customers to communicate with the optical switch using the desired interfaces that includes TL1, Netconf, Restconf and WebUI. The control software (DSP SW) is a bare metal stack that receives user commands through NIC SW and controls the movement and position of piezoelectric actuators.

The Senior Software Engineer is responsible for enhancing and optimising Polatis products, focusing on software architecture, design, integration, and ensuring seamless collaboration across cross‑functional teams. This role involves hands‑on technical contributions, mentorship, and aiding in the overall growth and efficiency of the software development team.

  • Software Architecture and Design: Collaborate closely with the Software Architect to shape both system design and test pass criteria for all assigned projects, ensuring cohesive alignment with product architecture, user requirements, and technical constraints.
  • Technical Expertise: The role involves developing software in C for Linux‑based embedded systems, contributing to the user‑space software stack to enhance product functionality. It requires close collaboration with quality engineers to design and review software verification plans, as well as analysing test outcomes to identify improvement opportunities. The position also includes investigating customer‑reported bugs, identifying root causes, and delivering effective fixes to uphold product quality and customer satisfaction.
  • Hardware Integration: Utilise hands‑on experience to integrate software with hardware, comprehending various hardware protocols (I2C, UART, SPI, USB) and reading hardware schematics effectively.
  • Cross‑Functional Collaboration: Collaborate with cross‑functional teams to define project scopes and contribute to planning and estimation of work packages. Collaborate with production, NPI, and customer support teams to address potential software issues during production and in the field, ensuring timely resolution.
  • Process Orientation: Produce the relevant project artefacts as required by the software development process. Provide specific documentation related to product design to meet regulatory compliance and organization requirements.

Your profile:

  • 8+ years of product development experience in an embedded environment using C programming language.
  • Experience of developing software targeted at ARM microcontrollers.
  • Familiarity with coding standards and best practices.
  • Proven experience as a Senior Software Engineer, with a strong focus on Linux‑based systems development.
  • Ability to use number of development tools for system administration and debugging.
  • Skills in optimizing software for performance and memory usage.
  • Advanced understanding of static and dynamic analysis tools.
  • Experience with Hardware root of trust (RoT), Secure boot and TPM.
  • Experience with security scanning tools, management of software vulnerabilities.
  • Familiarity with security regulations.
  • Experience with software security that involves code signing, private key management using HSM.
  • Ability to maintain Linux kernel with latest security patches, upgrading to new libraries.
  • Advanced understanding and contributions in Yocto build systems.
  • Experience with writing Linux user space application software using POSIX APIs.
  • Ability to integrate open‑source library into existing programs.
  • Experience of working in an Agile software development environment and contribute significantly to generating relevant process artefacts.
  • Familiarity with Jenkins CI/CD pipelines.
  • Continuous integration tools, and scripting languages to automate tasks and improve development workflows.

Desirable skills:

  • Solid understanding of networking or bus‑based communication concepts, protocols, and security mechanisms including data storage, and preventing vulnerabilities.
  • Experience in gRPC, gNMI and gNSI.
  • Experience with version control systems (e.g., Git) and issue tracking tools (e.g., JIRA).

Why HUBER+SUHNER Polatis? Our aim is to be the employer of choice and as such you can be assured of a market leading remuneration package that matches your skills and experience. Your employment and development is at the heart of our "Fundamentals". We have an entrepreneurial and collaborative culture within the business. You will hear back from us as soon as possible.

Senior Software Engineer in Cambridge employer: Huber+Suhner

At HUBER+SUHNER Polatis, we pride ourselves on being an employer of choice, offering a competitive remuneration package and a culture that fosters collaboration and innovation. Our commitment to employee development is reflected in our 'Fundamentals' approach, ensuring that you have ample opportunities for growth while working on cutting-edge technology in a supportive environment. Join us in our state-of-the-art facilities, where your contributions will directly impact the future of our industry-leading optical network solutions.

Huber+Suhner

Contact Details:

Huber+Suhner Recruitment Team

StudySmarter Expert Advice🤫

We think this is how you could land Senior Software Engineer in Cambridge

Tip Number 1

Network, network, network! Get out there and connect with folks in the industry. Attend meetups, tech talks, or even online webinars. You never know who might have a lead on that Senior Software Engineer role you’re after!

Tip Number 2

Show off your skills! Create a portfolio or GitHub repository showcasing your projects, especially those involving C programming and Linux-based systems. This gives potential employers a taste of what you can do and sets you apart from the crowd.

Tip Number 3

Don’t just apply blindly! Tailor your approach for each application. Research the company, understand their products, and mention how your experience aligns with their needs. It shows you’re genuinely interested and not just sending out mass applications.

Tip Number 4

Apply through our website! We love seeing candidates who take the initiative to apply directly. Plus, it helps us keep track of your application better. So, don’t hesitate – hit that apply button and let’s get the conversation started!

We think you need these skills to ace Senior Software Engineer in Cambridge

C Programming
Linux-based Embedded Systems
Software Architecture and Design
ARM Microcontrollers
Static and Dynamic Analysis Tools
Hardware Integration
I2C Protocol

Some tips for your application 🫡

Tailor Your CV:Make sure your CV is tailored to the Senior Software Engineer role. Highlight your experience with C programming, Linux-based systems, and any relevant projects that showcase your skills in embedded environments.

Showcase Your Projects:Include specific examples of projects you've worked on that relate to software architecture and design. We want to see how you've contributed to enhancing product functionality and collaborating with cross-functional teams.

Be Clear and Concise:When writing your application, keep it clear and concise. Use bullet points where possible to make it easy for us to read through your qualifications and experiences quickly.

Apply Through Our Website:Don't forget to apply through our website! It’s the best way for us to receive your application and ensures you’re considered for the role. We can’t wait to hear from you!

How to prepare for a job interview at Huber+Suhner

Know Your Stuff

Make sure you brush up on your C programming skills, especially in the context of Linux-based embedded systems. Be ready to discuss your experience with ARM microcontrollers and how you've tackled performance optimisation in past projects.

Showcase Your Collaboration Skills

This role involves a lot of cross-functional teamwork, so be prepared to share examples of how you've successfully collaborated with other teams. Highlight any experiences where you defined project scopes or resolved software issues during production.

Get Hands-On with Hardware

Since hardware integration is key, make sure you can talk about your experience with various protocols like I2C, UART, and SPI. If you have any specific examples of integrating software with hardware, bring those up to demonstrate your practical knowledge.

Be Process-Oriented

Familiarise yourself with the software development process and be ready to discuss how you've produced relevant project artefacts in previous roles. Mention any experience you have with Agile methodologies and tools like Jenkins CI/CD pipelines to show you're up to speed with modern development practices.