Lead Software Engineer
At Cadence, we hire and develop leaders and innovators who want to make an impact on the world of technology.
Cadence is a pivotal leader in electronic design, building upon more than 30 years of computational software expertise. The company applies its underlying Intelligent System Design strategy to deliver software, hardware and IP that turn design concepts into reality.
Cadence customers are the world’s most innovative companies, delivering extraordinary electronic products from chips to boards to systems for the most dynamic market applications including consumer, hyperscale computing, 5G communications, automotive, aerospace industrial and health.
At Cadence, we hire and develop leaders and innovators who want to make an impact on the world of technology.
Job Title: Lead Software Engineer
Location: Nottingham, United Kingdom
Reports to: Sr Software Engineering Manager
Job Overview:
Are you ready to shape the future of engineering software used by the world's leading automotive, aerospace, motorsport, electric vehicle, and renewable energy companies?
We are looking for a Lead Software Engineer to join our Nottingham-based product development team, where you will design and deliver next-generation desktop and cloud applications and engineering workflows. In this role, you will develop and evolve complex applications that enable engineers to design, simulate, and analyse advanced electro-mechanical systems.
Working across the full software lifecycle, from requirements and architecture through to implementation, testing, and deployment - you will drive engineering excellence and help shape the technical direction of our products.
Job Responsibilities:
- Design, develop, and maintain high-quality software applications using C#, .NET, and WPF.
- Implement scalable and maintainable software solutions using object-oriented design principles, asynchronous programming patterns, and modern software architecture practices with a strong focus on usability, performance, and long-term extensibility.
- Leverage AI-assisted engineering tools, including Large Language Models (LLMs), to improve development productivity while maintaining high engineering quality standards.
- Develop rich user interfaces using XAML, data binding, control templating, dependency properties, and modern UI design patterns.
- Design end-to-end workflows that consider integration points, data flow, reliability, and failure modes across multiple systems and products.
- Lead the delivery of complex features from initial concept through implementation, testing, release, and post-release support.
- Drive engineering best practices through code reviews, technical mentoring, design discussions, and continuous improvement initiatives.
- Optimize application performance, responsiveness, memory utilization, and scalability.
- Collaborate closely with product managers, UX designers, software engineers, QA engineers, and domain experts to deliver customer-focused solutions.
- Contribute to architectural decisions, technical roadmaps, and long-term platform strategy.
Job Qualifications:
- A degree in Computer Science, Software Engineering, or a related technical discipline, or equivalent professional experience. Typically, candidates will bring 4–7 years of relevant software development experience, with strong evidence of technical growth and delivery.
- Deep understanding of WPF, including XAML, data binding, dependency properties, control templating, styles, and MVVM patterns.
- Strong knowledge of asynchronous programming using async/await and task-based design patterns.
- Experience working with LINQ, generics, delegates, events, collections, and modern C# language features.
- Practical experience using AI-assisted development tools such as GitHub Copilot, Claude, or similar technologies.
- Strong understanding of software performance, memory management, debugging, and troubleshooting techniques.
- Experience designing and delivering complex software features from concept to production.
- Ability to evaluate technical trade-offs and make sound architecture and design decisions.
Additional Skills/Preferences:
- Experience developing AI-enabled software solutions, including integration of REST APIs, Python-based automation, Model Context Protocol (MCP), agent frameworks, and structured tools that expose product capabilities to AI assistants and autonomous agents.
- Experience developing engineering, simulation, CAD, CAE, EDA, scientific, or other technical software applications.
- Familiarity with mathematical concepts such as linear algebra, complex numbers, and numerical techniques commonly used in scientific and engineering software applications.
- Knowledge of cloud-connected desktop applications and hybrid desktop/cloud architectures.
- Experience with automated testing, CI/CD pipelines, and modern DevOps practices.
- Knowledge of software architecture patterns, design patterns, and large-scale application modernization initiatives.
Additional Information:
This role is based in our Nottingham office, with a hybrid working arrangement of at least 3 days per week on-site. You will join a collaborative, cross-functional product development team and work closely with product managers, UX designers, QA engineers, and domain experts. The team uses modern tooling including GitHub, Azure DevOps, and AI-assisted development environments.
Check what we can offer you:
- Competitive salary
- 25 days holiday per year
- Private Medical and Dental plans, Income Protection and Life Insurance
- Group Personal Pension Plan
- Cycle to work scheme and gym subsidy
- 5 days paid time to volunteer to give back to our communities
- Employee Stock Purchase Plan
- The opportunity to work for a Great Place to Work© & Fortune 100 organization
Cadence is committed to equal employment opportunity and employment equity throughout all levels of the organization. We strive to attract a qualified and diverse candidate pool and encourage diversity and inclusion in the workplace.