At a Glance
- Tasks: Design and develop innovative software components while ensuring quality and on-time delivery.
- Company: Join a leading tech company committed to inclusivity and innovation.
- Benefits: Enjoy competitive salary, health benefits, and opportunities for professional growth.
- Other info: Collaborative team culture with excellent career advancement opportunities.
- Why this job: Make a real impact in a dynamic environment with cutting-edge technology.
- Qualifications: Degree in relevant field and strong knowledge of modern C++ required.
The predicted salary is between 60000 - 80000 £ per year.
The Principal Software Engineer is part of the Software Systems Capability function, responsible for specifying, designing, validating, and testing software components, including low‑level requirements for the software and source code. The role ensures on‑time delivery and quality of software and associated artefacts, achieved through decomposition of designs and development of tests and analysis to validate implementation against requirements.
Responsibilities
- Review and agree high‑level software requirements, including their testability.
- Analyse and translate high‑level requirements into validated design for software components.
- Capture applicable design constraints and quality attributes that apply to the component.
- Design and implement software components to meet high‑level requirements and design constraints/standards.
- Allocate software requirements to test vehicles defined in the verification plan.
- Analyse software components for functional behaviour, using modelling and simulation to demonstrate design compliance.
- Develop and review software tests that evidence satisfaction of software requirements.
- Analyse existing software for architectural or design issues and drive improvement of the existing code base.
- Analyse verification test results against software requirements.
- Provide targeted testing of software‑level functionality to support problem investigation and closure of customer issues.
- Liaise with other disciplines to understand functional performance capabilities of system components to facilitate effective component design.
- Support capacity planning and the development of long‑term strategic goals for the department, in conjunction with department managers.
- Develop, implement, document, and maintain policies, procedures, guidelines, tools, and training as required.
- Produce reports to document work carried out.
- Provide advice to project teams and contribute to knowledge reuse within the organisation.
Qualifications
- Strong knowledge of software design, system architecture, and embedded software testing at the module level.
- Degree (or equivalent) qualified.
- Strong knowledge of modern C++ in relation to real‑time systems, including refactoring legacy code to improve robustness.
- Working appreciation of associated engineering disciplines.
- Proficiency with design and analysis tools.
- Professional courage to highlight areas of concern and risk, ensuring product suitability in a safe and functional manner.
- Ability to interpret test results and provide informed conclusions, including understanding measurement uncertainty.
- Demonstrated ability to manage tasks to completion, keeping relevant stakeholders informed.
- Ability to identify and manage risk in collaboration with team members.
Preferred Requirements
- Highly self‑motivated and directed, with keen attention to detail.
- Strong problem‑solving skills and ability to understand the level of analysis required.
- Good time‑management skills, able to prioritise and execute tasks in a high‑pressure environment.
- Dynamic response to evolving objectives while coordinating with a multidisciplinary team.
- Excellent written, oral, and interpersonal communication skills, able to explain ideas in both technical and user‑friendly language.
- Ability to research application issues and seek solutions outside the immediate area.
- Team‑oriented collaborative environment or able to work as a sole contributor on defined projects.
- Working knowledge of marine automation systems, including industry standards.
- Willingness to pursue training courses and workshops to develop capability.
- Capability to train others and deliver training material when required.
Rolls‑Royce are committed to being a respectful, inclusive, and non‑discriminatory workplace where individuality is valued, diverse perspectives fuel innovation, and everyone can thrive.
Principal Software Engineer employer: Rolls-Royce plc
At Rolls-Royce, we pride ourselves on fostering a dynamic and inclusive work environment in Bristol, where every employee's individuality is celebrated. As a Maintenance Engineer, you'll not only engage with cutting-edge technologies but also benefit from extensive training and development opportunities that support your career growth. Join us to be part of a forward-thinking team dedicated to innovation and sustainability, all while enjoying the advantages of working in a globally respected company committed to making a positive impact.
StudySmarter Expert Advice🤫
We think this is how you could land Principal Software Engineer
✨Join Local Tech Meetups
Get out there and mingle with fellow developers by joining local tech meetups. It’s a fantastic way to meet people who might be working at Rolls-Royce plc or know someone who does. Plus, you can pick up some trendy tech skills and trends while you're at it!
✨Contribute to Open Source Projects
Show off your coding chops by jumping into open-source projects. Not only does this give you practical experience, but it also gets you noticed in the dev community. You'll create a killer portfolio that speaks volumes about your skills to Rolls-Royce plc.
✨Tap into Online Developer Communities
Don’t underestimate the power of online developer communities like GitHub, Stack Overflow, and even Reddit. Participate in discussions, share your projects, and build your visibility. We can often find opportunities through these channels that can lead to a full-time gig at companies like Rolls-Royce plc.
✨Explore Job Boards Specifically for Tech Roles
Keep your eyes peeled on job boards that focus on tech roles. Sites like TechCareers or Stack Overflow Jobs can often have listings for companies like Rolls-Royce plc that might not show up on broader job sites. Make it a habit to check these regularly, and don’t hesitate to apply directly through our website!
We think you need these skills to ace Principal Software Engineer
Some tips for your application 🫡
Show off your coding skills:When applying for a software engineering role, it's super important to showcase your coding skills. Make sure your CV includes your tech stack, any relevant programming languages you’re comfortable with, and examples of projects you've worked on. If you have a GitHub profile, link it up! We love to see code in action.
Tailor your portfolio:For a full-time role, we’d expect to see some solid examples of your work in your portfolio. Make sure to include at least two or three projects that highlight your problem-solving skills and your ability to work with different technologies. Focus on the projects that are most relevant to the position at Rolls-Royce plc.
Craft a killer cover letter:Your cover letter is your chance to stand out—make it personal! Explain why you want to work at Rolls-Royce plc and how your skills align with the role. Show us your passion for software development. We dig enthusiastic candidates who understand the value of collaboration and continuous learning!
Be clear and concise:When it comes to writing your CV and cover letter, clarity is key. Avoid jargon that could confuse us and stick to simple, direct language. Highlight your achievements with quantifiable results where possible, and keep everything easy to read. A well-organised application goes a long way!
How to prepare for a job interview at Rolls-Royce plc
✨Brush Up on Your Coding Skills
For a full-time software engineering role, it's crucial that we stay sharp with our coding abilities. Expect technical questions that might involve solving problems on the spot or discussing algorithms. Practise on platforms like LeetCode or HackerRank to get comfortable with the types of questions that often come up.
✨Know Your Tools and Frameworks
Make sure we’re well-acquainted with the tools and technologies listed in the job description. Familiarise ourselves with any specific frameworks or programming languages mentioned. If Rolls-Royce plc uses React or Node.js, for instance, be ready to discuss how we’ve used them in previous projects or coursework.
✨Showcase Your Projects
Bring along a portfolio that highlights our best work. This could be code samples, GitHub repositories, or any side projects we’ve built. Make sure we can talk through our thought process for each project, especially the challenges we faced and how we solved them—this shows our problem-solving skills in action.
✨Prepare for Behavioural Questions
While technical skills are key, full-time positions also require cultural fit. Be ready to discuss our previous experiences and how we handle teamwork, conflict, and deadlines. Brush up on the STAR method—Situation, Task, Action, Result—to clearly articulate our past experiences when discussing how we've contributed to a team.