At a Glance
- Tasks: Design and implement innovative flight software for spacecraft, making a real impact.
- Company: Join a pioneering company in the space industry with a focus on employee well-being.
- Benefits: Competitive salary, flexible hours, 36 days holiday, and health cash plan.
- Other info: Collaborative environment with opportunities for international travel and skill development.
- Why this job: Be part of a team pushing boundaries in space technology and enjoy career growth.
- Qualifications: Experience in software engineering, particularly in C and embedded systems.
The predicted salary is between 35000 - 45000 € per year.
We are looking for a Flight Software Engineer to join our team and contribute to our exciting spacecraft flight software development products. As Flight Software Engineer you would play a key role in the design and implementation of high-quality features in our spacecraft flight software product, Flightkit. Flightkit is a cross-platform flight software development kit which helps users rapidly produce modular, reusable flight software, and you would contribute directly to its ongoing success.
Your work would include a wide range of engineering tasks, including implementing support for new spacecraft onboard computers, developing components for spacecraft commanding and data handling, and contributing to core features of the Flightkit software development framework. You would apply yourself to tasks from across the software development lifecycle – from analysis and design through implementation and testing – working both independently and alongside your flight team colleagues, product managers, senior engineers and other internal stakeholders. You would be passionate about delivering features which solve interesting problems for our users. You would enjoy working as part of a team committed to quality in the code we write and the processes we use to produce it. Your curiosity would also extend beyond engineering to the commercial drivers behind your work.
What you will do
- Design & Implementation
- Take ownership of the analysis, design, implementation and documentation of flight software features which will help our users launch successful spacecraft.
- Write reliable, maintainable, and well-structured software that forms a core part of our organisation’s spacecraft flight software products.
- Demonstrate the correctness of your work by writing maintainable and comprehensible unit tests, integration tests and system tests.
- Work alongside other engineers, both inside and outside the flight software team, to develop the most effective solution for the problem at hand.
- Software Development Processes
- As part of the flight software team, you would take a key role in maintaining and improving on the quality of the code we produce.
- Take part in code reviews to ensure software meets requirements and can be maintained into the future.
- Use your experience and initiative to suggest and implement improvements to the development processes we use.
- Work with engineers from other teams on features which affect other products. This may require you to rapidly familiarise yourself with unfamiliar languages or technologies in order to solve cross-discipline issues quickly and effectively.
- Demonstrate a commitment to communicating with others about your work through clear design documents, the ability to raise and manage tickets, and the ability to provide descriptions of work done for inclusion in release notes.
- Show an ability to communicate progress, technical decisions, and risks with colleagues from all areas and levels of the business.
Essential skills & experience
- Experience of software engineering in a team environment, from design and planning through to development and testing.
- An understanding of the need to apply abstractions and patterns to software engineering solutions.
- Excellent problem-solving and programming skills in C.
- Experience writing C for software running on at least one embedded platform. Of particular relevance are ARM Cortex-M-based devices.
- Good understanding of operating system concepts and multi-tasking approaches.
- Experience with low-level hardware interactions, including the ability to read and interpret documentation for hardware peripherals, communication protocols and offboard devices.
- Experience diagnosing and debugging problems in software systems.
- Experience using a VCS, preferably Git, as part of a software development process.
- A willingness and ability to learn new languages and technologies.
Desirable skills
- Experience of spacecraft flight software engineering, spacecraft systems engineering or spacecraft operations would all be beneficial, though not essential.
- Ability to work with abstract software engineering concepts and design patterns across languages and environments.
- Experience of other programming languages besides C. Of particular relevance are Java and Python.
- Familiarity with embedded Linux distributions and tools such as systemd, BusyBox and Yocto. Experience building kernels, working with device tree overlays and producing filesystem images would also be valuable.
- Ability to work directly with embedded hardware and debug issues with interrupt- and DMA-driven device drivers for UART, SPI, I2C and CAN communications.
- Familiarity with FreeRTOS, RTEMS or other resource-constrained real-time operating systems.
- Understanding of software testing approaches and how they can be applied to embedded systems. Of particular relevance are CMock and Unity.
- The ability to automate development processes where necessary using scripts written in bash, Python or other appropriate languages.
- Experience working with CI/CD, Docker, GitLab and other DevOps technologies.
What we can offer you
- A competitive salary in the range of £35k-£45k depending on experience, with regular reviews.
- A fantastic opportunity to join a growing, innovative, employee-centred business pushing boundaries in the space industry.
- Flexible hours and hybrid working, enabling you to create your ideal work life balance.
- 36 days paid holiday per annum.
- Enhanced Company Sick Pay and Long-Term Sickness cover.
- A Health Cash Plan to cover costs such as dental, physio and optical.
- Life Assurance cover (x4 salary).
- As a member of the Bright Ascension team you would have a stake in the business through our Employee Benefit Trust.
- Enhanced maternity, paternity and adoption pay.
- Opportunities for international travel for exhibitions and trade shows.
- Investment in you and your skill development and the opportunity to attend relevant events and conferences to aid career / skill development.
- Company events and regular activities for social engagement and team building.
- An open, supportive, inclusive environment where you can explore your ideas and make a big difference to the product and business.
Flight Software Engineer in Edinburgh employer: Bright Ascension Ltd
At Bright Ascension, we pride ourselves on being an innovative and employee-centred company in the space industry, offering a dynamic work culture that fosters creativity and collaboration. As a Flight Software Engineer, you will enjoy flexible working hours, generous holiday allowances, and opportunities for professional growth through skill development and international travel. Join us to make a meaningful impact while working in a supportive environment that values your contributions and ideas.
StudySmarter Expert Advice🤫
We think this is how you could land Flight Software Engineer in Edinburgh
✨Tip Number 1
Network like a pro! Reach out to current employees on LinkedIn or at industry events. A friendly chat can give you insider info and maybe even a referral!
✨Tip Number 2
Show off your skills! If you’ve got a GitHub or personal project that showcases your coding prowess, share it during interviews. It’s a great way to demonstrate your passion and expertise.
✨Tip Number 3
Prepare for technical interviews by brushing up on your problem-solving skills. Practice coding challenges and be ready to explain your thought process. We love seeing how you tackle problems!
✨Tip Number 4
Don’t forget to follow up after interviews! A quick thank-you email can keep you fresh in the interviewer's mind and show your enthusiasm for the role. Plus, it’s just good manners!
We think you need these skills to ace Flight Software Engineer in Edinburgh
Some tips for your application 🫡
Tailor Your Application:Make sure to customise your CV and cover letter for the Flight Software Engineer role. Highlight your experience with C programming, embedded systems, and any relevant projects that showcase your problem-solving skills. We want to see how you fit into our team!
Showcase Your Passion:Let your enthusiasm for spacecraft flight software shine through in your application. Share any personal projects or experiences that demonstrate your curiosity and commitment to quality engineering. We love seeing candidates who are genuinely excited about what we do!
Be Clear and Concise:When writing your application, keep it clear and to the point. Use straightforward language to describe your skills and experiences, making it easy for us to see why you’d be a great fit. Remember, clarity is key in both coding and communication!
Apply Through Our Website:We encourage you to submit your application directly through our website. This helps us streamline the process and ensures your application gets the attention it deserves. Plus, it’s super easy to do!
How to prepare for a job interview at Bright Ascension Ltd
✨Know Your Flight Software
Before the interview, dive deep into the specifics of flight software development. Familiarise yourself with Flightkit and its features, as well as the challenges faced in spacecraft software engineering. This will not only show your enthusiasm but also help you answer technical questions confidently.
✨Showcase Your Problem-Solving Skills
Prepare to discuss past projects where you tackled complex problems, especially in C programming or embedded systems. Be ready to explain your thought process and the solutions you implemented. This will demonstrate your analytical skills and your ability to think critically under pressure.
✨Communicate Clearly
Practice explaining technical concepts in simple terms. You’ll likely be speaking with colleagues from various backgrounds, so being able to communicate effectively is key. Use examples from your experience to illustrate your points and ensure everyone understands your contributions.
✨Be Curious and Open to Learning
Express your eagerness to learn new technologies and languages. Discuss any recent skills you've acquired or projects you've undertaken that required you to step outside your comfort zone. This shows that you're adaptable and committed to personal and professional growth, which is highly valued in a dynamic field like aerospace.