Description
The Ultra Engineering function manages a portfolio of specialist capabilities, generating highly differentiated solutions and products by applying electronic, mechanical, and software technologies in demanding and critical environments to meet customer needs.The Software Engineering function in Ultra supports the software development lifecycle consisting of requirements analysis, design, implementation, test and verification in order to deliversoftware components into projects and products and supports the deployment and maintenance of software components.A professional at this grade possesses knowledge for specific fields and performs structured work assignments. Uses established procedures to solve problems by making judgments and gets work done with quality under moderate supervision. Has limited discretion to vary from established procedures.
Primary Duties
The role will encompass the design and development of a web-based control and monitoring dashboard application for an antenna terminal system. The successful candidate will be involved in the full design life cycle of new products including the generation of specifications, project planning, design, proto-typing, verification and thorough regression testing of pre-production units, as a backend & frontend developer. The candidate should have expertise in the following areas:
* Development of the GUI and the bare-bone architecture with the use of off-the-shelf components in combination with customized software modules/classes.
* Design, implementation and review of well-structured, scalable, and testable UI code according to requirements and architecture/UX design.
* Strong experience and understanding of industry standard web accessibility, web design & usability; to support sites cross browser/platform/device.
* Design, implementation, integration and verification of software applications and tools under Linux and Windows OS.
* SNMP Agent/Manager Development / Integration.
* Asynchronous communications (RS232/485, I2C, SPI / CAN etc.)
* Design of robust APIs to support mobile and desktop clients.
* Management and optimisation of scalable distributed systems
* Knowledge of back-end languages (e.g., C/C++, .Net, C#, Blazor, Java, Python) and JavaScript/TypeScript frameworks (e.g. React, KnockoutJS, BackboneJS, D3.js Node.js, Vue.js), Docker, and Kubernetes.
* Knowledge of multiple front-end languages and libraries (e.g., HTML5/ CSS3, JavaScript, TypeScript, JSON, XML, jQuery).
* Integration of user-facing elements developed by front-end developers with server-side logic.
* Design and implementation of low-latency, high-availability, multithreaded, multi-process, networked application.
* User authentication and authorization between multiple systems, servers, and environments.
* Product development experience.
* Project Planning and Specification Documentation, Software Architecture.
Preferred experience
* Knowledge of communication systems design.
* Understanding of various communication protocols including RS-232, I2C, CAN, SPI, USB, TCP and UDP over IP.
* Familiarity with databases (e.g. MySQL, MongoDB), web servers (e.g. Apache) and UI/UX design.
*
Key personal attributes required:
* Strong project management skills
* Good communications skills
* Scientific and thorough approach to design
* Team Player
* Creative
* Willingness to travel if required.
Qualifications
* Degree in Engineering based subject
Notice
Due to the nature of the programs we deliver for our customers, candidates may need to obtain the relevant security clearance or handle export-controlled material as defined by the role's requirements.
Diversity, Equity & Inclusion Statement
At Ultra I&C, we are an equal opportunity employer and value diversity and inclusivity. Underpinned by our values, behaviours, and policies, we want you to feel empowered to be the best version of yourself. We also believe that people from different backgrounds and cultures will increase our diversity of thinking, ensuring we successfully deliver to our customers.