Software Engineer
Role details
Job location
Tech stack
Job description
The Software Engineer will play a key role in designing, developing, and delivering robust software solutions that support the organisation's technical goals. Working within a multidisciplinary engineering team, this role contributes to the entire software development lifecycle-from requirements analysis and architecture design through to implementation, testing, and deployment.
The Software Engineer reports to the Head of Avionic Engineering.
Personal Traits:
In line with Modini's Culture and Values, you should demonstrate:
Ruthless commitment to delivery. Demonstrates an unwavering dedication to delivering exceptional results and prioritises efficiency, quality, and timely execution in everything they do.
Right people, right team. Cultivates an environment where innovation thrives and challenges are met with confidence while promotes a culture that is rooted in collaboration, mutual respect, and a shared vision for excellence.
Innovation driven through challenge. Encourages bold thinking and fearless experimentation, promoting a culture of confronting challenges head-on to drive progress and achieve remarkable outcomes.
Act fast, stay agile. Fostering a culture of responsiveness and flexibility, where speed and agility are key drivers of our success.
Responsibilities:
- Design, develop, and maintain high-quality software and firmware applications and services.
- Translate requirements into efficient, scalable, and secure software designs.
- Collaborate with cross-functional teams to define technical specifications and system behaviour.
- Conduct code reviews, support testing activities, and troubleshoot software defects.
- Develop and maintain documentation, including technical specifications, architecture diagrams, and user manuals.
- Participate in system integration activities and ensure software components operate seamlessly within wider system architectures.
- Conduct code reviews and provide constructive feedback to team members, ensuring adherence to coding standards and best practices.
- Debug and resolve complex software issues, working closely with the team to identify and implement effective solutions.
- Stay updated on the latest advancements and emerging technologies in the field of UAVs and drones, and incorporate them into the software development process.
- Monitor project progress, identify risks, and propose mitigation strategies to ensure timely delivery of high-quality software solutions.
- Collaborate with the product management team to define software requirements, prioritize features, and contribute to the overall product roadmap.
- Act as a technical leader and mentor, fostering a collaborative and innovative team culture.
- Communicate challenges with leadership.
- Adherence to DO-178B/C Guidelines.
Requirements
Do you have a valid Driving License license?, Do you have experience in UNIX?, Do you have a Bachelor's degree?, * Proficient in all elements of flight controller coding, specifically using Ardupilot and PX4.
- Understand flight dynamics and system functionality of the typical autopilot.
- Experience with PID Controllers and tuning methods.
- Strong coding skills in languages such as C++, Python, and MATLAB.
- Real Time Operating Systems (RTOS) experience.
- Proficient in using UNIX based OS.
- Familiar with DroneCAN communication protocol.
- Familiar with source-code control systems such as Git to co-ordinate development.
- Experience in designing both analog and digital electronics.
- Signal conditioning - experience in designing analogue and digital FIR/IIR filters.
- ARM architecture experience.
- Experience with debugging embedded systems, using tools such as the oscilloscope, logic analyser, and multi-meter.
- Knowledge of modern software development practices, standards, and commonly used communication systems, interfaces, and protocols such as SPI, I2C, async serial, RS232, RS485, CAN, HDMI, TCP/IP.
- Read and understand hardware schematics and datasheets. Evaluate new hardware devices and designs, analyse design issues, and identify solutions.
- Ability to work using own initiative with no supervision on all technical aspects of your discipline.
- University Degree or above (Engineering, etc) or HND with relatable experience.
- Knowledge of CE requirements for electronic products.
- Good knowledge of appropriate project management processes and frameworks.
- Effective use of Microsoft Office Software Suite: PowerPoint, Word, Outlook and Excel (minimum).
- Right to work in the UK.
- Must be a UK National
Desirable Attributes:
- Experience in rapid development, prototyping, or early-stage system design.
- Familiarity with model-based engineering, simulation tools, or embedded software environments.
- Knowledge of cloud platforms, containerisation, or distributed systems.
- Understanding of DevOps practices, automation, and configuration management tools.
- Full UK driving licence (if relevant).
- Previous experience in an aerospace, military, or high-performance engineering environment.
Benefits & conditions
Pulled from the full job description
- Flexitime
- Company pension
- Private medical insurance
- Company events
- On-site parking, * Company events
- Company pension
- Flexitime
- On-site parking
- Private medical insurance