Skip to content

Instantly share code, notes, and snippets.

@bendog
Last active November 26, 2023 02:23
Show Gist options
  • Save bendog/8a5b56c1b4efb7a3f0656a5410efe8b1 to your computer and use it in GitHub Desktop.
Save bendog/8a5b56c1b4efb7a3f0656a5410efe8b1 to your computer and use it in GitHub Desktop.
Ben Fitzhardinge Resume

Ben Fitzhardinge

[email protected]

Personal Statement

I'm passionate about elegant systems, whether these are for software solutions, managing people, documenting complex problems, or for helping people connect and become more productive.
I believe all systems should help and not hinder the users.

I'm a firm believer in iterative design and Agile methodologies, however in true agile form, I believe the best methodologies should be more like principles. Principles which we can borrow from when it makes sense, not laws which must be obeyed. However when presented with a problem I will always suggest we work towards a minimum viable product, get it out in the hands of the intended audience, and then get the feedback required to make it what it needs to become.

I believe that open-source is good for everyone, businesses large to small, and the community; but understand there are many situations where it may not be the best approach.

I volunteer a lot of my time to mentoring and assisting the developer community. Whether that be through organising and presenting talks at local tech meetup events, or through my work on improving gender diversity in the dev space though mentoring with DjangoGirls and SheCodes Australia. I very much enjoy sharing knowledge and experiences with those around me.

Employment History

Principal Supply Chain Applications WAIO Decision Support [January 2021 - Current]

BHP

Responsibilities

  • Managing multiple complex distributed systems for monitoring real time events on mine sites
  • Managing teams of developers, both co-located and offshore, their work loads and priorities
  • Keeping systems secure and sustainable
  • Engaging with customers to understand requirements for new features
  • Communicating to the business the progress and status of the systems
  • Engaging with other teams to coordinate multi-system changes
  • Steering standards, practices, and processes
  • Helping project teams with technical and organisational decision making, to reduce ongoing cost of operation.

Achievements

  • Magnet real-time big-data monitoring solution migration to AWS, saving $700k in annual licencing fees
  • Project Tiger - Developer profile: worked on improving the developer experience on BHP desktop environments
  • DevHub Cloud Migration - managed the migration of critical apps from BHP DevHub to BHP Cloud Factory
  • Founding of Code @ BHP and Python developer chats

Senior Python Developer [February 2020 - December 2020]

BHP (contract)

Responsibilities

  • Senior/Lead developer on the Crew Rostering project
  • Senior Developer on the Covid Tracer project API

Achievements

  • Rewriting the Covid Tracer API to use asynchronous data writes, which resulted in a 20x performance improvement
  • Hardening the Covid Tracer API to handle work loads of over a million simultaneous users
  • Getting the Covid Tracer API ready under high pressure and exceptionally short deadlines
  • Winning the CTO Award
  • Transitioning Crew Rostering from VM (ec2) based infrastructure to container (ecs + fargate) based infrastructure.
  • Refactoring the Crew Rostering codebase to function inside a docker container
  • Maintaining the React-Timeline-9000 opensource project for BHP

Technical Consultant [November 2019 - August 2020]

Alcolizer Technologies (adhoc contract)

Responsibilities

  • Designing and implementing a REST api solution for integrating the Alcoconnect cloud platoform with end-customer HR SaaS solutions.
  • Balancing the needs of the integration partner with the sustainability of the API
  • Build the API solution
  • Create the Azure cloud based infrastructure to support the system
  • Iterate over the process as customer feedback was gathered

Achievements

  • Implimenting an aync python rest framework using FastAPI
  • Building a docker based service for hosting the API, as the existing server was unable to handle a modern python framework
  • Building a pub-sub queue based messaging broker using Azure
  • Taking the company through their first cloud based deployment

Technical Lead [June 2017 - October 2019]

AusVet Pty Ltd

Responsibilities

  • Working with project teams to deliver technical solutions to support collection and processing of data required for epidemiological analysis
  • Manage external and internal team requirements to facilitate project outcomes
  • Managing and mentoring developers
  • Support and improve the sustainability, reliability and efficiency of existing systems
  • Evaluate threats to existing systems
  • Develop strategic policies for implementing technical solutions across the company

Achievements

  • Creating, implementing and enforcing a code management policy
  • Transitioning the business from project to product based management for development work
  • Implementing code review processes
  • Redesigning and rebuilding monolithic virtual machine solutions to a micro-service architecture using AWS Lambda
  • Implementing event and error tracking with Sentry.io
  • Introducing Multi-Tier Architecture to the organisation, most importantly moving logical processes out of the data layer
  • Introducing decoupled front-end and back-end systems to the organisation
  • Introducing, implementing and management of Infrastructure as Code for all new deployments
  • Introduced and implemented the use of containers for deployment to replace bespoke deployment environments being created by hand
  • Introduced and implemented Continuous Deployment pipelines, removing manual deployment requirements from developers
  • Strategic evaluation of existing technical stack, with a focus on user-need vs technical requirements
  • Strategic evaluation of front-end technologies
  • Strategic evaluation of REST vs GraphQL back-end technologies

Solution Architect [September 2014 - June 2017]

CH2 (Clifford Hallam Healthcare)

Responsibilities

  • Meeting with clients
  • Assisting to win contracts through technical capabilities
  • Working with partner companies to design elegant solutions to their complex problems/workflows
  • Moving to a product life cycle design for websites and services
  • Strategic planning and resource management for evolving legacy technology to a unified platform / customer experience
  • Managing and training developers

Achievements

  • Implementing Agile project management methodologies into a waterfall centric company
  • Designing and building a centralised integration platform
  • Introducing and implementing RESTful API interfaces to the business
  • Introducing and implementing Micro-Service Architecture concepts
  • Implemented Python/Django web application frameworks
  • Designed, Developed and Deployed the Royal Hobart and Cabrini Vendor Managed Inventory systems

Lead Developer [June 2010 - November 2013 (contract) - June 2017]

CH2 (Clifford Hallam Healthcare)

Responsibilities

  • Managing development on multiple web applications
  • Managing deployment on windows and linux (ubuntu) environments
  • Manage, Optimize and Design databases on MySQL MS SQL and Postgres

Achievements

  • Took a stalled e-commerce project and single handedly got it into production in two weeks
  • took an e-commerce platform with an expected business profile of 3% of orders and built it to over 20% ($5 million / day) of all orders with next to no budget.
  • Introduced SCM to the company
  • Introduced Git-flow release and branch management methodology
  • Evolved vanilla PHP website, to use MVC(MVT) methodology

Senior Web / Integrations Developer [September 2009 - August 2011 (contract)]

Windsormail / GoodsGalaxy

Responsibilities

  • Design, Develop and Maintain integrations systems between legacy management and inventory systems and Magento based e-commerce platform
  • Implement, Modify, Manage and Deploy Magento Ecommerce platform

Achievements

  • Implement and Manage a Product content management system, Python/Django based
  • Systems I implemented needed so little support that my services were no longer required

Network and Systems Administrator / Consultant [January 2009 - April 2010]

Group Support

Responsibilities

  • Independently manage client list
  • Provide all IT support client businesses require
  • Implement and maintain, client Private-WAN and LAN networks
  • Implement and maintain servers and workstations

Achievements

  • Designed and Developed a software licensing micro-service (python/sockets/raw http)
  • Implement staff task automation platform (python/django)

Senior EDI Developer [November 2007 - January 2009]

Cottman Australia / CH2 (Clifford Hallam Healthcare)

Responsibilities

  • Building and maintaining interfaces between a legacy MFG Pro ERP system and B2B partners
  • Building and maintaining customer ordering / sign-up customer portals
  • Assisting in the transition from MFG Pro to JD Edwards ERP

Achievements

  • Building enough automated tasks that I was no longer needed as an employee

Technical Experience

Python 15+ years

Python is my language of choice. I believe that the greatest cost to software projects is developer time, and choosing a language that focuses on readability is the most effective way to reduce onboarding and debugging.

Django 10+ years

Having deployed django applications before wsgi existed, it's amazing to see how far this framework has grown and yet how stable the core feature set is. Django is my go to for proof of concept work, and has allowed me to produce fully functional demonstrations at the end of hackathons, rather than just conceptual page layouts.

Django Rest Framework 10+ years

I started using django rest framework to connect to jQuery and later React front ends to produce responsive web apps for online ordering in the health sector when working for CH2.

Django + Graphene (Graphql) 5+ years

I introduced graphql to Ausvet as a tool for allowing frontend systems to explore data without needing constant backend adjustment.

Python Micro-frameworks (FastAPI, Flask, Hug, Zappa, etc) 5+ years

Sometimes problems don't require a full framework, there are a number of really useful python tools for creating micro-services and quickly deploying them.

AWS 5+ years

One of the big attractions for working with Ausvet were their use of AWS as a hosting service. When i started the systems were all very heavily reliant on EC2 and monolithic in nature. A significant part of my work for Ausvet was around re-architecting these solutions to be more cloud-native, moving to Serverless Lambda functions, SQS queuing, Docker+ECS+Fargate for hosting, Xray and CloudWatch for logging and monitoring.

Terraform 3+ years

Terraform is a much more readable infrastructure-as-code toolkit, I introduced this to automate system deployments for projects while at Ausvet.

Linux, DevOps and Bash automation

I've been working with linux since 2000, running Debian at home since 2002, then later moving to Ubuntu. These skills have become popular with the rise of the cloud and DevOps. Automating tasks with Bash for deployment was a significant part of my role at Ausvet.

Javascript and React

I've introduced React to a number of companies now, however I also turned down an offer to teach it, I'm not a JS developer, and whilst I can write JS quite well, I wouldn't consider it to be one of my core competencies.

PHP

I've worked heavily with PHP since 1999, however I no longer enjoy working with it.

Databases

I prefer Postgres, but i've had over a decade of experience with MySQL, MS SQL Server, and others. More recently working with NoSQL database alternatives like DynamoDB. I've even been heavily involved in a simple database replacement python package for micro-services using AWS S3 as the data layer.

Education

Murdoch University WA 1998-2003

BMultimedia (Internet Programming)

Aquinas College

Class of 1997

Personal Interests / Volunteering

Royal Perth Yacht Club - General Committee [2023 - current]

I was elected at the 2023 AGM to become a member of the General Committee (board) of RPYC. In this role I provide governance and oversight of the running of the club for the members. I was heavily involved in the 2023/24 club management software refresh and migration to the cloud.

PythonWA - Lead organiser [2023 - current] / Assistant organiser [2018 - 2023]

I took over management of the PythonWA community group at the start of 2023. We run regular meetups 11 times per year. In the first year I rebuilt the website and supporting applications to reduce cost 95%. I also negotiated a new sponsor to come onboard and provide food and refreshments for our meetups. I instigated a new multi-talk policy with a focus on beginner friendly content. Within the first year we have grown the monthly turnout from 20-30 to 60-80 people attending per month.

SheCodes Australia - Python Mentor [2018 - current]

She Codes is on a mission to to teach women coding skills, get women into technical careers, and build communities of like-minded women. Our vision is to increase diversity in tech by inspiring 100,000 women across Australia by 2025.

During my time at SheCodes, I have amoung other things been the Lead Mentor for their week long Flash programes, rewritten the Python tutorial, set up the hosting service and automation for the static-hosted turotial site, and been a critical mentor of the six-month SheCodes Plus course.

As a result of my work with SheCodes I was nominated twice for the 2021 Women in Technology WA (WITWA) Tech+ Award for Ally of the year.

I was awarded the 2022 WITWA Tech+ Award for Ally of the year.

Django Girls Melbourne - Mentor [2016 - current]

Django Girls is a non-profit organisation and a community that empowers and helps women to organize free, one-day programming workshops by providing tools, resources and support. We are a volunteer run organisation with hundreds of people contributing to bring more amazing women into the world of technology. We are making technology more approachable by creating resources designed with empathy.

Sailing

Member Royal Perth Yacht Club [2013 - Present]
Member Royal Yacht Club of Victoria [2016 - 2017]

Music / DJing

I've been playing music around Australia for the better part of the last two decades, with a number of interstate invitations to play festivals.

The best thing we've experienced since arriving in australia
- Suggs of Madness

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment