Ryan Dowling

I'm a full stack software engineer in Melbourne, Australia, working with the latest technologies in both the front end and back end space as well as exploring and enjoying the AI space.

Work Experience

Software Engineer · Sportsbet

September 2020 - Present
  • Coming from BetEasy during a merger of the 2 parent companies.
  • Working within the services layer, working on backend applications written in TypeScript and deployed using GitHub Actions and Serverless Framework to AWS ECS and Lambdas with blue/green deployment patterns utilising infrastructure as code.
  • Working on maintaining and creating new producer/consumer services utilising Kotlin, Spring Boot and Kafka.
  • Improving performance of some services by 10x by utilising caching and optimising our code.
  • Worked on revamping our native apps front end performance framework and reporting by moving to standardised graphing with Grafana and InfluxDB and moving physical machines running our suite of performance tests to AWS.
  • Also responsible for delivering features for both the web and React Native iOS application using a single codebase comprised of TypeScript, React and Redux.
  • Developing backend and frontend code leveraging Laravel as well as development of a Java application utilised by end users.
  • Currently developing a new platform and application using Electron, React, Redux, TypeScript and NodeJS as a complete rewrite and rearchitecture of the old systems for a more modern look and feel.
  • I also develop, bring up and maintain all of the backend servers and infrastructure which is a mix of AWS and DigitalOcean servers. All infrastructure and deployments are done using Infrastructure as Code using both Terraform and Ansible. Also included is a few Docker containers which are built with CI/CD and deployed to a Kubernetes cluster.

Senior Software Engineer · BetEasy

February 2016 - September 2020
  • Full stack engineer (front end expertise). Working with React, Backbone and Laravel on a combination of maintaining legacy code, creating new modular code as well as creating new standalone projects and managing the infrastructure, CI/CD and deployment of those projects in AWS. Using GIT to develop on multiple repositories with multiple other engineers as well as utilising Jenkins to build and deploy code to various environments.
  • During my time at BetEasy I've lead the charge on getting our team up to standard by creating, maintaining and developing a style guide as well as linting procedures to ensure consistency between all engineers. I've also taken the lead on making sure our build infrastrucute is fast, reliable and doesn't slow down other engineers from commit to production.
  • During the companies acquisition of William Hill (a competitor), I played a pivotal role in the migration of customers around the experience that users saw on mobile and web during the migration phase, as well as making sure that all our web assets were rebranded with the new company name and colours.
  • I also was one of the lead engineers on a project to convert our existing legacy backbone and PHP website towards a more modern React single page application. During this project I worked within a team whose goal was to convert all legacy pages to the new modern SPA. This included uplifting Backbone and jQuery components up to modern React with Redux and CSS module components.

Skills & Expertise

JavaScript/TypeScript

  • Developing full stack applications, desktop clients, cli utilities and NPM packages using JavaScript and TypeScript.
  • Developing native application written in TypeScript with React Native.
  • Developing full stack applications using various frameworks and libraries such as Next.js, Vite, Prisma, Drizzle and Apollo GraphQL
React Redux Redux Saga React Native Babel Electron ESLint Express Fastify Apollo GraphQL KoaJS NestJS Next.js Prisma Drizzle Webpack

HTML/CSS

  • Developing front end web applications using HTML and CSS.
CSS CSS Grid Flexbox HTML Tailwind CSS

PHP

  • Developing full stack web applications using PHP and the Laravel framework.
Composer Guzzle Laravel PHPUnit Symfony

Java

  • Developing desktop applications and backend services using Java and Kotlin.
Gradle Kotlin Spring Boot JUnit Maven

Infrastructure

  • Managing and deploying infrastructure using Infrastructure as Code.
  • Setting up CI/CD pipelines for automated testing and deployment.
  • Containerizing applications with Docker and managing container orchestration with Kubernetes.
  • Working with Cloudflare and Wrangler to deploy full stack applications.
Ansible AWS Docker Kubernetes Terraform Cloudflare Workers Wrangler

Databases

  • Working with both SQL and NoSQL databases.
MongoDB MySQL PostgreSQL Redis SQLite

Testing

  • Writing unit, integration, and end-to-end tests.
Cypress Jest Mocha PHPUnit Puppeteer React Testing Library

AI

  • Working with AI to develop and maintain applications.
  • Using AI api service such as OpenAI and OpenRouter to interact with LLMs.
OpenAI OpenRouter LLM Windsurf Cursor GitHub Copilot

Version Control

  • Working with Git for version control and collaboration.
Git GitHub GitLab Bitbucket

Agile/Scrum

  • Working in agile environments with Scrum methodology.
Agile Jira Scrum Trello

Other Tools

  • Miscellaneous tools and technologies I've worked with.
Bash ESLint Figma Jenkins Linux MacOS Nginx Node.js npm PNPM Prettier Sketch Vagrant Webpack Windows Yarn

Let's Work Together

Have a project in mind or want to discuss potential opportunities? I'd love to hear from you!