Business Unit:
Cubic Defense
Company Details:
When you join Cubic, you become part of a company that creates and delivers technology solutions in transportation to make people’s lives easier by simplifying their daily journeys, and defense capabilities to help promote mission success and safety for those who serve their nation.
Led by our talented teams around the world, Cubic is committed to solving global issues through innovation and service to our customers and partners.
We have a top-tier portfolio of businesses, including Cubic Transportation Systems (CTS) and Cubic Defense (CD).
Explore more on Cubic.
com.
Job Details:
Job Details:
Job Summary:
The successful candidate will be the lead developer of a small, embedded software team.
The role is initially technically focussed, but we are looking for a candidate who seeks career progression and has the potential to grow into a management role in the future.
The role sits within the DTECH area of Cubic’s Defence business.
It involves designing embedded software for new products (e.
g.
microcontroller firmware), as well as maintaining software for the existing devices.
The role will suit a self-starting individual with experience debugging low level issues through software and hardware analysis.
The development will largely be in C and C++, but experience with other languages would be beneficial.
The role requires close coordination with the electrical and systems engineering teams to ensure the software is robust and effective.
Essential Job Duties And Responsibilities
Design, develop and test high-quality software
Capture and review functional requirements and translate into a clear design, prototyping as required
Integrate and troubleshoot firmware on a target platform in the lab environment using hardware analysis tools
Utilise software development best practices to ensure code is well structured, unit tested and easy to maintain
Work within an agile team to ensure minimum viable product development and seek early feedback from stake holders
Able to lead projects, estimate task timescales and clearly report on their status
Participate in design and development reviews across the wider team, including less familiar areas
Able to work collaboratively and contribute constructively to team meetings and design discussions
Contribute new ideas and tools for continuous improvement of the team development practices
Provide mentorship to junior engineers
Education and Qualifications
Four-year college degree in computer engineering or other related technical discipline, plus a minimum of five years of related experience or a master’s degree with at least three years of related experience.
Skills Knowledge and Experience
Essential:
Strong C/C++ experience
Comprehensive understanding of embedded systems, including hardware-software interactions, real-time constraints, and low-level programming concepts
Experience debugging in an embedded environment, using both software and hardware tools e.
g.
experience using oscilloscopes
Experience using Unix commands and Linux based operating systems
Able to analyse and solve complex software engineering problems
Experience writing unit tests and using unit test frameworks
Desirable:
Experience with tools & applications such as JIRA, Confluence and Git
Experience with FPGA Hardware Description Language (HDL)
Personal Qualities
A driven and self-starting individual, with a desire to write quality, effective software
Good analytical skills, with a passion for finding simple solutions to complex problems
Able to prioritize work and complete tasks to a deadline
Good communication skills and ability to clearly convey complex ideas
The description provided above is not intended to be an exhaustive list of all job duties, responsibilities and requirements.
Duties, responsibilities and requirements may change over time and according to business need.
#LI-Hybrid
#LI-JM1
Worker Type:
Employee
Worker Type:
Employee