Software Developer

Updated: almost 2 years ago
Location: Adelaide, SOUTH AUSTRALIA
Job Type: FullTime
Deadline: 01 Jun 2022

Job no:509825
Work type:Fixed term - Full-time
Campus:Adelaide
Categories:Information and Communications Technology, HEO5


HE04/HE05 ($64,961 to $80983) per annum including an employer contribution of 17% superannuation may apply.

A higher salary may be able to be negotiated with the right candidate depending on level of on experience.

The University of Adelaide is looking to recruit a Software Developer/Engineer for a Fixed term appointment for 1.5 years (with the possibility of extension to 3 years).

The University of Adelaide is ranked in the top 1% of Universities worldwide with Adelaide ranked the third most liveable city in the world and the most liveable city in Australia in 2021.

This is a fantastic opportunity for a highly proficient programmer to join a world-leading research group in Computer Security and Machine Learning as well as being part of a Computer Science Department ranked 35th in the world. 

The successful candidate will be available to work on projects in building tools for automated software vulnerability discovery using machine learning and virtual machines.

You will work on a research program to address the problems in software-based full system emulation for large scale automated dynamic analysis of software.  The project aims to improve vulnerability detection in arbitrary binary targets where hardware-assisted instrumentation is unavailable/infeasible (e.g., embedded systems).

In this role you will work on developing and implementing high performance CPU emulators to support methods for fuzzing and automated software vulnerability discovery. You will have the options to support and/or purse one or more of the following:

  • Develop methods for improving performance of full system emulation software for largescale automated dynamic analysis of software binaries.
  • Implement virtualisation/emulation software in Rust/C/C++, assess and benchmark methods and system for fuzzing software binaries.

You will work with a team of researchers from the University of Adelaide’s School of Computer Science and the Australian Institute of Machine Learning, University of New South Wales, Deakin University, CSIRO’s Data61 and Defence Science and Technology Organisation (DSTG).

Our world-renowned researchers have established a culture of innovation and a strong track record of publication in the top venues, particularly in the area of machine learning, computer vision and security. We're committed to delivering fundamental and commercially oriented research that’s highly valued by our local and global communities. Here you’ll work in one of the world’s most talented and creative machine learning teams, with constant research–engineering collaboration. You’ll use state-of-the-art technology. And you’ll be based in the heart of one of the world’s top 10 most liveable cities.

This is an outstanding opportunity to advance your career in cyber security, software engineering, machine learning whilst exploring the area of system emulation for large scale, automated, dynamic analysis of software with three world-class institutions in a world-leading environment.

To be successful you will need:

  • Experience and demonstrable expert knowledge in ONE or MORE of the following areas:
    • Programming in Rust/C/C++ and familiarity/good understanding of Linux kernel(s) and operating systems.
    • Just in time (JIT) compilation or compiler optimisations.
    • Computer architectures (understanding of how instruction are executed in various computer architectures such as Intel x86, microcontrollers, ARM).
    • Performance profiling (e.g.  perf, x86 performance counters, dtrace, eBPF) and in debugging (e.g. gdb, rr).
    • Experience working with (such as QEMU) or building CPU emulators/virtual machines/hypervisors/hardware virtualisation
    • Fuzzing and automated software testing.
    • Debugging (e.g. gdb, rr) and triaging software bugs.
    • Decompilation tools and triaging software bugs.
  • Undergraduate qualifications in Computer Science, Software Engineering or related areas and/or an equivalent combination of relevant experience and/or education/training.
  • High level written and verbal communication skills including the ability to produce software artefacts and write technical reports.
  • Demonstrated ability to meet objectives, multitask and follow instructions, in a fast paced work environment. 
  • Commitment to the principles of equity, diversity and inclusion

Enjoy an outstanding career environment

The University of Adelaide is a uniquely rewarding workplace. The size, breadth and quality of our education and research programs - including significant industry, government and community collaborations - offers you vast scope and opportunity for a long, fulfilling career.

It also enables us to attract high-calibre people in all facets of our operations, ensuring you will be surrounded by talented colleagues, many world-leading. Our work's cutting-edge nature - not just in your own area, but across virtually the full spectrum of human endeavour - provides a constant source of inspiration.

Our culture is one that welcomes all and embraces diversity consistent with our Staff Values and Behaviour Framework and our Values of integrity, respect, collegiality, excellence and discovery. We firmly believe that our people are our most valuable asset, so we work to grow and diversify the skills, knowledge and capability of all our staff. Learn more at: https://www.adelaide.edu.au/hr/ua/media/5268/staff-values-and-behaviour-framework_0.pdf

We embrace flexibility as a key principle to allow our people to manage the changing demands of work, personal and family life. Flexible working arrangements are on offer for all roles at the University.

In addition, we offer a wide range of attractive staff benefits. These include: salary packaging; flexible work arrangements; high-quality professional development programs and activities; and an on-campus health clinic, gym and other fitness facilities.

Learn more at: adelaide.edu.au/jobs

Your faculty's broader role

The Faculty of Sciences, Engineering and Technology is a multidisciplinary hub of cutting-edge teaching and research. Many of its academic staff are world leaders in their fields and graduates are highly regarded by employers. The Faculty actively partners with innovative industries to solve problems of global significance. 

Learn more at:  set.adelaide.edu.au

If you have the talent, we'll give you the opportunity. Together, let's make history.

Click on the ‘Apply Now’ button to be taken through to the online application form. Please ensure you submit a cover letter, resume, and upload a document that includes your responses to all of the selection criteria for the position as contained in the position description or selection criteria document.

Click on the 'Apply Now' button to be taken through to our online application form. Please ensure you address and upload your responses to all of the selection criteria. Applications close 11:55pm, 25 May 2022.

For further information

For a confidential discussion regarding this position, contact:

Associate Professor Damith Ranasinghe
School of Computer Science
P: +61 (8) 8313 0066
E: [email protected]

You'll find a full position description below: (If no links appear, try viewing on another device)

The University of Adelaide is an Equal Employment Opportunity employer. Women and Aboriginal and Torres Strait Islander people who meet the requirements of this position are strongly encouraged to apply.

Download the Position Description Apply now



Similar Positions