Please note: I’m not open to job offers at the moment, as I’m quite happy at SixPivot. Always available to chat though—please feel free to reach out via LinkedIn. My About me page gives a different perspective too, for better or worse :-D
I am an elder millennial, with an IT career spanning an incredible 17 years. I started as a helpdesk manager, and then I was the IT manager for a small financial services company based in Rockhampton, Queensland, for seven years. I then spent almost three years as a consultant software developer in Brisbane, working with a wide range of clients on a variety of projects. These experiences brought about a love of working and communicating with people—clients, co-workers, and other developers—which has turned into a strong interest in technical and project leadership, mentoring and coaching, and building psychologically safe environments for my teams. The last six years I have been working in increasingly senior leadership roles while still maintaining a strong technical background.
Scoped and planned a major project to be undertaken by one of my teams over the following 6 months, involving working with multiple stakeholders and different teams and business units across the organisation. The project is part of a larger WooCommerce-wide project that will provide a dedicated, seamless SaaS product using WooCommerce and other extensions and business partners, which will directly compete with other SaaS eCommerce providers. This also involved higher level discussions with product directors, senior management, and other engineering directors and team leads, to help define the scope and deliverables, and to discover technical boundaries and issues. Worked with my team with the scope to develop high level estimates and a rough timeline, which were shared with the overall project team.
Designed and developed a data-driven rules engine and spec polling system within WooCommerce, which enabled merchant’s WooCommerce sites to remotely poll
woocommerce.com for a feed containing notification specifications. These specifications are then run on the merchant’s site to dynamically create in-app notifications based on rules that are applied to the merchant’s sit. For example, a complex condition might be satisfied based on age of store, number of products, or monthly gross income.
The rules engine was designed so that it could be extended with new rules as required, and it has been extended and used by multiple teams across WooCommerce. The rules engine and polling system were later genericised and reused to create a system for dynamically deciding which extensions to promote within the merchant’s in-app extension store. The notifications spec feed, which was originally a static JSON file that had to be updated by hand, was taken on by another team, who built a web-based administration tool that allows the feed to be generated dynamically out of a database. This is now used by less technical marketing staff to create notification specifications for their own marketing campaigns, etc.
Transitioned and expanded a “traditional” server-side Ruby on Rails digital news site to a hybrid SPA-based architecture, with considerable use of React and a RoR-based REST API. This avoided having to rewrite any of the existing site while allowing the development of new features, with a pleasant and fast user experience, including dynamic filtering of articles, social engagement, commenting, and advanced subscription management.
Designed the architecture and performed early POC development of a system that integrated BTLE beacons with a mobile app and a server, which recieves and processes BTLE proximity events. The system can execute different actions such as sending an email, triggering an app notification, or calling a web hook, based on a dynamic set of configurable rules which are run through a rules engine. Led the team through further development of the system, to the point where it was working successfully in an alpha test environment using real beacons and a basic POC React Native phone app.
Unfortunately, the company was wound up at this point, stopping further development.
Rearchitected and led the team through the reimplementation of a complex data replication system, using a combination of a CouchDb cluster, .NET Windows services, and PouchDB on the React Native phone/tablet client app. Previously replication could take several days because of the original design, however we managed to get it down to 1-2 hours by optimising the data structures and filtering the replication to clients by using a view within CouchDB. Also managed the ongoing development, maintenance, and support of the product, and successfully handed the product and system over to the single customer when they purchased it from us.