Senior Software Engineer ( C/C++, Security/Cryptography) (BBBH1565) Sydney CBD, Sydney, Australia
Salary: | Super |
Senior Software Engineer (C/C++, Objective C, Deployment, Unit Testing, Security/Cryptography)
Cyber Security (Must be eligable for clearance)
$140k - 170k + Super
Inner City Location
Description
Develop and maintain low-level systems, in constrained and complicated multi-architecture and multi-platform environments. These systems often require secure network communications, messaging, and data transport solutions. They also often feature automation and host/client based analysis, logic and decision making.
Responsibilities
Design, develop, test, deploy, maintain and improve software
Manage individual project priorities, deadlines and deliverables
Take an active role in cross-team projects as required
Cultivate and share knowledge of system, security, and application development best practises
Contribute to the development and maintenance of user guides and system documentation
Install software products and provide training for end users as required
Liaise with network administrators, systems analysts, programmers, and other software engineers to resolve any defects in products or company systems
Train, manage and provide guidance to junior software development staff
Skills/Experience
Highly competent at programming in one or more ‘mainstream’ languages, preferably C/C++, Objective C.
System-level development experience, across platforms.
A deep understanding of operating system internals and principles, such as synchronisation mechanisms and inter-process communication.
Experience of comprehensive unit testing, using CUnit style tests
Experience in using source control systems as part of a small team contributing to a rapidly changing code base
Broad knowledge of networking protocols and technologies
Knowledge of virtualisation technologies
Knowledge of security related software functionality
Familiarity and application of modern cryptographic techniques and technologies
It would be advantageous to be able to demonstrate some of the following:
Knowledge of assembly
A broad understanding of mobile and desktop operating system APIs
Knowledge or an appreciation for OS security features like DEP and ASLR
Experience of kernel level programming and/or device driver development
Experience with reverse engineering and debugging; particularly kernel level