Software Engineer - Hardware Simulation & Engineering Infrastructure
Role details
Job location
Tech stack
Job description
Kick-start your software engineering career working where software meets hardware.
Sandisk designs and manufactures a wide range of NAND Flash based products from USB drives and SD cards, portable and internal SSDs for PCs to large scale, high performance / large capacity SSDs for Data Centres. Join our Edinburgh-based engineering team building a simulation-driven development platform to accelerate firmware and ASIC development at Sandisk, used by multiple engineering teams across continents and timezones.
We're looking for curious graduates with strong fundamentals, and a desire to learn from experienced engineers. You don't need prior hardware knowledge - just solid programming skills and a problem-solving mindset.
As an entry-level Software Engineer, you'll work developing software models of hardware devices, tooling, automation, and test infrastructure that helps teams build, validate, and debug complex systems. You'll be supported by experienced engineers, with structured mentoring and opportunities to take ownership quickly. You will make considerable use of AI tools in all aspects of the software engineering process.
Responsibilities:
You'll contribute to a mix of hands-on engineering and workflow improvement, such as:
Hardware simulation & modelling support
- Developing models of hardware devices for use in hardware simulation
- Improving and enhancing components that enable simulation-based development and testing
- Enhancing developer experience around running, debugging, and diagnosing simulations
- Augmenting the capabilities of the simulation for current and future needs
- Improving visibility and diagnostics so failures are faster to reproduce and fix
Test integration, Regression and Release Engineering
- Running and supporting large-scale regression systems
- Improving code maintainability, documentation, and developer workflows as systems scale
If you are looking for a place where you can develop your real-world engineering skills, gain hands-on experience creating direct impact, and drive engineering excellence enhancements, then this may be the place for you!
Requirements
Do you have experience in Python?, Essential:
- A degree (or expected degree) in Computer Science, Software Engineering, Electrical/Electronic Engineering, or a similar discipline
- Programming experience in C, C++ and/or Python (university, internships, personal projects all count)
- Comfort with debugging and problem-solving in unfamiliar codebases
- Enthusiasm for use of AI tools in software engineering
- Clear communication and collaboration skills
Desirable:
- Exposure to Windows and Linux development environments
- Experience with Source control systems, preferably Git
- Any experience with simulation, embedded concepts, or performance analysis
- Interest in systems, tooling, automation, or hardware-adjacent software