In your role as a Software Engineer, you will be responsible for driving innovation and quality in software design throughout the full product develop..
In your role as a Software Engineer, you will be responsible for driving innovation and quality in software design throughout the full product development life cycle in our tightly integrated multidisciplinary teams. You will be instrumental in creating better products together with our clients, from concept through production, always applying our high-quality standards. As a key member of the team, you will share your experience and knowledge, as well as learn from your colleagues.
Key Responsibilities
Your key responsibilities will be:
• Collaborate with team members and clients to design and develop software solutions that meet user requirements.
• Research new technologies to include in software architecture/development processes.
• Code reviews, testing and debugging of software to ensure readability and adherence to Ingenuity’s Quality Management System (QMS).
• Debug, maintain and update firmware on embedded devices using C language.
• Design, develop and maintain Android Applications written in Kotlin and Java that interact with IoT devices using BLE, MQTT and RESTful APIs.
• Design, develop and maintain IoT server applications built with the Node.js framework using JavaScript/Typescript or AWS serverless architecture.
• Design, build and manage server infrastructure and databases.
• Document software design/architecture/flow
• Develop software verification protocols.
• Implement best practices for data and server security.
• Provide technical support and troubleshooting to clients.
• Assist the sales team by providing accurate software design development estimates for client proposals.
Minimum Criteria
In order to be considered for the role, applicants are required to meet the following minimum criteria:
• Be an Australian citizen, permanent resident or hold a working visa
• Hold a relevant degree from a reputable University (e.g. Bachelor of Software or Electrical Engineering, Bachelor of Computer Science)
• Have worked as a professional software engineer for 3 or more years
• Competent in ANSI-C/C++ coding
• Competent in the design of embedded systems, particularly ARM based micro-controllers
• Have hands-on development experience with iOS or Android using Swift, Java or Kotlin
• Have knowledge of cloud architecture, security, designing and consuming RESTful APIs, web development
• Have excellent English communication skills (both oral and written)
• Capable of working independently and as part of a team
Favourable Criteria
Applicants who meet the following criteria will also be considered favourably:
• Experience developing wireless products employing Cellular, Wi-Fi, Bluetooth, etc. communications interfaces
• Have experience with ISO 9001, ISO 13485 or IEC 62304
• Have specific expertise in the development of IoT systems and Home Automation
• Have past exposure to design consulting
About Us
We've created one of the largest multi-disciplinary product development consulting teams in Australia, and we're continuing to grow.
We provide comprehensive design services to leading Australian and international companies for a wide range of industries including consumer, commercial, industrial, automotive, bio-medical, mining applications and much more.
Our development team spans electronics, embedded, iOS, Android, Linux, web servers, industrial and mechanical design and more! We provide full turn-key service for our customers and a unique opportunity for creative, passionate, professional engineers to continue to develop their skills with us.
Location
Our Sydney office is located in the North Ryde technology area with convenient access by road and public transport.
We provide workplace flexibility by allowing staff to work from home for part of the week.