Associate Engineer, Software Tools

Analog Devices
Edinburgh, United Kingdom
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Edinburgh, United Kingdom

Tech stack

JavaScript
Adobe InDesign
Automation of Tests
Compilers
Code Generation
Code Review
Continuous Integration
Data Structures
Software Debugging
Firmware
Node.js
Parsing
Scrum
Software Tools
ISO/IEC 15504
Software Engineering
TypeScript
React
Backend
Information Technology
GraphQL
Front End Software Development
Automotive
Api Design
Programming Languages

Job description

Graduate Software Engineer - Compiler & Full-Stack Tooling for Battery-Management ICs (BMS) Are you excited by sustainable technology and motivated to help build the software that powers the future of electric vehicles? We're seeking a talented Graduate Software Engineer to join our team and contribute to both compiler development for Battery Management System (BMS) ICs and the creation of web-based tools that engineers use to configure, visualize, and deploy battery-management logic. This role is ideal for someone who enjoys working across system-level compiler tooling while also building modern, interactive full-stack applications. About the Role You will join a multidisciplinary team developing:

  • A custom compiler toolchain that translates high-level BMS configuration rules into optimized machine-level instructions for our battery-management ICs.
  • A React-based front-end application that allows engineers to visualise IC behaviour, configure system parameters, and validate designs.
  • A Node.js backend service that interfaces with the compiler, manages data models, serves configuration artefacts, and integrates with silicon evaluation tools.

You'll be supported by experienced engineers while working on real production-grade tools used throughout the company. Location: Edinburgh, Scotland. Key Responsibilities: Compiler Development

  • Contribute to the design and implementation of compiler modules including lexing, parsing, code generation.
  • Work with hardware engineers to understand IC architecture, memory maps, registers, and hardware execution models.
  • Help create automated tests that verify correctness across a wide range of input programs and battery use cases.

Full-Stack Tooling Development

  • Develop new React components and pages for visualising configuration models, hardware states, and generated outputs.
  • Build responsive UI features such as interactive configuration editors, charts, dashboards, and validation tools.
  • Contribute to API design (REST or GraphQL) for transporting configuration data and artefacts between the UI, backend, and compiler.
  • Write automated tests for both front-end and backend components.

General Responsibilities

  • Participate in design discussions, code reviews, and sprint planning.
  • Debug and troubleshoot issues across the full stack - from compiler output to UI behaviour.
  • Collaborate with embedded, systems, and algorithm engineers to integrate end-to-end toolchain functionality.
  • Support deployment, CI/CD workflows, and documentation of the tools you help build., * Work on unique engineering problems at the intersection of compilers, embedded systems, and modern web tooling.
  • Build highly transferable skills across full-stack development, toolchain engineering, and embedded silicon workflows.
  • Learn from engineers with expertise spanning software, hardware, and automotive systems.
  • Contribute to technology that enhances EV battery safety, reliability, and sustainability.
  • Join a team that values innovation, learning, and technical excellence.

Requirements

  • Degree (or final-year status) in Computer Science, Software Engineering, Electronics, or related field.
  • Basic knowledge of React, JavaScript/TypeScript, or modern front-end development principles.
  • Foundational understanding of backend development - ideally Node.js.
  • Strong understanding of algorithms, data structures, and programming language concepts.
  • Interest in compilers, embedded systems, or full-stack development (or all three!).
  • Curiosity about batteries, electronics, or hardware-software interactions.

Bonus Points (Nice-to-Have)

  • Experience developing React apps or Node.js services beyond small scripts.
  • Exposure to embedded systems, microcontrollers, or register-level programming.
  • Familiarity with battery technology or automotive software.
  • Awareness of quality standards such as ISO 26262 or Automotive SPICE.
  • Experience working with evaluation boards, firmware, or low-level debugging tools.

About the company

Come join Analog Devices (ADI) - a place where Innovation meets Impact. For more than 55 years, Analog Devices has been inventing new breakthrough technologies that transform lives. At ADI you will work alongside the brightest minds to collaborate on solving complex problems that matter from autonomous vehicles, drones and factories to augmented reality and remote healthcare. ADI fosters a culture that focuses on employees through beneficial programs, aligned goals, continuous learning opportunities, and practices that create a more sustainable future. About Analog Devices Analog Devices, Inc. (NASDAQ: ADI ) is a global semiconductor leader that bridges the physical and digital worlds to enable breakthroughs at the Intelligent Edge. ADI combines analog, digital, and software technologies into solutions that help drive advancements in digitized factories, mobility, and digital healthcare, combat climate change, and reliably connect humans and the world. With revenue of more than $9 billion in FY24 and approximately 24,000 people globally, ADI ensures today's innovators stay Ahead of What's Possible . Learn more at www.analog.com and on LinkedIn and Twitter (X) .

Apply for this position