Enable job alerts via email!

Senior Embedded Software Engineer II

Rocket Lab

Milton Keynes

On-site

GBP 60,000 - 100,000

Full time

30+ days ago

Job summary

An innovative firm is seeking a skilled software engineer to develop cutting-edge communication systems for aerospace applications. This role involves designing and implementing software for embedded devices, ensuring high reliability and performance. The ideal candidate will have extensive experience in C/C++ programming, embedded systems design, and real-time operating systems. Join a dynamic team where your contributions will directly impact the future of satellite and UAV technology. If you're passionate about hands-on development and thrive in a collaborative environment, this opportunity is perfect for you.

Qualifications

  • 6+ years of industry experience in software development.
  • Excellent knowledge of real-time system coding techniques.

Responsibilities

  • Designing and implementing software for embedded devices and systems.
  • Supporting software quality assurance and optimizing I/O performance.

Skills

C Programming
C++ Programming
Embedded Systems Design
API Design
Real-time Operating Systems
Software Testing
Software Project Management
Communication Skills

Education

Bachelor of Science in Computer Science
Master of Science in Electrical Engineering

Tools

Software Configuration Management Tools
Defect Tracking Tools
Job description
At CesiumAstro, we are developers and pioneers of out-of-the-box communication systems for satellites, UAVs, launch vehicles, and other space and airborne platforms. We take pride in our dynamic and cross-functional work environment, which allows us to learn, develop, and engage across our organization. If you are looking for hands-on, interactive, and autonomous work, CesiumAstro is the place for you. We are actively seeking passionate, collaborative, energetic, and forward-thinking individuals to join our team.
In this position, you will be responsible for low-level and high-level software in Cesium’s products through all phases of the development process. Key projects will include Linux-based single-board computers and high-reliability microcontroller systems. Cesium’s goal is to create an out-of-the-box hardware and software experience which enhances our customers’ ability to rapidly integrate our products into their systems.
As a Cesium software team member, you will be responsible for software designs from concept through production, including product roadmaps, block diagrams, detailed design and coding, analysis, test, qualification, and in-orbit support. The ideal candidate will have development experience at nearly every level of the software stack, including microcontrollers, low-level drivers, board support packages (BSP), end-use applications, and user interfaces. Additionally, the ideal candidate will have experience in software testing and high-reliability qualification, as well as software engineering and software project management practices.
The successful candidate will present engineering design review materials to our customers and executive team, as well as participate in proposal-writing efforts. As such, excellent written and verbal communication skills are required.
JOB DUTIES AND RESPONSIBILITIES
  • Designing and implementing software for embedded devices and systems, from requirements to production and commercial deployment.
  • Designing, developing, coding, testing, debugging, and documenting system software.
  • Reviewing code and system designs.
  • Analyzing code for efficiency, stability, and scalability.
  • Integrating and validating new product designs.
  • Supporting software quality assurance and optimizing I/O performance.
  • Providing post-production/in-orbit customer support.
  • Interfacing with hardware design and development engineers.
  • Assessing third-party and open-source software.
JOB REQUIREMENTS AND MINIMUM QUALIFICATIONS
  • A Bachelor of Science (BS) or Master of Science (MS) degree in Computer Science, Electrical Engineering, or Computer Engineering.
  • 6+ years of industry experience in software development.
  • Experience in hands-on development and troubleshooting of embedded hardware. API design for interfacing with FPGAs.
  • Experience with products for aerospace applications.
  • Programming experience in C or C++.
  • Experience in embedded systems design with preemptive, multitasking real-time operating systems (experience with real-time Linux is desirable).
  • Familiarity with software configuration management tools, defect tracking tools, and peer review.
  • Excellent knowledge of real-time system coding techniques, IP protocols, interfaces, and hardware subsystems.
  • Excellent understanding of multi-threaded applications and resource management.
  • Excellent written and verbal communication skills.
PREFERRED EXPERIENCE
  • Adequate knowledge of reading electronics schematics and component data sheets.
  • Experience with ARM processors and fully-featured microcontrollers.
  • Experience in the design and development of a Software Development Kit (SDK).
CesiumAstro considers several factors when extending an offer, including but not limited to, the role and associated responsibilities, a candidate’s work experience, education/training, and key skills.
Please note: CesiumAstro does not accept unsolicited resumes from contract agencies or search firms. Any unsolicited resumes submitted to our website or to CesiumAstro team members not through our approved vendor list or Talent Acquisition will be considered property of CesiumAstro, and we will not be obligated to pay any referral fees.
Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.