Embedded Systems Developer Job
We are seeking a seasoned software engineer to join our team.
* Develop and implement software solutions in line with project plans and defined software development process.
* Contribute to software documentation, including architectures, design documentation, requirements, etc.
* Design and implement unit and integration test plans, and perform manual testing.
* Participate in code reviews and contribute to software artefacts.
* Stay up-to-date with development tools and processes used on assigned projects.
Key Responsibilities:
* Design and implement complex software systems for embedded devices.
* Collaborate with cross-functional teams to deliver high-quality solutions.
* Analyse technical problems and propose effective solutions.
* Optimize system performance and efficiency.
* Maintain and improve existing software systems.
Requirements:
* Bachelor's degree in engineering within one of the following disciplines: Electronics engineering, Mechatronics engineering, Computer Science or Software Engineering.
* Citizenship of Australia.
* Demonstrated experience with C++ (17 or greater).
* Embedded device experience, such as STM32 etc.
* Hard-real time/ISR handling and device drivers for time critical applications.
* Familiarity with standard interfaces and devices such as DACs, ADCs, etc.
* GoogleTest & GoogleMock.
* Cross compilation on Windows or Linux hosts.
* Advantageous Docker.
* Python, Python/C++ Interoperability.
* Virtualised development environments.
About the Ideal Candidate:
* A system expert who has worked on diverse projects with embedded systems.
As an Embedded Systems Developer, you will work closely with cross-functional teams to deliver high-quality solutions. Your expertise in software development, particularly with C++, will enable us to create innovative products that meet our customers' needs. If you are passionate about technology, enjoy collaborating with others, and thrive in fast-paced environments, this might be the perfect opportunity for you.
This role offers opportunities for professional growth and development, collaboration with experienced professionals, and the chance to work on cutting-edge projects. You will have the opportunity to develop your skills and knowledge in software development, embedded systems, and related technologies. Additionally, you will be part of a dynamic team that is committed to delivering high-quality solutions and exceeding customer expectations.
You will have the flexibility to work independently and collaboratively, depending on the needs of the project. You will also have access to a range of resources and tools to support your work, including advanced software development tools, virtualized development environments, and collaborative platforms.