Job summary

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.

Collaboration

  • 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.
  • 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.

Essential skills & experience

We see experience with the following as essential to the job:

  • A passion for creative problem solving and an appreciation for the balance between pragmatism and elegance which great engineering requires.
  • Diligence and good attention to detail in all areas of your work.
  • The ability to communicate clearly with colleagues of different technical skill levels, attitudes and backgrounds in both technical and commercial conversations.
  • The desire to make a strong contribution to the business, financially but also in terms of team culture and values. You enjoy making an impact and shaping how your organisation works.
  • A curiosity towards new skills, new technologies and new ways of working.

Desirable skills & experience

We think that the following skills would definitely be valuable in this role:

  • 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.
  • Experience developing software in a Linux environment.
  • 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.
  • 6% employer pension contribution.
  • 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.

About Bright Ascension

We are a fast growing, innovative company changing the way that software is developed in the space industry. With customers across the world, ranging from universities and space agencies, to commercial organisations and start-ups, our core technologies enable our customers to develop and operate space-based systems and services faster, more cost effectively and more reliably.

Innovation is at the heart of what we do and it is our team which drives that innovation; this is reflected in our commitment to employee ownership, which gives all of us a voice, and a stake, in our current and future success. With offices in Dundee, Edinburgh and Bristol we now have more than 50 members of staff and plans to expand significantly over the next 12 months. We are at a very exciting time in our ambitious growth plans and have fantastic opportunities for talented individuals to join our team.

Our Values

We worked together to identify and shape the values that underpin everything we do, our actions, our vision and all things Bright Ascension.

Passion & Innovation

Enjoy what you do and have fun. Be curious and be fearless. Unconventional ideas and passion are the paths to true innovation.

Teamwork & Collaboration

Sharing knowledge helps the team thrive. Start a dialogue and win through teamwork. Success comes through collaboration and support.

Respect & Integrity

Recognise differences and accept opinions. Integrity, respect and high standards create unbreakable trust and builds reputation.

Full job specification Flight Software Engineer

Apply now

Make sure to include:

  • Copy of your CV
  • Covering letter
  • Contact details