Software Engineer (Embedded) in Cambridge

Software Engineer (Embedded) in Cambridge

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

At a Glance

  • Tasks: Develop and optimise embedded software for cutting-edge optical network switches.
  • Company: Join a leading tech company focused on innovation and collaboration.
  • Benefits: Enjoy competitive salary, health perks, remote work options, and growth opportunities.
  • Other info: Dynamic team environment with excellent career advancement potential.
  • Why this job: Make a real impact in the tech world while working with advanced technologies.
  • Qualifications: 3+ years in embedded systems, strong programming skills, and problem-solving abilities.

The predicted salary is between 50000 - 65000 £ per year.

The product software team is responsible for providing customer-facing software that runs on our industry-leading all-optical network switch. The team manages 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 desired interfaces including 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 Software Engineer plays a key role in enhancing and optimizing H+S Polatis products, with a strong focus on software architecture, design, and integration. This position demands hands-on technical contributions and active collaboration across cross-functional teams to drive product excellence and team efficiency.

  • System Design and Architecture: Make significant contributions to an existing code base to add new features and enhancements working with the software architect and team lead. Document low-level design aligned with the product architecture.
  • Firmware Development: Develop, debug, and optimize bare-metal firmware for ARM-based microcontrollers ensuring efficient and reliable operation of embedded systems.
  • Hardware Collaboration: Work closely with hardware engineers to review schematics, develop and debug hardware drivers, and ensure seamless hardware-software integration.
  • Interface Implementation: Implement and optimize low-level device interfaces such as UART, SPI, GPIO, ADC, DAC, and I2C devices to facilitate communication between peripherals and microcontrollers.
  • System Testing and Validation: Use advanced diagnostic tools and test equipment to validate and troubleshoot embedded systems, ensuring high-quality and reliable performance.
  • Agile Development Participation: Actively contribute to Agile development processes, including sprint planning, daily stand-ups, and retrospectives. Generate and maintain relevant process artifacts.
  • Continuous Improvement: Identify areas for improvement in existing systems and processes, propose innovative solutions, and drive continuous improvement initiatives.
  • Documentation: Create and maintain comprehensive documentation for design specifications, code, and system functionality, ensuring clear communication and knowledge sharing.

Your profile:

  • 3+ years in the embedded systems industry, with a strong background in bare-metal systems and extensive exposure to ARM-based microcontrollers.
  • Expert in solving complex problems that traverse both hardware and software domains.
  • Proficient in low-level programming using embedded C, with the ability to write efficient and reliable code for performance-critical applications.
  • Proficient in using debugging tools such as JTAG, ICE, and logic analysers to diagnose and resolve hardware and software issues.
  • Skilled in reading and understanding hardware schematics and experienced with FPGA-based designs.
  • Familiar with debugging hardware and firmware issues in collaboration with cross-functional teams.
  • In-depth knowledge of various low-level device interfaces including flash, SPI, UART, GPIO, ADC, DAC, I2C, and more.
  • Able to optimize communication between peripherals and microcontrollers.
  • Knowledge of scripting languages such as Python or Bash to automate repetitive tasks, test scripts, and build processes.
  • Strong written and verbal communication skills to effectively collaborate with cross-functional teams, present technical information, and document project progress.

Desirables:

  • Knowledge about motion control systems.
  • Proven track record of working in Agile software development environments, actively contributing to the generation and improvement of process artifacts, and continuously enhancing development methodologies.
  • Experience or working knowledge of secure boot, and HW Root of Trust establishments.
  • Knowledge of attestation.
  • Degree level or equivalent in a numerate discipline with courses on embedded programming.

Software Engineer (Embedded) in Cambridge employer: Huber+Suhner

At H+S Polatis, we pride ourselves on being an exceptional employer, offering a dynamic work environment that fosters innovation and collaboration. Our embedded software engineers play a crucial role in shaping cutting-edge technology within our all-optical network switch, while enjoying opportunities for professional growth and development. With a strong emphasis on teamwork, continuous improvement, and a culture that values technical excellence, we provide a rewarding workplace where your contributions truly make a difference.

Huber+Suhner

Contact Details:

Huber+Suhner Recruitment Team

StudySmarter Expert Advice🤫

We think this is how you could land Software Engineer (Embedded) in Cambridge

Tip Number 1

Network with industry professionals! Attend meetups, webinars, or tech conferences related to embedded systems. This is a great way to get your name out there and learn about job openings that might not be advertised.

Tip Number 2

Show off your skills through personal projects or contributions to open-source software. Having a portfolio of your work can really set you apart from other candidates and demonstrate your hands-on experience.

Tip Number 3

Prepare for technical interviews by brushing up on your low-level programming and debugging skills. Practice coding challenges and be ready to discuss your past projects in detail, especially those involving ARM-based microcontrollers.

Tip Number 4

Don’t forget to apply through our website! We love seeing applications directly from candidates who are excited about joining our team. Plus, it shows your enthusiasm for the role!

We think you need these skills to ace Software Engineer (Embedded) in Cambridge

Embedded Systems
Bare-Metal Firmware Development
ARM-based Microcontrollers
Low-Level Programming (Embedded C)
Debugging Tools (JTAG, ICE, Logic Analysers)
Hardware Schematics Reading
FPGA-based Designs

Some tips for your application 🫡

Tailor Your CV:Make sure your CV highlights your experience with embedded systems and ARM-based microcontrollers. We want to see how your skills align with the job description, so don’t be shy about showcasing relevant projects or achievements!

Craft a Compelling Cover Letter:Your cover letter is your chance to shine! Use it to explain why you’re passionate about embedded systems and how you can contribute to our team. Keep it concise but engaging – we love a good story!

Show Off Your Technical Skills:When detailing your experience, focus on specific technical skills mentioned in the job description, like low-level programming and debugging tools. We’re looking for candidates who can hit the ground running, so make sure we see your expertise!

Apply Through Our Website:We encourage you to apply directly through our website. It’s the best way for us to receive your application and ensures you’re considered for the role. Plus, it’s super easy – just follow the prompts!

How to prepare for a job interview at Huber+Suhner

Know Your Stuff

Make sure you brush up on your embedded systems knowledge, especially around ARM-based microcontrollers and low-level programming in C. Be ready to discuss specific projects where you've developed or debugged firmware, as well as any experience with hardware schematics.

Showcase Your Problem-Solving Skills

Prepare examples of complex problems you've solved that involved both hardware and software. Think about how you approached these challenges and the tools you used, like JTAG or logic analysers, to diagnose issues. This will demonstrate your hands-on experience and technical prowess.

Collaboration is Key

Since this role involves working closely with cross-functional teams, be ready to talk about your experience in Agile environments. Share how you've contributed to sprint planning or retrospectives, and highlight any process improvements you've initiated to enhance team efficiency.

Documentation Matters

Emphasise your ability to create and maintain clear documentation for design specifications and system functionality. Bring examples of how your documentation has facilitated communication within teams or improved project outcomes, as this is crucial for ensuring everyone is on the same page.