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.
Sole Proprietor · ATLauncher
2012 - Present- • Developing backend and frontend code leveraging Laravel as well as development of a Java application utilised by end users.
- • I also develop, bring up and maintain all of the backend servers and infrastructure which is a mix of AWS and raw VPS servers. All infrastructure and deployments are done using Infrastructure as Code using both Terraform and Ansible. All services are deployed as Docker containers which are built with CI/CD and deployed with Ansible using blue/green.
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
HTML/CSS
- • Developing front end web applications using HTML and CSS.
PHP
- • Developing full stack web applications using PHP and the Laravel framework.
Java
- • Developing desktop applications and backend services using Java and Kotlin.
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.
Databases
- • Working with both SQL and NoSQL databases.
Testing
- • Writing unit, integration, and end-to-end tests.
AI
- • Working with AI to develop and maintain applications.
- • Using AI api service such as OpenAI and OpenRouter to interact with LLMs.
Version Control
- • Working with Git for version control and collaboration.
Agile/Scrum
- • Working in agile environments with Scrum methodology.
Other Tools
- • Miscellaneous tools and technologies I've worked with.
Let's Work Together
Have a project in mind or want to discuss potential opportunities? I'd love to hear from you!