As a member of the Sailthru leadership group, I have the pleasure of leading two cross-functional teams of polyglot engineers who build, ship and maintain a high-performance Marketing and Messaging Solution used by global brands with reach in the billions. In addition to partnering on DevRel and strategy with the leadership group, I create effective relationships and technical cohesion across a large grop reports and team members, spanning US central, US east, India, New Zealand and Manilla. I also run a Functional Programming Guild to spread understanding of the virtues of functional programming styles.
Promoted to Head of Technology, following a year as Head of Product in which I grew the teaching team and programme. Architected a Cloud-based data-driven solution using Security by Design, setting boundaries for an emergent architecture with consultation from the team. Developed project plan and costing encorporating Finops practices. Kick-off for a new team.
Supporting Learner onboarding and off-boarding automation. Created new CD pipelines with Terraform Cloud and Okta to provision base-line identity platform.
Implemented Mobile Device Management and designed intersection with Ansible and other config management tools. Leading a junior in using Terraform providers for provisioning.
Assumed responsibility for our techology support function of the business using Jira Serice Desk and a daily fixed capacity
As a remote Head of Product I helped create a professional environment where I hired and grew a team of commercially experienced engineers from industry to shape learners into the people we'd want to hire. I was directly involved in the hiring process and helped grow a team with impressive commercial track-records; including authors and conference speakers. I led the technically orientated Product Team and its design of a software development programme which was representative of the full-stack needs of industry, engineering approaches and commercial context.
My reports scaled from 4 to 12 during my time in this role. Over this period we have grown into one of the fastest scaling private training institutions. I have encouraged a T-Shaped mindset and XP like practices. Ran org-wide session to help align varied interpretations of remote-working. Guided use of terraform for provisioning.
Through a secondment with our sister company, I also provided professional consulting to a large national utility company. I have designed and delivered an 8 module Agile introduction to senior management, analysts, developers and architects. Successfully helped engage a large client contract through early phase discovery work resulting in the onboarding of a team of Associate Developers.
Led my team of Technical Leads in initial automation of reporting and adding intentionality to tools used. Implemented use of Terraform for provisioning of AWS learner accounts. I helped instill Lean practices, backlog visibility with Jira and Kanban workflows to help visualise work during early scaling phases.
Using DevEx focussed tools like AWS Copilot, I designed and delivered a LeanUX, Kanban and AWS centric Agile and DevOps programme. Also delivered and refactored a Server-Side Course based on BFF, Express, Auth0 and Mongo.
One-to-ones and pairing with team members in various context. Delivered a talk at nz.js 2021 conference on the value of a teaching competency and growing junior developers. The talk was targeted at Technical Leads, Senior Engineers and Coaches: Turning Around Lives Through Teaching.
DevOps and Testing consulting, implementation, delivery, teaching and talks. I joined Assurity immediately before lockdown and then was able to immediately start sharing my experience in remote working and facilitation.
Coded, tested and consulted on-site at NZQA helping a team begin strangling a JEE monolith to use Spring Cloud-Function (Lambda) Microservices which were documented and tested using Specification by Example. Developed an internal abstraction and guide its journey to BDD/SBE using the open source framework, Concordion. Regularly consulted with Nigel Charman (the primary maintainer), with whom I co-delivered a talk on Concordian. Partnered with Analysts and stake-holders to create self-validating documentation (in the business language).
I contributed to pre-sales activities through delivering DevOps lunch and learn talks for an embedded software provider and was involved in marketing targetted product offerings. Delivered a remote Containerisation Workshop with Allen Greer for Dunedin Techweek's Agile Stream on behalf of the Agile Alliance NZ.
Developed patterns for remote teaching and created a Remote Foundations of DevOps course inline with the ICAgile syllabus. Provided remote Java Testing coaching for a team of test engineering consultants tasked with automating a Salesforce integration. Took an idea from fruition and organised a remote conference with international speakers on remote working challenges; raising funds for New Zealand foodbank.
I highlighted Conway's Law to a goverment agency's CTO; illustrating how team structure is reflected in architecture. This led to delivering an overview of Team Topologies to their technical leadership teams. Championed Team Topologies in other settings, inviting the author to speak to an audience.
Contracted to help New Zealand's Transport Agency on its path to adopting Agile and DevOps; also doubling up as a Scrum Master. Worked across two teams adopting Agile practices and helped provide context around a struggling vendor engagement. Partnered and coached tester in test-automation and use of mocks. Partnered in a team reset after a project collapse. Helped teams define a testing strategy, spike through uncertainty, collaborate with external partners and work through an Azure DevOps migration. Also supported program and project leads in lean principles, facilitating road-mapping and producing an example framework based on lean ux, kanban, DevOps and team topology principles. Interviewed to build an internal team. Mentored a scrum master and a junior.
Contracted as a professor by title, I have developed my ability to explain technical concepts by building a teaching aptitude. I created technically heavy undergraduate classes for a French accredited online university. In partnership with Learning Specialists and learner-feedback I have built online courses with working code, using (and teaching) TDD and modern JVM development practices.
I designed and developed deep courses on Java Testing, Java Debugging, Java Concurrency and Building REST API's with Spring Data. I also provided contracted consultations to support other professors teaching Spring related courses. I have partnered with OpenClassrooms on their syllabus for a Master's Program in Architecture and produced industry-based projects using real code and other artefacts to simulate reality.
I return to the UK in 2018 and contracted at MPorium as a hands-on Technical and Agile Coach on an AWS/Java/Scala/Python/Js Stack. During my time there, I supported an 8-person development team experiencing the growing pains of a scaling start-up in the data intelligence domain. Leading by example, I spent half my time developing and delivering ad optimisation stories on an AWS/Spark/Storm/Springboot/Angular/OIDC stack.
In my capacity as a coach, I ran test strategy workshops, business/technical risk elicitation sessions, domain modelling events, Scala/Spark/Storm mob programming tutorials and Clean Code brown-bag lunches. Attempting to create a safe-to-fail culture of continuous improvement, I also ran 5-whys sessions.
I supported Product Owners and developers in working with the broader organisation to start using hypothesis driven development and specification by example. I also developed Agile Fundamentals training for the teams, to address confusion over Agile ceremonies which were technically biased.
MPorium's new CTO partnered with me on rebooting the teams and defining team level working agreements and backlogs before a new Sprint Zero.
Actively led and coached teams across BNZ's partner commercial online banking platform. During my time at BNZ I placed my focus on several teams which were cutting new ground by building public API's outside of its long-standing monolith. Using techniques such as DDD and domain modelling, pair programming, continuous delivery and containerisation I supported several teams in launching microservices containerised on OpenShift.
As a member of a broader architecture, technical leadership and API governance teams I also helped provide governance and review of proposed OpenAPI specifications and strategic technical pivots.
I also conducted retrospectives for mobile teams which were struggling with legacy architectural decisions. I supported adoption of security championship and participated in security training.
Attended Security Championship and Apigee Training whilst there.
A hands on technical lead supporting multiple teams and products on JVM/OSGI/AWS/js stacks.
This role at New Zealand's most popular domestic website balanced departmental leadership, Domain Ownership, Agile technical coaching across multiple teams, Lean architecture, hands on development and mentoring. I served my teams in delivering Content Navigation features using AI and NLP, editorial video capabilities and a new reactive frontend.
My teams were the first to achieve continuous delivery using TDD, BDD, Mob Programming, DDD and Trunk Based Development. I coached a culture of ownership with a "build it, ship it, own it"-mentality.
As part of the leadership team I helped create an empowered culture with team self-selection and alignment with business goals. I encouraged a safe-to-fail culture of experimentation, using hypothesis driven development and captured architectural and organisational experiments using a Technology radar.
I moved to New Zealand to work with Catalyst as a Solutions Architect and eventually took on the role of Scrum Master and Agile Lead on one of the country's largest projects for Government. I worked with the Cabinet Secretary, as my product owner, with whom I served a team of 30+ BA's, testers and developers, in modernising New Zealand's policy making process. Through leading by example on agile development practices, such as BDD/TDD/pair programming, I developed and architected the integration of New Zealand's largest telecommunications provider with Spotify's partner API using microservice and DevOps patterns to continuously deliver features. I also worked for Stuff, New Zealand's largest site, and performed DevOps and Development duties on their high-performance site. This included using node.js to migrate data between two very large CMS's.
Short contract returning to the BBC to build business-critical Java microservices in a timely manner. Reverse engineered and migrated a legacy set of Perl microservices to Spring and asynchronous Camel pipelines using intermediary queues. Optimised and automated release process to support near-continuous delivery. Defined business acceptance criteria using BDD workshops.
Contract where I designed and delivered subsystems for NTT's enterprise cloud solution. Co-architected and led initiatives to integrate single sign-on, automation testing and large OVA upload and bootstrapping. Stood in for Architects on request.
On contract at the BBC, I led performance optimisations of one of the UK's most performant services, supporting iPlayer. Visualised platform metrics and built versioned Rest API's for serving high-performance data. Paired on talk with Katherine Kirk at QCon 2012 on this team's agile journey.
Helped architect and scale a major job board. Performance optimisation of search and began migration to Spring.
Designed and built high-performance ETL services to consume and publish market reference and timeseries data. Designed and implemented reactive credit spread software.
Short contract integrating a CMDB with CISCO VoIP hardware. Included automation testing using C#. Extended queing system using C.
Implemented performant data-intensive applications and middleware for traders and internal systems. Created domain language in XML. Appointed to intra-department Architectural Governance committee.
Implemented perfomant data-intensive applications and middleware for front office traders and internal consumers.
Developer number 4 and the first commit. Refactored original code to be more OO and normalised Database.
Worked as both a SysAdmin and Software Engineer, building and maintaining brand-name sites on bespoke projects.
Cutting my teeth in the commercial world building statistical interactive TV and web applications.
I am a homeschooling dad who is fascinated by the sciences as well as futurism. I practice amateur astronomy in the night and love to go on coastal jogs during the day. My other life-long passion is music: I love listening to it as well as playing both the guitar and ukulele.
I enjoy writing engineering culture articles for InfoQ and regularly attending and contributing to conferences and meetups. Most notably, I gave a talk on different patterns of pair and mob programming at JSConNZ and a well-received talk starting at 30' on combating technical debt at QCon London. In recent years I've helped co-organise DevOpsDaysNZ which has brought me immense personal satisfaction.
I just wanted to thank you for this stellar work, it's a real pleasure to work with you and to benefit from your (seemingly endless) experience!
Something nice about Raf.