profile picture

Curriculum Vitae of Ryan Francis Kelly

I am a software engineer and occasional consultant. I live in the seaside town of Inverloch, on Bunurong Country near Melbourne, Australia. I currently work remotely as a Senior Software Engineer at harrison.ai.

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 Rust, Python, and JavaScript, 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

Head of Software Engineering, harrison.ai

September 2022 to Present

I currently work as Head of Software Engineering at harrison.ai, a hybrid technical- and people-management role supporting the development of MLOps systems for healthcare ventures.

Keywords: Rust, Python, AWS, Serverless.

Software Engineer, harrison.ai

October 2021 to September 2022

I joined the harrison.ai Data Engineering team as a Senior Software Engineer, working to index and process de-identified medical data to make it available for AI model training.

Keywords: Rust, Python, AWS, Serverless.

Software Engineer, Mozilla

September 2011 to August 2021

I spent almost a decade as a Software Engineer at Mozilla, reaching the level of "Senior Staff" and taking broad responsibility for the Firefox Accounts identity system and the client and server components that powered Firefox Sync.

Highlights from my work over the years 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.


Education

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.


Presentations

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:


Publications

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?).