Hi, I’m Scott Arthur.
I like to call myself a technologist because I love to solve problems with technology. I have a strong background in web and software development as well as infrastructure and systems administration.
I really enjoy talking to people about the problems they’re trying to solve and figuring out an iterative approach to solving them. Sometimes it requires a complex technology solution, but sometimes a simple, pragmatic solution is the answer.
I take pride in my ability to think about user-experience in everything I build, whether the end-user is a less technical person or a highly-skilled developer. I believe we all enjoy working with tools and systems that don’t contribute to cognitive overload and get out of our way as much as possible.
I’m a confident Ruby developer and it is the language that I’m most fluent in. I love Ruby’s expressiveness and the friendly nature of the community around the language.
While I’m most comfortable working with Ruby, I’ve also been working with Go since starting at IOOF. I really enjoy using Go for it’s simplicity and excellent toolchain. I firmly believe that learning Go has also made me a better Ruby developer as it’s helped me think about the potential for loosely-defined or undefined behaviour in dynamic code that can lead to subtle bugs.
I’m a strong believer in the effectiveness Test-Driven Development (TDD) to help inform the design of your code as well as providing assurances that the code is correct.
I’m a huge advocate of infrastructure automation and infrastructure as code. I’ve worked extensivley with Puppet, Ansible, and Terraform to automate infrastructure on-premise (VMware and bare-metal) as well as in the cloud (AWS).
While I don’t believe that the recently popularised term “GitOps” is defining a new concept, I do love that it succintly describes an approach to operating infrastructure and applications that is driven through source control. This is something I believe is extra important on top of core automation practices to ensure good audit-trails and promote declarative and idempotent changes.
I’ve been immersed in the use of Linux containers since I started using them in 2013 and have been a champion for their adoption at IOOF. We initially started working with Docker directly for our container platform, however I strongly advocated for our move to Kubernetes once it had reached a level of maturity and adoption that made sense for us.
I’m a confident Linux systems administrator and have worked with RHEL, Debian, and Ubuntu in production systems over the years.
While I’m most comfortable on Linux, I am no stranger to Windows and have worked with Windows Server automation in the years I’ve worked at IOOF.
DevOps, Agile, CI/CD
While DevOps, Agile and CI/CD can often be very overloaded terms these days, I still believe there are core principles within each of these areas that are very useful.
The strong feedback loops that are core to these ideas are critical to delivering software and systems reliably and efficiently.
The “people over process” part of the Agile manifesto and the “breaking down silos” idea from DevOps are concepts that resonate with me and really inform how I work.
2018-2021 — IOOF — Platform Infrastructure Team Lead
In 2018 I was given the opportunity to take over the leadership role for my team at IOOF.
During this time, I have continued to be involved in hands-on technical leadership within the team, while also developing my skills in team management, team roadmap planning, stakeholder communication, and vendor management.
Notable work that has been completed under my leadership includes:
- Migrating the core of our internal container platform to Kubernetes—deployed on-premise using Rancher.
This involved keeping the existing developer experience largely the same, while replacing the core of the platform. We developed some simple CRDs that helped deploy and operate our internal representation of an environment.
- Initial phase of increasing our AWS adoption in preparation on-boarding workloads that are part of the merger with MLC.
This involves building out a multi-account organisation structure with guard rails and best-practices to satisfy stringent compliance and security requirements while still providing as much autonomy to application teams to operate the environments in the way that works for them.
2014-2018 — IOOF — Infrastructure Programmer
During my initial 4 years at IOOF, I developed my skills in infrastructure automation and software delivery tools, while contributing to our team’s efforts to make it easy for software delivery teams to efficiently deliver their software for the business.
While I have been involved in all aspects of our team’s infrastructure automation work, I have given particular focus to our internal platform-as-a-service and the underlying Linux container ecosystem it is based on.
I was often in the de-facto technical lead position within the team, providing technical leadership, as well as mentoring less experienced members of the team.
2006-2014 — Self-Employed — Web Developer
I worked as a self-employed web developer for 8 years, building websites and web applications for small to medium sized businesses in New Zealand and Australia.
2002-2006 — Working In — Web Administrator
During my time at Working In, I was a member of the web team and was responsible for email newsletter development, coordinating work on our websites with our external web development company, and search engine optimisation of our website’s content.