Senior Software Engineer, Embedded/Platform Software
Location
Loughborough, Leicestershire | United Kingdom
Job description
Ready to make connectivity from space universally accessible, secure and actionable? Then you’ve come to the right place!
E-Space is bridging Earth and space to enable hyper-scaled deployments of space-powered Internet of Things (IoT) solutions and services. We are fundamentally changing the design, economics, manufacturing, coverage limitations and service deliveryassociated with traditional satellite and terrestrial IoT systems.
By building a highly-advanced low Earth orbit (LEO) space system—with a unique antenna design, highly sustainable spacecraft system and low-cost, small portable end-user devices—we can extend global satellite coverage, capacity and connectivity beyond legacy space services to provide a new kind of IoT platform that lets users sense, track, connect and act on information gathered, anywhere.
We’re intentional, we’re unapologetically curious and we’re 100% committed to saving space, protecting our planet and turning connectivity into actionable intelligence.
What is the role:
The Senior Software Engineer will play a pivotal role in the Embedded/Platform Software department, focusing on the development of highly optimized software for novel Satellite deployments and control of small devices with multiple sensors. This individual will collaborate with a diverse team of embedded engineers, signal processing engineers, mobile app developers, and product designers to contribute to the enhancement and maintenance of existing firmware. The role involves preparing Board Support Packages, implementing Embedded Software in C/C++ and Python, and supporting ongoing and new design activities. The engineer will also engage in architecture specification, design verification, and automation test framework design, showcasing a commitment to high-quality software development.
What you will do: - Develop highly optimized software for embedded systems, with a focus on ARM Cortex M series processors and Linux, using programming languages such as C, C++, and Python.
- Contribute to board-level software development using Yocto and engage in hardware development and application software development activities.
- Interface with external sensors and devices, demonstrating a deep understanding of MCU architecture and familiarity with interfaces like UART, I2C, SPI, GPIO, and PCIe.
- Set up toolchains and utilize source control with Git, ensuring software development meets ISO 9000 standards.
- Collaborate in generating software requirements, developing specifications for software architecture, and contributing to the design verification and automation test framework design using Python.
- Provide customer support by producing source code and implementation-level documentation, solving issues, and offering pre and post-sale training and technical advice.
- Support software teams globally with embedded software development, mentor junior engineers, and actively participate as an integrated part of the platform software team during product development.
- Review requirements documents, understand and follow schematics and circuit diagrams, and provide consultancy to sales and project architecture during product conception and enhancement.
- Derive timescales for project delivery, manage day-to-day priorities, and demonstrate good communication skills with fluency in spoken and written English.
- Exhibit flexibility in context switching due to multiple concurrent projects with competing resource demands.
What you bring to this role: - Bachelor's Degree Level in Electronics, Software Engineering, or Communications.
- Minimum 4 years of experience in Embedded Software development.
- Proficiency in Embedded C/C++, Yocto, setting up toolchains, and board support package development.
- Experience in software architecture design, Linux development, and scripting workflows.
- Familiarity with NXP Codewarrior and processors (Layerscape Access).
- Deep understanding of MCU architecture
- Ability to write code from data sheets
- Experience with IDEs such as Eclipse, MPLAB, IAR, Mbed Studio, Atmel Studio, Keil
- Knowledge of scripting language such as Python, Ruby, Perl, BASH
- Experience with Linux kernel module development and Linux kernel driver development
- Experience with Buildroot
- Strong problem-solving skills, effective time management, and creative thinking in design.
- Excellent communication skills with the ability to collaborate with multiple global teams.
Bonus points: - Further tertiary education (Masters/PhD).
- Proficiency in Python, MATLAB, VHDL/Verilog programming, and FPGA/ASIC development.
- Expertise in embedded peripheral interfacing (UART/I2C/SPI/GPIO/PCIe).
- Understanding of offline storage, DDR, threading, and performance tuning.
- Experience with BLE for wireless communication.
We are doing exciting work with satellites, so candidates with and understanding or direct experience on LEO satellite component development, design and in-orbit activities will be viewed very positively.
Why E-Space is right for you:
We want you to make the most of your journey at E-Space. That’s why we support and invest in the physical, emotional and financial well-being of our team members and their families. Some of what you can expect when working at E-Space:
• An opportunity to really make a difference
• Sustainability at our core
• Fair and honest workplace
• Innovative thinking is encouraged
• Competitive salaries
• Continuous learning and development
• Health and wellness care options
• Financial solutions for the future
#J-18808-Ljbffr
Job tags
Salary