profile picture

Curriculum Vitae of Ryan Francis Kelly

I am a software engineer and occasional consultant. I live in the seaside town of Inverloch near Melbourne, Australia, where I work remotely as a Senior Staff Software Engineer for Mozilla.

The best way to contact me is by email; use ryan@ plus the domain of this website.

Professionally, I have worked as a software engineer for over a decade. I have substantial experience with Python, JavaScript, and Rust, but will confidently dabble in just about any language. I've worked at scale across the stack, from back-end services to webapps to native clients, and have even spent a few years in management. I've found that regardless of language or platform, nothing beats the satisfaction of working with good people to ship code that you're proud of, and watching it make a difference to your users.

Academically, I hold a PhD in Computer Science from the Intelligent Agents Laboratory at the University of Melbourne. My undergraduate studies were a double bachelor's degree in Engineering and Computer Science, which I was awarded with first class honours.

Personally, I enjoy public speaking, theatre and performance arts of any persuasion. I am a keen hiker and camper, even though it means being disconnected from the Internet for hours or even days at a time.

More details are available in the sections below:

Employment History

Software Engineer, Mozilla

September 2011 to Present

I currently work as a Senior Staff Software Engineer for Mozilla, where I take broad responsibility for the Firefox Accounts identity system and the client and server components that power Firefox Sync.

Highlights from my work over the years have included:

Keywords: Python, JavaScript, Node.js, Rust, Cloud Services, MySQL, System Architecture, OAuth, Security, Encryption, SDKs.

Director and Lead Developer, Cloud Matrix

July 2009 to December 2011

I co-founded and was lead developer at Cloud Matrix, a small Melbourne-based startup in the cloud storage space. We built "SaltDrive", an encrypted cloud-enabled USB stick. The SaltDrive technology stack was predominantly Python including PySide for the desktop client, Django and jQuery for the website, and some custom python code to interface with Amazon Web Services for file storage.

We built a working product, but did not achieve any noteworthy market traction.

Keywords: Python, Django, Native Apps, AWS, Encryption.

Freelance Developer and Consultant

November 2008 to September 2011

I have done occasional work as a freelance developer and software consultant. My past projects have involved developing Python-based desktop and online applications, and code maintenance and translation services for Prolog.

Keywords: Python, Django, Web Apps, Prolog.

Programmer, The Victorian Partnership for Advanced Computing

March 2004 to November 2008

After completing a Summer Internship with the Victorian Partnership for Advanced Computing, I undertook ongoing programming work on a casual basis. My roles ranged from developer to software architect, handling the design and development of software for engineering applications. Projects included a Python-based desktop application to support computer-aided design workflows, and a PHP-based project management portal used to coordinate research and development activities among several large organisations.

Keywords: Python, PHP, Native Apps, Web Apps, Computational Engineering.

Earlier Work

I also worked a variety of part-time roles while completing my academic studies; if you're interested you can read about them in my full profile on LinkedIn.


I have a PhD in Computer Science from the University of Melbourne, Department of Computer Science and Software Engineering. My thesis, entitled "Asynchronous Multi-Agent Reasoning in the Situation Calculus", as submitted in October 2008. The main outcomes of my research are summarized here.

Prior to this, I obtained a Bachelor of Engineering (Mechatronics) and a Bachelor of Computer Science from the University of Melbourne, graduating in 2005 with first-class honours.


I love to talk, present and discuss just about anything software-related, from new technologies and tools to the philosophy of API design. Some of my previous conference presentations include:


I co-authored the following publications as a result of my doctoral studies:

Personal Interests

I enjoy tech conferences in both a personal and professional capacity, and have volunteered on the managing committee for PyCon Au on several occasions. Most recently I served as PyCon Au Treasurer for the 2016 and 2017 conferences.

I love public speaking and the performing arts in general. As a younger man I had major roles in several amateur theatrical/musical productions; as a busy working parent I look forward to fitting such things into my schedule again one day in the future.

I am a keen hiker and keen-if-the-weather-looks-good camper, and enjoy regular outdoor escapes with family and friends, even if it means being disconnected from the Internet for days at a time. (Besides, have you seen all the tech gear you can get for camping these days?).