<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://dirksonline.net/cvwiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DirksWikiAdmin</id>
	<title>Vincents CV Wiki - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://dirksonline.net/cvwiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DirksWikiAdmin"/>
	<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php/Special:Contributions/DirksWikiAdmin"/>
	<updated>2026-04-17T12:01:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1399</id>
		<title>Curriculum Vitae - Vincent Dirks</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1399"/>
		<updated>2024-08-27T21:51:10Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
| Vincent Dirks&lt;br /&gt;
|-&lt;br /&gt;
! e-mail&lt;br /&gt;
| [mailto:vincent@dirksonline.net?Subject=Enquiry%20from%20CV%20Wiki vincent@dirksonline.net] &lt;br /&gt;
|-&lt;br /&gt;
! Mob&lt;br /&gt;
| 021-0269-6216&lt;br /&gt;
|-&lt;br /&gt;
! LinkedIn&lt;br /&gt;
| [https://nz.linkedin.com/in/vincent-dirks-937aa557 nz.linkedin.com]&lt;br /&gt;
|-&lt;br /&gt;
! Location&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Parau Parau], West Auckland&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! Download&lt;br /&gt;
| [https://dirksonline.net/CV/2024%20Curriculum%20Vitae%20-%20Vincent%20Dirks%20-%202%20Page%20-%2028-Aug-2024.pdf Curriculum Vitae (2 pages)]&amp;lt;br/&amp;gt;[https://dirksonline.net/CV/2024%20Curriculum%20Vitae%20-%20Vincent%20Dirks%20-%20Long%20Form%20-%2028-Aug-2024.pdf Curriculum Vitae (Long Form)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vincent Dirks - [[What's in a title?|Software Quality Engineer]] ==&lt;br /&gt;
As a versatile Software Quality Engineer, I aim to understand the nuances of the product, team dynamics, technological landscapes, and organisational structures so that I can adapt and contribute effectively. I specialise in adapting to diverse contexts, and look beyond traditional testing methodologies to consider the design of the whole quality ecosystem necessary for delivering quality software solutions efficiently.&lt;br /&gt;
&lt;br /&gt;
== [[Skills]] ==&lt;br /&gt;
=== [[Skills#Testing|Testing Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Context Driven Testing&lt;br /&gt;
* API Testing&lt;br /&gt;
* Testing Native Mobile Apps&lt;br /&gt;
* Testing Web Apps &lt;br /&gt;
* Testing Firmware/Embedded systems&lt;br /&gt;
* Data Privacy&lt;br /&gt;
| &lt;br /&gt;
* Testability &amp;amp; Observability Concepts&lt;br /&gt;
* Exploratory Testing (Session &amp;amp; Thread Based)&lt;br /&gt;
* Visual Modelling&lt;br /&gt;
* Metrics Driven Development (A/B Testing)&lt;br /&gt;
* Accessibility Testing&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== [[Skills#Automation &amp;amp; Programming|Programming and Automation Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#JavaScript|JavaScript]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Java|Java]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Other Automation &amp;amp; Programming|Other]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Node.js, npm&lt;br /&gt;
* Express.js&lt;br /&gt;
* React&lt;br /&gt;
* Jest&lt;br /&gt;
* Cypress.io&lt;br /&gt;
* Webdriver.io&lt;br /&gt;
|&lt;br /&gt;
* [https://maven.apache.org/ Maven], [https://junit.org/ JUnit], [https://testng.org/ TestNG]&lt;br /&gt;
* [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD])&lt;br /&gt;
* [https://rest-assured.io/ REST-assured]&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs)&lt;br /&gt;
* [https://wave.tidalcode.dev/ Tidal. Wave]&lt;br /&gt;
|&lt;br /&gt;
* C#, Specflow (BDD)&lt;br /&gt;
* SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SSMS]&lt;br /&gt;
* Appium&lt;br /&gt;
* XCUITest&lt;br /&gt;
* GraphQL&lt;br /&gt;
* C++: Arduino, ESP32&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tools &amp;amp; Technologies Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [https://www.splunk.com/ Splunk]&lt;br /&gt;
* Postman, Newman&lt;br /&gt;
* VS Code, IntelliJ, Visual Studio&lt;br /&gt;
* Github, Bitbucket&lt;br /&gt;
* Docker, Linux&lt;br /&gt;
|&lt;br /&gt;
* [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
* Jenkins, Azure DevOps (TFS), Google Cloud Platform&lt;br /&gt;
* Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting&lt;br /&gt;
* [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence], [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale], [https://xmind.app/ XMind]&lt;br /&gt;
* [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Domain Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Banking and Finance Sector&lt;br /&gt;
* AML/CFT Sector&lt;br /&gt;
* Online Auction Platforms&lt;br /&gt;
* Vehicle Leasing systems&lt;br /&gt;
* Platform Engineering&lt;br /&gt;
* Staff Mentoring &amp;amp; Induction&lt;br /&gt;
| &lt;br /&gt;
* Agile (Scrum, Kanban, SAFe, Squad Master)&lt;br /&gt;
* Microservices Architecture&lt;br /&gt;
* Manufacturing Resource Planning - Logistics Manager&lt;br /&gt;
* Physics - Weather Radar Systems, Lasers, Fibre-optics&lt;br /&gt;
* Electrical &amp;amp; Electronic Engineering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Work Experience == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== [[Upskilling &amp;amp; Community Roles 2024]] (May-2024 - Current) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Playwright|Playwright]], Splunk, Docker, Node.js, Cloudlets, Wikimedia, &amp;lt;br/&amp;gt;Meetup Organising, IoT &amp;amp; ESP32 embedded programing&lt;br /&gt;
|}&lt;br /&gt;
: Whilst looking for work and updating my online CV Wiki, I’m also leading the efforts to bring back a regular schedule of events for the [https://www.meetup.com/Ministry-of-Testing-Auckland Ministry of Testing in Auckland]. I’m pursuing personal projects with Playwright, Splunk, Docker, Node.js to setup an online publicly accessible testing hub, initially for testing my CV Wiki through [https://cloudlets.com.au Cloudlets]. I’m also dabbling in some IoT with some embedded programming of an ESP32 to send data to Splunk, such as measuring temperature and humidity around my home.&lt;br /&gt;
&lt;br /&gt;
=== [[Water Services Reform, DIA - Senior Test Automation Engineer]] (Nov-2023 - Jan-2024) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#Maven|Maven]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#Tidal. Wave|Tidal. Wave]], [[Skills#IntelliJ|IntelliJ]], &amp;lt;br/&amp;gt;[[Skills#Web App Testing|Web App Testing]], [[Skills#Azure DevOps (TFS)|Azure DevOps]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting through [https://ttcglobal.com TTC Global]. Test Automation team, Three Waters Project, developing a UI Automation suite in Java using the [https://wave.tidalcode.dev/ Tidal. wave] Selenium automation library&lt;br /&gt;
&lt;br /&gt;
=== [[Westpac NZ - Senior Automation Quality Engineer]] (Apr-2021 - Nov-2023) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#API Testing|API's]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#Web App Testing|Web]], [[Skills#Observability Concepts|Observability]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Java|Java]], &amp;lt;br /&amp;gt;[[Skills#Cucumber (BDD)|Cucumber]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#JavaScript|JavaScript]], [[Skills#React|React]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#Linux|Linux]], [[Skills#Docker|Docker]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], &amp;lt;br /&amp;gt;[[Skills#Jira, Confluence|Jira, Confluence, Zephyr]], [[Skills#Splunk|Splunk]], [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins, Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Served as a roving Automation Quality Engineer, addressing testing and automation needs across multiple teams. Conducted testing and automation for mobile apps (Appium &amp;amp; XCUITest), a D365 web UI (Java, Selenium, POM's), and various APIs (Java, REST Assured). Also contributed as a platform engineer supporting Splunk, and developed a React web app for visualising test environments (Node.js, React, mermaid.js).&lt;br /&gt;
&lt;br /&gt;
=== [[FirstAML - Test Analyst]] (Oct-2020 - Mar-2021) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman]], [[Skills#AML/CFT Sector|AML/CFT]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Data Privacy|Data Privacy]], [[Skills#GraphQL|GraphQL]], AWS&lt;br /&gt;
|}&lt;br /&gt;
: Served as a quality coach for a startup company developing a ReactJS Web App for the AML/CFT (Anti-Money Laundering/Countering Financing of Terrorism) sector.&lt;br /&gt;
&lt;br /&gt;
=== [[Weather Radar NZ limited - Weather Radar Systems Engineer]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Physics - Weather Radar Systems, Lasers, Fibre-optics|Weather Radar Systems]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], &amp;lt;br /&amp;gt;[[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Testing]], [[Skills#C++, Arduino, ESP32|Arduino]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 4 days/week. Retrofitting legacy weather radars with embedded Arduino micro controllers. Designing new electronics, PCB's, maintaining power waveguide systems, and performing signal analysis.&lt;br /&gt;
&lt;br /&gt;
=== [[Grappler- Agile Quality Analyst]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman, Newman]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Google Cloud Platform]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 1 day/week. Developed a small solution to run a Postman collection in Google Cloud Platform and a simple Web UI (Node.js, Express.js) to trigger test runs and display HTML test reports.&lt;br /&gt;
&lt;br /&gt;
=== [[Fiserv Auckland - Intermediate Software Test Engineer]] (Jan-2017 - Apr-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#Programming &amp;amp; Automation|Automation]], [[Skills#API Testing|API Testing]], [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#Splunk|Splunk]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jira, Confluence|Jira, Confluence]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Native Mobile App functional and accessibility testing. API testing and automation, using Postman/Newman, Specflow with C#, JavaScript (Postman, Node.js, Express.js), Splunk for dashboards, TFS &amp;amp; Powershell for System deployment automation. Created the Postman Testrunner Framework (PTF) for automated API integration checks and environment health monitoring.&lt;br /&gt;
&lt;br /&gt;
=== [[Trade Me - Senior Software Test Analyst]] (Dec-2014 - Aug-2016) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Context Driven Testing|Context Driven Testing]], [[Skills#Exploratory Testing (Session &amp;amp; Thread Based)|Exploratory Testing]], [[Skills#Agile Squad Master|Agile]], [[Skills#Testability Concepts|Testability]], [[Skills#Accessibility Testing|Accessibility]], &amp;lt;br /&amp;gt;[[Skills#Observability Concepts|Observability]], [[Skills#Jira, Confluence|Jira, Confluence]], DB, [[Skills#Web App Testing|Web App]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#API Testing|API Testing]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#Splunk|Splunk]], [[Skills#SoapUI, ReadyAPI|ReadyAPI]], [[Skills#Metrics Driven Development (A/B Testing)|A/B Testing]], [[Skills#XMind|XMind]], [[Skills#Staff Mentoring &amp;amp; Induction|Onboarding]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]]&lt;br /&gt;
|}&lt;br /&gt;
: Context-driven exploratory testing for software changes to the iconic [https://www.trademe.co.nz/ Trade Me] website, focussing on the [https://www.trademe.co.nz/a/motors Motors] page &amp;amp; features. My responsibilities included testing DBs, UIs, APIs, and mobile apps, leading deployments, conducting test planning and peer reviews, utilising BDD and visual test tools. I gained experience with implementing agile methods, Splunk, ReadyAPI, XMind, Jira, and Confluence. I also enjoyed onboarding new staff and contributing to the test and agile guilds.&lt;br /&gt;
&lt;br /&gt;
=== [[Pre-2014 Roles]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing]], VB, [[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Dev &amp;amp; Test]], [[Skills#Manufacturing Resource Planning|MRP II]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], Logistics, Networking, [[Skills#Teaching &amp;amp; Tutoring|Training &amp;amp; Tutoring]], &amp;lt;br /&amp;gt;[[Skills#C++, Arduino, ESP32|C++]], Customer &amp;amp; Tech Support, Production Planning, Documentation, Specifications, Sales Forecasting&lt;br /&gt;
|}&lt;br /&gt;
: [[Pre-2014 Roles#LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014)|Software Tester]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)|Logistics Manager]], [[Pre-2014 Roles#Primary Caregiver (Sep-2003 - Jul-2005)|Caregiver]], [[Pre-2014 Roles#Bioengineering Institute - Software Engineer (Sep 2002 - Aug 2003)|Software Engineer]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)|Development &amp;amp; Support Engineer]], [[Pre-2014 Roles#Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)|Production Scheduler]], [[Pre-2014 Roles#University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time)|Physics Tutor]]&lt;br /&gt;
&lt;br /&gt;
== Related wiki pages ==&lt;br /&gt;
=== [[References_-_Full_List|References]] ===&lt;br /&gt;
:[[References_-_Full_List#Dept. of Internal Affairs (TTC)| TTC]], [[References_-_Full_List#Westpac| Westpac ]], [[References_-_Full_List#Fiserv| Fiserv ]], [[References_-_Full_List#| Trade Me Motors]]&lt;br /&gt;
&lt;br /&gt;
=== GitHub Profile ===&lt;br /&gt;
: [[My GitHub Projects]]&lt;br /&gt;
&lt;br /&gt;
=== [[Volunteering]] ===&lt;br /&gt;
: [https://www.neighbourly.co.nz/organisation/laingholm-district-citizens-association Laingholm &amp;amp; Districts Citizens Association], [[Ministry of Testing - Auckland Branch|Ministry of Testing]], Eastern Suburbs AFC, Glendowie Boating Club, MOTAT, Eastern Suburbs Montessori Primary School&lt;br /&gt;
&lt;br /&gt;
=== [[Professional Development]] ===&lt;br /&gt;
: Conferences, workshops, meetups etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Education]] ===&lt;br /&gt;
: University of Auckland: ME(Elec) 1993&lt;br /&gt;
&lt;br /&gt;
=== [[Presentations, Posts, and blogs]] ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==What I'm reading, watching, listening, learning, and trying out in 2024==&lt;br /&gt;
&lt;br /&gt;
===Learning===&lt;br /&gt;
* [https://www.udemy.com/course/playwright-from-zero-to-hero Udemy Playwright: Web Automation Testing From Zero to Hero]&lt;br /&gt;
: I'm going to try use this to test some of my CV Wiki site. &lt;br /&gt;
: See [[Udemy Playwright: Web Automation Testing From Zero to Hero|my notes]] as well as GitHub [https://github.com/VincentDirks/Playwright-Udemy-Course repo #1], and [https://github.com/VincentDirks/Playwright-Udemy-Course-2 repo #2]&lt;br /&gt;
&lt;br /&gt;
===My Personal [[Observability Project]]===&lt;br /&gt;
* [https://expressjs.com/en/starter/hello-world.html Express.js basic hello world] and my [https://github.com/VincentDirks/node.js-in-the-cloud node.js-in-the-cloud] repo&lt;br /&gt;
* [https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker Kubernetes vs. Docker] by Josh Campbell at Atlassian &amp;lt;br&amp;gt;&lt;br /&gt;
:I want to learn the difference between these technologies to see how it might apply to my [[Observability Project]]&lt;br /&gt;
&lt;br /&gt;
* Setting up Docker Desktop at home to run the [https://github.com/Splunk/docker-Splunk Docker Splunk Image]&lt;br /&gt;
&lt;br /&gt;
=== Test Community Events ===&lt;br /&gt;
* Attended [https://nztestingconf.nz/ NZTestingConf 2024] in Wellington. Presentations: &lt;br /&gt;
** Shay Naiki, QA Manager @ Alphero: Creating a collaborative culture in the testing world: lessons from life in a digital agency&lt;br /&gt;
** Nevetha Mani, Product Human @ Hectre: Off the beaten path: rethinking quality in the startup world&lt;br /&gt;
** Emma Procter &amp;amp; Jonathan Shirley, @ PikPok: Finding the fun: researching and playtesting games at PikPok&lt;br /&gt;
** Patricio Miner, Content Creator @ Free Range Testers: ETL: the testing niche you've never thought of&lt;br /&gt;
** Toby Martin, QA Practice Lead @ Pushpay: Stop automating, start investigating: a guide to slowing down to speed up &lt;br /&gt;
** Ryan Bevens, QA Community Manager @ Potentia: Diary of a reluctant recruiter: your value as a tester&lt;br /&gt;
&lt;br /&gt;
===Interesting Reads===&lt;br /&gt;
* '''[https://www.satisfice.com/download/a-context-driven-approach-to-automation-in-testing A Context Driven Approach to Automation in Testing]''' By James Bach and Michael Bolton&lt;br /&gt;
:Quote: ''&amp;quot;dynamically evaluating context and selecting, designing, or adjusting our actions to solve the problems that we encounter.&amp;quot;''&lt;br /&gt;
* '''[https://www.satisfice.com/blog/archives/4947 Round Earth Test Strategy]''' by James Bach&lt;br /&gt;
:Interesting alternative to the ''&amp;quot;Test Automation Pyramid&amp;quot;''. &lt;br /&gt;
:Quote: ''There are testing problems to consider at every level, &amp;quot;Quality above requires quality below&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
===[[Archive What I'm Reading, Watching, Listing, Learning, and Trying Out|Archive]]===&lt;br /&gt;
:Old pre-2024 entries&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1398</id>
		<title>Pre-2014 Roles</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1398"/>
		<updated>2024-08-27T03:21:58Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
== Pre-2014 Roles ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|Skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing]], MS-Access VB App Testing, &amp;lt;br /&amp;gt;AS-400 Testing, VB Automation Scripts&lt;br /&gt;
|}&lt;br /&gt;
:Full time testing contractor to the IS department, testing a variety of bespoke applications primarily for internal use.&lt;br /&gt;
&lt;br /&gt;
:* Complex quotation app for car leasing built in MS-Access &lt;br /&gt;
:* Online driver FBT data collection portal (UI, web security, data flows, emailing)&lt;br /&gt;
:* Legacy AS-400 system testing&lt;br /&gt;
:* Developed a test automation framework for AS-400 using VB&lt;br /&gt;
&lt;br /&gt;
:At LPNZ I was introduced to testing as a proper profession by my friend [https://www.linkedin.com/in/christinalinwood/ Christina Linwood]. &lt;br /&gt;
&lt;br /&gt;
:Attended the NZ Tester Magazine conference, and the Risk Based Testing Workshop by Matt Mansell, it was exhilarating to learn from people passionate about testing.&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2009 - Mar-2013) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two school age children, the house chores, and '''[[Volunteering]]''' for the community&lt;br /&gt;
&lt;br /&gt;
=== Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], [[Skills#Manufacturing Resource Planning|Manufacturing Resource Planning]], &amp;lt;br /&amp;gt;[[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], Staff Supervision, Continuous Improvement, &amp;lt;br /&amp;gt;Logistics, Mechanical Product Design, Networking (TCP-IP, RS-485, RS-232)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:* Managed end-to-end logistics and quality control for electronic hardware production and delivery, including procurement, packing, and global shipping.&lt;br /&gt;
:* Managed all aspects of sourcing sub-assemblies from third-party suppliers.&lt;br /&gt;
:* Supervised staff and casual workers, fostering a culture of customer service and product quality.&lt;br /&gt;
:* Continuously reviewed and optimised company procedures to enhance workflows and business information accuracy.&lt;br /&gt;
:* Implemented innovative solutions to improve production quality and efficiency.&lt;br /&gt;
:* Worked closely with mechanical &amp;amp; electronic engineers designing large cash receiving units (similar to ATM’s).&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2009MikeOgram.pdf 2009 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2003 - Jul-2005) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two young children and facilitating the renovations of our first home prior to selling and moving to larger home.&lt;br /&gt;
&lt;br /&gt;
=== University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Teaching &amp;amp; Tutoring|Teaching, Tutoring]]&lt;br /&gt;
|}&lt;br /&gt;
:BTech Opto-electronics lab coordinator &amp;amp; Dept of Maori &amp;amp; Pacific Island Health physics tutor&lt;br /&gt;
&lt;br /&gt;
=== Bioengineering Institute - Embedded Software Engineer (Sep 2002 - Aug 2003)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|PIC Embedded System Development &amp;amp; Testing]], &amp;lt;br /&amp;gt;Bluetooth Protocol, [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]],  [[Skills#C++, Arduino, ESP32|C++ Programming]]&lt;br /&gt;
|}&lt;br /&gt;
:Developed an embedded solution with Bluetooth protocol stack for data telemetry from devices implanted in rabbits used for medical research at the University of Auckland. &lt;br /&gt;
:* Bluetooth HCI commands&lt;br /&gt;
:* Protocol stack implemented in low resource PIC micro-controller&lt;br /&gt;
:* Code written in C++ and cross compiled for multiple device types&lt;br /&gt;
:* LabView integration&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2004SimonMalpas.pdf 2004 Simon Malpas]&lt;br /&gt;
&lt;br /&gt;
===Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Customer Support, [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], &amp;lt;br /&amp;gt;Release Management, Training, [[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], &amp;lt;br /&amp;gt;Networking (TCP-IP, RS-485, RS-232), Project Management&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Monitor Business Machines developed a cost management system (mainly tracking photocopying) through networked (RS232/RS485/TCP-IP) electronic swipe card terminals. &lt;br /&gt;
&lt;br /&gt;
:My roles and responsibilities covered &lt;br /&gt;
:* Global customer support lead&lt;br /&gt;
:* Development and Testing of Hardware, embedded firmware, and software&lt;br /&gt;
:* Release Management&lt;br /&gt;
:* Global training &lt;br /&gt;
:* Project Manager to develop a casino premium player loyalty program (Terminal &amp;amp; infrastructure hardware and software) for Burswood Casino (Perth)&lt;br /&gt;
:* Built a performance test lab for automated testing of firmware and software updates&lt;br /&gt;
:* Built numerous test jigs for testing &amp;amp; diagnosing various hardware items&lt;br /&gt;
:* CE Mark &amp;amp; RoHS compliance Testing&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2001MikeOgram.pdf 2001 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
===Short Term Contracts (1996 - 1997)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Production Planning, Documentation, &amp;lt;br /&amp;gt;Technical Support&lt;br /&gt;
|}&lt;br /&gt;
:* Cerebos Greggs – Production Planner &amp;amp; documentation&lt;br /&gt;
:* Auckland City Council – Ph PABX maintenance &amp;amp; support&lt;br /&gt;
&lt;br /&gt;
=== Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Production Planning, Documentation, Specifications &amp;lt;br /&amp;gt;Technical Support, Sales Forecasting, VB Automation, AS-400&lt;br /&gt;
|}&lt;br /&gt;
:* Production scheduling (MRPII) of diapers and facial tissues&lt;br /&gt;
:* Sales forecasting&lt;br /&gt;
:* Product specifications&lt;br /&gt;
:* Continuous improvement projects&lt;br /&gt;
:* Developed a VB application to automate the generation of productions plans from data in AS-400&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Trade_Me_-_Senior_Software_Test_Analyst&amp;diff=1397</id>
		<title>Trade Me - Senior Software Test Analyst</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Trade_Me_-_Senior_Software_Test_Analyst&amp;diff=1397"/>
		<updated>2024-08-27T03:17:28Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Dec-2014 - Aug-2016'''&lt;br /&gt;
== [https://www.trademe.co.nz/ Trade Me] ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
| [[Skills#Online Auction Platforms|Online Auction Platforms]], [[Skills#Context Driven Testing|Context Driven Testing]], [[Skills#Exploratory Testing (Session &amp;amp; Thread Based)|Exploratory Testing]], &amp;lt;br /&amp;gt;[[Skills#Visual Modelling|Visual Modelling]], [[Skills#Agile (Scrum, Kanban, SAFe, Squad Master)|Agile (Scrum, Kanban, Squad Master)]], [[Skills#Testability Concepts|Testability]], &amp;lt;br /&amp;gt;[[Skills#Accessibility Testing|Accessibility]], [[Skills#Observability Concepts|Observability]], [[Skills#Jira, Confluence|Jira, Confluence]], [[Skills#Web App Testing|Web App]], [[Skills#Native Mobile App Testing|Mobile App]], &amp;lt;br /&amp;gt;[[Skills#API Testing|API Testing]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]], [[Skills#Splunk|Splunk]], [[Skills#SoapUI, ReadyAPI|ReadyAPI]], [[Skills#Metrics Driven Development (A/B Testing)|A/B Testing]], [[Skills#XMind|XMind]], &amp;lt;br /&amp;gt;[[Skills#Staff Mentoring &amp;amp; Induction|Staff Mentoring &amp;amp; Induction]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SQL Server Management Studio (SSMS)]]&lt;br /&gt;
|}&lt;br /&gt;
[https://www.trademe.co.nz/ Trade Me] is the iconic consumer auction website in NZ, one of the most popular websites accessed from NZ. Trade Me are renowned for their agile implementation, and have a well established test guild. &lt;br /&gt;
&lt;br /&gt;
I was a Test Analyst with the Motors group, in a small cross functional agile squad, testing software changes to the iconic NZ [https://www.trademe.co.nz Trade Me] website focussing on the [https://www.trademe.co.nz/a/motors Motors] page and features.&lt;br /&gt;
&lt;br /&gt;
Squads owned the full technology stack to deliver new features and projects, from inception through to deployment in production. They were responsible for the story's design, implementation, testing, and deployment.&lt;br /&gt;
&lt;br /&gt;
==[[References - Full List|References]]==&lt;br /&gt;
* [https://dirksonline.net/CV/2016%20Jason%20Cullum%20reference%20for%20Vincent%20Dirks.pdf 2016 '''Jason Cullum'''] Reference. ''Jason was my chapter Lead for my duration at Trade me''&lt;br /&gt;
* [https://dirksonline.net/CV/Vincent%20Dirks%2c%20Performance%20Review%202016%20-%20Motors%27%20Reviews.pdf 2016 '''Jason Cullum'''] Annual Review. &lt;br /&gt;
* [https://dirksonline.net/CV/REFERENCE%20-%20Mike%20Berry%20-%20Delivery%20Manager%20-%20Trade%20Me%20Motors.pdf 2016 '''Mike Berry'''] Reference. ''Mike was the Trade Me Motors Delivery Manager''&lt;br /&gt;
&lt;br /&gt;
== Responsibilities ==&lt;br /&gt;
* Context driven, tool assisted exploratory testing, using session and thread based techniques&lt;br /&gt;
* Testing DB, UI, API, and architectural changes&lt;br /&gt;
* Leading daily deployments to production&lt;br /&gt;
* [https://www.splunk.com/ Splunk] system monitoring&lt;br /&gt;
* Agile Squad Mastering (Facilitating project inception, story grooming, planning &amp;amp; estimation, retrospectives, daily standups, sprintboard)&lt;br /&gt;
* Test automation for API ([https://smartbear.com/product/ready-api/ ReadyAPI]/[https://www.soapui.org/ SoapUI]) and UI changes ([https://www.protractortest.org/#/ protractor]) using BDD with Gherkin syntax. &lt;br /&gt;
* Test planning, peer test plan reviews, executing test sessions, defect workflow. &lt;br /&gt;
* Documentation of test practices.&lt;br /&gt;
* Metrics driven development - using A/B Testing.&lt;br /&gt;
* Active contributor to test and agile guilds.&lt;br /&gt;
* New staff induction and junior staff support.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
* Followed [http://context-driven-testing.com/ Context Driven Testing] principles. Considering a wide scope for testing, looking for ''anything that might surprise someone that matters''. &lt;br /&gt;
* Shifted Left. Contributing early to discussions about UX, system architecture, and testability. &lt;br /&gt;
* Efficient, focussed on high risks, leaving acceptable risks, with great Observability to detect problems early. &lt;br /&gt;
* Used [https://www.agilealliance.org/glossary/three-amigos/ &amp;quot;Three Amigos&amp;quot;] to share and understand the problem, the solution, and the testing. &lt;br /&gt;
* Peer reviewed test plans (session based exploratory test charters) &lt;br /&gt;
* Test early for early feedback. ie. before dev work was completed. Aiding alignment, informing what is left to complete a story, avoids re-work.&lt;br /&gt;
* Dev walk through - UI and code - review test plan&lt;br /&gt;
* Demo to PO&lt;br /&gt;
* Testers deployed to production during twice daily release windows&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Trade_Me_-_Senior_Software_Test_Analyst&amp;diff=1396</id>
		<title>Trade Me - Senior Software Test Analyst</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Trade_Me_-_Senior_Software_Test_Analyst&amp;diff=1396"/>
		<updated>2024-08-27T03:16:32Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Dec-2014 - Aug-2016'''&lt;br /&gt;
== [https://www.trademe.co.nz/ Trade Me] ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
| [[Skills#Online Auction Platforms|Online Auction Platforms]], [[Skills#Context Driven Testing|Context Driven Testing]], [[Skills#Exploratory Testing (Session &amp;amp; Thread Based)|Exploratory Testing]], &amp;lt;br /&amp;gt;[[Skills#Visual Modelling|Visual Modelling]], [[Skills#Agile (Scrum, Kanban, SAFe, Squad Master)|Agile (Scrum, Kanban, Squad Master)]], [[Skills#Testability Concepts|Testability]], &amp;lt;br /&amp;gt;[[Skills#Accessibility Testing|Accessibility]], [[Skills#Observability Concepts|Observability]], [[Skills#Jira, Confluence|Jira, Confluence]], [[Skills#Web App Testing|Web App]], [[Skills#Native Mobile App Testing|Mobile App]], &amp;lt;br /&amp;gt;[[Skills#API Testing|API Testing]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]], [[Skills#Splunk|Splunk]], [[Skills#SoapUI, ReadyAPI|ReadyAPI]], [[Skills#Metrics Driven Development (A/B Testing)|A/B Testing]], [[Skills#XMind|XMind]], &amp;lt;br /&amp;gt;[[Skills#Staff Mentoring &amp;amp; Induction|Staff Mentoring &amp;amp; Induction]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SQL Server Management Studio (SSMS)]]&lt;br /&gt;
|}&lt;br /&gt;
[https://www.trademe.co.nz/ Trade Me] is the iconic consumer auction website in NZ, one of the most popular websites accessed from NZ. Trade Me are renowned for their agile implementation, and have a well established test guild. &lt;br /&gt;
&lt;br /&gt;
I was a Test Analyst with the Motors group, in a small cross functional agile squad, testing software changes to the iconic NZ [https://www.trademe.co.nz Trade Me] website focussing on the [https://www.trademe.co.nz/a/motors Motors] page and features.&lt;br /&gt;
&lt;br /&gt;
Squads owned the full technology stack to deliver new features and projects, from inception through to deployment in production. They were responsible for the story's design, implementation, testing, and deployment.&lt;br /&gt;
&lt;br /&gt;
==[[References - Full List|References]]==&lt;br /&gt;
* [https://dirksonline.net/CV/2016%20Jason%20Cullum%20reference%20for%20Vincent%20Dirks.pdf 2016 '''Jason Cullum'''] Reference. ''Jason was my chapter Lead for my duration at Trade me''&lt;br /&gt;
* [https://dirksonline.net/CV/Vincent%20Dirks%2c%20Performance%20Review%202016%20-%20Motors%27%20Reviews.pdf 2016 '''Jason Cullum'''] Annual Review. &lt;br /&gt;
* [https://dirksonline.net/CV/REFERENCE%20-%20Mike%20Berry%20-%20Delivery%20Manager%20-%20Trade%20Me%20Motors.pdf 2016 '''Mike Berry'''] Reference. ''Mike was the Trade Me Motors Delivery Manager''&lt;br /&gt;
&lt;br /&gt;
== Responsibilities ==&lt;br /&gt;
* Context driven, tool assisted exploratory testing, using session and thread based techniques&lt;br /&gt;
* Testing DB, UI, API, and architectural changes&lt;br /&gt;
* Leading daily deployments to production&lt;br /&gt;
* [https://www.splunk.com/ Splunk] system monitoring&lt;br /&gt;
* Agile Squad Mastering (Facilitating project inception, story grooming, planning &amp;amp; estimation, retrospectives, daily standups, sprintboard)&lt;br /&gt;
* Test automation for API ([https://smartbear.com/product/ready-api/ ReadyAPI]/[https://www.soapui.org/ SoapUI]) and UI changes ([https://www.protractortest.org/#/ protractor]) using BDD with Gherkin syntax. &lt;br /&gt;
* Test planning, peer test plan reviews, executing test sessions, defect workflow. &lt;br /&gt;
* Documentation of test practices.&lt;br /&gt;
* Metrics driven development - using A/B Testing.&lt;br /&gt;
* Active contributor to test and agile guilds.&lt;br /&gt;
* New staff induction and junior staff support.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
* Followed [http://context-driven-testing.com/ Context Driven Testing] principles. Considering a wide scope for testing, looking for ''anything that might surprise someone that matters''. &lt;br /&gt;
* Shifted Left. Contributing early to discussions about UX, system architecture, and testability. &lt;br /&gt;
* Efficient, focussed on high risks, leaving acceptable risks, with great Observability to detect problem early. &lt;br /&gt;
* Used [https://www.agilealliance.org/glossary/three-amigos/ &amp;quot;Three Amigos&amp;quot;] to share and understand the problem, the solution, and the testing. &lt;br /&gt;
* Peer reviewed test plans (session based exploratory test charters) &lt;br /&gt;
* Test early for early feedback. ie. before dev work was completed. Aiding alignment, informing what is left to complete a story, avoids re-work.&lt;br /&gt;
* Dev walk through - UI and code - review test plan&lt;br /&gt;
* Demo to PO&lt;br /&gt;
* Testers deployed to production during twice daily release windows&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Fiserv_Auckland_-_Intermediate_Software_Test_Engineer&amp;diff=1395</id>
		<title>Fiserv Auckland - Intermediate Software Test Engineer</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Fiserv_Auckland_-_Intermediate_Software_Test_Engineer&amp;diff=1395"/>
		<updated>2024-08-27T03:03:31Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Setup Splunk Enterprise */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;'''Jan-2017 - Apr-2020'''&lt;br /&gt;
== Fiserv ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-right: -50px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking and Finance Sector]], [[Skills#Observability Concepts|Observability]], [[Skills#Agile (Scrum, Kanban, SAFe, Squad Master)|Agile (SAFe)]], &amp;lt;br /&amp;gt;[[Skills#Programming &amp;amp; Automation|Programming &amp;amp; Automation]],  [[Skills#Jira, Confluence|Jira, Confluence]]&lt;br /&gt;
|}&lt;br /&gt;
Fiserv Auckland is responsible for developing mobile apps utilised by over 2000 banks (mainly in the USA), serving more than 8 million active users. Additionally, they manage multi-tier and multi-tenanted Web and API integration servers interfacing with core online banking (OLB) systems and third-party platforms. Fiserv's solutions offer extensive configurability of features and branding. Operating within the stringent and risk-averse USA banking domain, reliability and quality are paramount. Testing at Fiserv presented complexities and challenges, yet it has been a rewarding and intellectually stimulating role despite its difficulties.&lt;br /&gt;
&lt;br /&gt;
== [[References_-_Full_List|References]] ==&lt;br /&gt;
* [https://dirksonline.net/CV/2020%20Piyush%20Dungrani%20-%20LinkedIn%20Recommendation.jpg 2020 '''Piyush Dungrani'''] LinkedIn Recommendation&lt;br /&gt;
* [https://dirksonline.net/CV/Letter%20of%20Recommendation%20from%20K%20V%20Kaufman%20-%20signed.pdf 2020 '''K Vaughan Kaufman'''] Letter of Recommendation&lt;br /&gt;
&lt;br /&gt;
== Software Developer in Testing - 2019-2020 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#API Testing|API Testing]], [[Skills#Observability Concepts|Observability]], [[Skills#Data Privacy|Data Privacy]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#Splunk|Splunk]], [[Skills#Visual Studio|Visual Studio]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman, Newman]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler, Burp Suite CE, MITM Proxy]], &amp;lt;br /&amp;gt;Web App &amp;amp; API development&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
With this role I assisted with integration testing the mobile API server, which was used by the mobile apps as a gateway to a network of core online banking systems (OLBs). Each OLB had its own interface contract, and each served multiple financial institutions (FIs). Due to the expense and difficulty of replicating the OLB systems, only three integrated testing environments were created. These test environments were subject to frequent configuration changes, used by many staff, and tightly controlled from the USA. Despite these difficulties and the non-deterministic nature of testing in these environments, integration testing remained essential.&lt;br /&gt;
&lt;br /&gt;
To streamline integration testing and monitor environment readiness, I spearheaded the development of the Postman Testrunner Framework (PTF), a flexible solution capable of dynamically executing complete user scenarios through various OLB's and FI/user configurations.&lt;br /&gt;
&lt;br /&gt;
=== Development of Postman Collection ===&lt;br /&gt;
Utilising tools like [https://www.telerik.com/fiddler '''Fiddler'''], [https://portswigger.net/burp/communitydownload '''Burp Suite CE'''], and [https://mitmproxy.org/ '''MITM Proxy'''], we captured API calls made by the mobile app, and to then create a comprehensive Postman collection of requests. Each user scenario was a sequence of calls, each call performing an action and storing relevant data in the Postman Environment Variables. I emphasised obtaining data dynamically from the OLB to minimise reliance on potentially stale data.&lt;br /&gt;
&lt;br /&gt;
=== Architecture of the Postman Testrunner Framework (PTF) ===&lt;br /&gt;
The PTF automatically orchestrated the calls in the correct order to execute the user scenarios reliably. It used an external JSON file to specify a sequence of steps called userActions, each userAction referenced a request from the collection, and contained response handlers for each http response code which set the next userAction to perform. Effectively, the PTF was a simple state-machine. The PTF also implemented a simple nested JSON data syntax to be able to store data such as user credentials as well as FI connection settings. Passwords were encrypted when stored, and decrypted at run time.&lt;br /&gt;
&lt;br /&gt;
=== Custom Development and Build Pipeline ===&lt;br /&gt;
The PTF was implemented using [https://www.npmjs.com/package/newman '''Newman'''] in a [https://nodejs.org/en '''Node.js'''] project, with a custom JavaScript reporter developed to process events emitted by Newman during execution. This allowed for real-time capture of results and detailed logs, providing clear insights into failures and partial successes. Results were sent to the PTF dashboard, as well as to a dedicated [https://www.splunk.com/ '''Splunk'''] instance for comprehensive monitoring and analysis. The PTF dashboard and Splunk implementations are detailed in the sections below. &lt;br /&gt;
&lt;br /&gt;
A build pipeline was created in [https://learn.microsoft.com/en-us/previous-versions/azure/devops/all/overview?view=tfs-2018 TFS - Team Foundation Server] ''(now rebranded to Azure DevOps)'', with two VM's each running 10+ build agents. The pipeline executed the PTF for all users concurrently in parallel, every hour. Environment variables were used to provide the PTF with FI settings and user credentials. &lt;br /&gt;
&lt;br /&gt;
The automation suite could be triggered from the Web UI, and code commits to the automation suite itself also triggered executions. &lt;br /&gt;
&lt;br /&gt;
The VM's were set up and configured with Splunk and kept real time test results, extensive console logging tied to individual tests, as well as full API request and response traces.&lt;br /&gt;
&lt;br /&gt;
=== Development of PTF Dashboard for Current Test Results ===&lt;br /&gt;
I used [https://nodejs.org/en '''Node.js'''] with [https://expressjs.com/ '''Express.js'''] and [https://pugjs.org/ '''Pug'''] to create &lt;br /&gt;
&lt;br /&gt;
* an API for receiving events from the PTF, and &lt;br /&gt;
* a Web UI to display a snapshot of the latest results in a tabular dashboard. &lt;br /&gt;
&lt;br /&gt;
The API was designed to process data from concurrent PTF executions, and the Web UI updated in real-time to give immediate feedback about the environment health from multiple user perspectives. The fast feedback for multiple users was particularly useful following a deployment of the mobile API server. &lt;br /&gt;
&lt;br /&gt;
In addition to ''pass'' and ''fail'', I chose to also show that sometimes scenarios &lt;br /&gt;
* ''could not run'', eg. a user with just one account could not try to transfer money between accounts.&lt;br /&gt;
* ''pass ⚠'' when only partially successful. eg. an attempt to fetch a list of bill payments returning no items because none had been made &lt;br /&gt;
* ''not supported'' by the FI/OLB&lt;br /&gt;
* ''not run''. eg. skipped, or still waiting to be run&lt;br /&gt;
&lt;br /&gt;
For each result cell I used hover and mouse actions to show details.&lt;br /&gt;
&lt;br /&gt;
[https://dirksonline.net/CV/PTF%20Dashboard.JPG Link to a screenshot of the PTF dashboard]&lt;br /&gt;
&lt;br /&gt;
=== Setup Splunk Enterprise ===&lt;br /&gt;
&lt;br /&gt;
I setup a dedicated instance of [https://www.splunk.com/en_us/products/splunk-enterprise.html '''Splunk Enterprise'''] to store and analyse trends in the PTF data (results, logging, and full API requests and responses). This involved configuring indexes, HEC event collectors, user access permissions, and managing VM storage requirements. I developed dashboards to visualise historical PTF data, utilising shades of green, red, and grey to represent pass, fail, and indeterminate results. The shading was used to differentiate users. These grids provided valuable insights into environment health, user status, feature performance, and OLB status. Click-through functionality was added to facilitate investigations and drill down through the layers into increasingly more detailed views of the data.&lt;br /&gt;
&lt;br /&gt;
* Configured indexes, HEC event collectors, and user access permissions&lt;br /&gt;
* Extensively analysed historical PTF data&lt;br /&gt;
* Developed dashboards to visualise historical PTF data, using colour to show health, status, and performance&lt;br /&gt;
* Implemented click-through functionality for detailed data exploration&lt;br /&gt;
&lt;br /&gt;
[https://dirksonline.net/CV/Splunk%20feature%20grid.JPG Link to screenshot of the Splunk feature grid dashboard] showing 30 days of hourly results for up to eight users across 15 critical features.&lt;br /&gt;
&lt;br /&gt;
== Software Test Engineer - 2017-2018 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#API Testing|API Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SQL Server Management Studio (SSMS)]], &amp;lt;br /&amp;gt;[[Skills#Visual Studio|Visual Studio]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
At Fiserv, I began as a QA member within agile teams responsible for implementing changes across various mobile banking solutions. &lt;br /&gt;
&lt;br /&gt;
My responsibilities included:&lt;br /&gt;
* Testing new features for mobile apps, and conducting cross-device regression checks.&lt;br /&gt;
* Contributing to the development of the C# Specflow API automation suite for mobile API servers.&lt;br /&gt;
* Deploying environments and modifying configurations using Octopus.&lt;br /&gt;
* Testing a banking Web App hosted on dedicated hardware, where I leveraged Powershell scripts for configuring and automating deployments.&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Fiserv_Auckland_-_Intermediate_Software_Test_Engineer&amp;diff=1394</id>
		<title>Fiserv Auckland - Intermediate Software Test Engineer</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Fiserv_Auckland_-_Intermediate_Software_Test_Engineer&amp;diff=1394"/>
		<updated>2024-08-27T03:02:23Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Development of Postman Collection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;'''Jan-2017 - Apr-2020'''&lt;br /&gt;
== Fiserv ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-right: -50px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking and Finance Sector]], [[Skills#Observability Concepts|Observability]], [[Skills#Agile (Scrum, Kanban, SAFe, Squad Master)|Agile (SAFe)]], &amp;lt;br /&amp;gt;[[Skills#Programming &amp;amp; Automation|Programming &amp;amp; Automation]],  [[Skills#Jira, Confluence|Jira, Confluence]]&lt;br /&gt;
|}&lt;br /&gt;
Fiserv Auckland is responsible for developing mobile apps utilised by over 2000 banks (mainly in the USA), serving more than 8 million active users. Additionally, they manage multi-tier and multi-tenanted Web and API integration servers interfacing with core online banking (OLB) systems and third-party platforms. Fiserv's solutions offer extensive configurability of features and branding. Operating within the stringent and risk-averse USA banking domain, reliability and quality are paramount. Testing at Fiserv presented complexities and challenges, yet it has been a rewarding and intellectually stimulating role despite its difficulties.&lt;br /&gt;
&lt;br /&gt;
== [[References_-_Full_List|References]] ==&lt;br /&gt;
* [https://dirksonline.net/CV/2020%20Piyush%20Dungrani%20-%20LinkedIn%20Recommendation.jpg 2020 '''Piyush Dungrani'''] LinkedIn Recommendation&lt;br /&gt;
* [https://dirksonline.net/CV/Letter%20of%20Recommendation%20from%20K%20V%20Kaufman%20-%20signed.pdf 2020 '''K Vaughan Kaufman'''] Letter of Recommendation&lt;br /&gt;
&lt;br /&gt;
== Software Developer in Testing - 2019-2020 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#API Testing|API Testing]], [[Skills#Observability Concepts|Observability]], [[Skills#Data Privacy|Data Privacy]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#Splunk|Splunk]], [[Skills#Visual Studio|Visual Studio]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman, Newman]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler, Burp Suite CE, MITM Proxy]], &amp;lt;br /&amp;gt;Web App &amp;amp; API development&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
With this role I assisted with integration testing the mobile API server, which was used by the mobile apps as a gateway to a network of core online banking systems (OLBs). Each OLB had its own interface contract, and each served multiple financial institutions (FIs). Due to the expense and difficulty of replicating the OLB systems, only three integrated testing environments were created. These test environments were subject to frequent configuration changes, used by many staff, and tightly controlled from the USA. Despite these difficulties and the non-deterministic nature of testing in these environments, integration testing remained essential.&lt;br /&gt;
&lt;br /&gt;
To streamline integration testing and monitor environment readiness, I spearheaded the development of the Postman Testrunner Framework (PTF), a flexible solution capable of dynamically executing complete user scenarios through various OLB's and FI/user configurations.&lt;br /&gt;
&lt;br /&gt;
=== Development of Postman Collection ===&lt;br /&gt;
Utilising tools like [https://www.telerik.com/fiddler '''Fiddler'''], [https://portswigger.net/burp/communitydownload '''Burp Suite CE'''], and [https://mitmproxy.org/ '''MITM Proxy'''], we captured API calls made by the mobile app, and to then create a comprehensive Postman collection of requests. Each user scenario was a sequence of calls, each call performing an action and storing relevant data in the Postman Environment Variables. I emphasised obtaining data dynamically from the OLB to minimise reliance on potentially stale data.&lt;br /&gt;
&lt;br /&gt;
=== Architecture of the Postman Testrunner Framework (PTF) ===&lt;br /&gt;
The PTF automatically orchestrated the calls in the correct order to execute the user scenarios reliably. It used an external JSON file to specify a sequence of steps called userActions, each userAction referenced a request from the collection, and contained response handlers for each http response code which set the next userAction to perform. Effectively, the PTF was a simple state-machine. The PTF also implemented a simple nested JSON data syntax to be able to store data such as user credentials as well as FI connection settings. Passwords were encrypted when stored, and decrypted at run time.&lt;br /&gt;
&lt;br /&gt;
=== Custom Development and Build Pipeline ===&lt;br /&gt;
The PTF was implemented using [https://www.npmjs.com/package/newman '''Newman'''] in a [https://nodejs.org/en '''Node.js'''] project, with a custom JavaScript reporter developed to process events emitted by Newman during execution. This allowed for real-time capture of results and detailed logs, providing clear insights into failures and partial successes. Results were sent to the PTF dashboard, as well as to a dedicated [https://www.splunk.com/ '''Splunk'''] instance for comprehensive monitoring and analysis. The PTF dashboard and Splunk implementations are detailed in the sections below. &lt;br /&gt;
&lt;br /&gt;
A build pipeline was created in [https://learn.microsoft.com/en-us/previous-versions/azure/devops/all/overview?view=tfs-2018 TFS - Team Foundation Server] ''(now rebranded to Azure DevOps)'', with two VM's each running 10+ build agents. The pipeline executed the PTF for all users concurrently in parallel, every hour. Environment variables were used to provide the PTF with FI settings and user credentials. &lt;br /&gt;
&lt;br /&gt;
The automation suite could be triggered from the Web UI, and code commits to the automation suite itself also triggered executions. &lt;br /&gt;
&lt;br /&gt;
The VM's were set up and configured with Splunk and kept real time test results, extensive console logging tied to individual tests, as well as full API request and response traces.&lt;br /&gt;
&lt;br /&gt;
=== Development of PTF Dashboard for Current Test Results ===&lt;br /&gt;
I used [https://nodejs.org/en '''Node.js'''] with [https://expressjs.com/ '''Express.js'''] and [https://pugjs.org/ '''Pug'''] to create &lt;br /&gt;
&lt;br /&gt;
* an API for receiving events from the PTF, and &lt;br /&gt;
* a Web UI to display a snapshot of the latest results in a tabular dashboard. &lt;br /&gt;
&lt;br /&gt;
The API was designed to process data from concurrent PTF executions, and the Web UI updated in real-time to give immediate feedback about the environment health from multiple user perspectives. The fast feedback for multiple users was particularly useful following a deployment of the mobile API server. &lt;br /&gt;
&lt;br /&gt;
In addition to ''pass'' and ''fail'', I chose to also show that sometimes scenarios &lt;br /&gt;
* ''could not run'', eg. a user with just one account could not try to transfer money between accounts.&lt;br /&gt;
* ''pass ⚠'' when only partially successful. eg. an attempt to fetch a list of bill payments returning no items because none had been made &lt;br /&gt;
* ''not supported'' by the FI/OLB&lt;br /&gt;
* ''not run''. eg. skipped, or still waiting to be run&lt;br /&gt;
&lt;br /&gt;
For each result cell I used hover and mouse actions to show details.&lt;br /&gt;
&lt;br /&gt;
[https://dirksonline.net/CV/PTF%20Dashboard.JPG Link to a screenshot of the PTF dashboard]&lt;br /&gt;
&lt;br /&gt;
=== Setup Splunk Enterprise ===&lt;br /&gt;
&lt;br /&gt;
I setup a dedicated instance of [https://www.splunk.com/en_us/products/splunk-enterprise.html '''Splunk Enterprise'''] to store and analyze trends in the PTF data (results, logging, and full API requests and responses). This involved configuring indexes, HEC event collectors, user access permissions, and managing VM storage requirements. I developed dashboards to visualize historical PTF data, utilizing shades of green, red, and grey to represent pass, fail, and indeterminate results. The shading was used to differentiate users. These grids provided valuable insights into environment health, user status, feature performance, and OLB status. Click-through functionality was added to facilitate investigations and drill down through the layers into increasingly more detailed views of the data.&lt;br /&gt;
&lt;br /&gt;
* Configured indexes, HEC event collectors, and user access permissions&lt;br /&gt;
* Extensively analysed historical PTF data&lt;br /&gt;
* Developed dashboards to visualize historical PTF data, using colour to show health, status, and performance&lt;br /&gt;
* Implemented click-through functionality for detailed data exploration&lt;br /&gt;
&lt;br /&gt;
[https://dirksonline.net/CV/Splunk%20feature%20grid.JPG Link to screenshot of the Splunk feature grid dashboard] showing 30 days of hourly results for up to eight users across 15 critical features.&lt;br /&gt;
&lt;br /&gt;
== Software Test Engineer - 2017-2018 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#API Testing|API Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SQL Server Management Studio (SSMS)]], &amp;lt;br /&amp;gt;[[Skills#Visual Studio|Visual Studio]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
At Fiserv, I began as a QA member within agile teams responsible for implementing changes across various mobile banking solutions. &lt;br /&gt;
&lt;br /&gt;
My responsibilities included:&lt;br /&gt;
* Testing new features for mobile apps, and conducting cross-device regression checks.&lt;br /&gt;
* Contributing to the development of the C# Specflow API automation suite for mobile API servers.&lt;br /&gt;
* Deploying environments and modifying configurations using Octopus.&lt;br /&gt;
* Testing a banking Web App hosted on dedicated hardware, where I leveraged Powershell scripts for configuring and automating deployments.&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Fiserv_Auckland_-_Intermediate_Software_Test_Engineer&amp;diff=1393</id>
		<title>Fiserv Auckland - Intermediate Software Test Engineer</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Fiserv_Auckland_-_Intermediate_Software_Test_Engineer&amp;diff=1393"/>
		<updated>2024-08-27T03:01:54Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Fiserv */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;'''Jan-2017 - Apr-2020'''&lt;br /&gt;
== Fiserv ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-right: -50px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking and Finance Sector]], [[Skills#Observability Concepts|Observability]], [[Skills#Agile (Scrum, Kanban, SAFe, Squad Master)|Agile (SAFe)]], &amp;lt;br /&amp;gt;[[Skills#Programming &amp;amp; Automation|Programming &amp;amp; Automation]],  [[Skills#Jira, Confluence|Jira, Confluence]]&lt;br /&gt;
|}&lt;br /&gt;
Fiserv Auckland is responsible for developing mobile apps utilised by over 2000 banks (mainly in the USA), serving more than 8 million active users. Additionally, they manage multi-tier and multi-tenanted Web and API integration servers interfacing with core online banking (OLB) systems and third-party platforms. Fiserv's solutions offer extensive configurability of features and branding. Operating within the stringent and risk-averse USA banking domain, reliability and quality are paramount. Testing at Fiserv presented complexities and challenges, yet it has been a rewarding and intellectually stimulating role despite its difficulties.&lt;br /&gt;
&lt;br /&gt;
== [[References_-_Full_List|References]] ==&lt;br /&gt;
* [https://dirksonline.net/CV/2020%20Piyush%20Dungrani%20-%20LinkedIn%20Recommendation.jpg 2020 '''Piyush Dungrani'''] LinkedIn Recommendation&lt;br /&gt;
* [https://dirksonline.net/CV/Letter%20of%20Recommendation%20from%20K%20V%20Kaufman%20-%20signed.pdf 2020 '''K Vaughan Kaufman'''] Letter of Recommendation&lt;br /&gt;
&lt;br /&gt;
== Software Developer in Testing - 2019-2020 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#API Testing|API Testing]], [[Skills#Observability Concepts|Observability]], [[Skills#Data Privacy|Data Privacy]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#Splunk|Splunk]], [[Skills#Visual Studio|Visual Studio]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman, Newman]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler, Burp Suite CE, MITM Proxy]], &amp;lt;br /&amp;gt;Web App &amp;amp; API development&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
With this role I assisted with integration testing the mobile API server, which was used by the mobile apps as a gateway to a network of core online banking systems (OLBs). Each OLB had its own interface contract, and each served multiple financial institutions (FIs). Due to the expense and difficulty of replicating the OLB systems, only three integrated testing environments were created. These test environments were subject to frequent configuration changes, used by many staff, and tightly controlled from the USA. Despite these difficulties and the non-deterministic nature of testing in these environments, integration testing remained essential.&lt;br /&gt;
&lt;br /&gt;
To streamline integration testing and monitor environment readiness, I spearheaded the development of the Postman Testrunner Framework (PTF), a flexible solution capable of dynamically executing complete user scenarios through various OLB's and FI/user configurations.&lt;br /&gt;
&lt;br /&gt;
=== Development of Postman Collection ===&lt;br /&gt;
Utilizing tools like [https://www.telerik.com/fiddler '''Fiddler'''], [https://portswigger.net/burp/communitydownload '''Burp Suite CE'''], and [https://mitmproxy.org/ '''MITM Proxy'''], we captured API calls made by the mobile app, and to then create a comprehensive Postman collection of requests. Each user scenario was a sequence of calls, each call performing an action and storing relevant data in the Postman Environment Variables. I emphasised obtaining data dynamically from the OLB to minimize reliance on potentially stale data.&lt;br /&gt;
&lt;br /&gt;
=== Architecture of the Postman Testrunner Framework (PTF) ===&lt;br /&gt;
The PTF automatically orchestrated the calls in the correct order to execute the user scenarios reliably. It used an external JSON file to specify a sequence of steps called userActions, each userAction referenced a request from the collection, and contained response handlers for each http response code which set the next userAction to perform. Effectively, the PTF was a simple state-machine. The PTF also implemented a simple nested JSON data syntax to be able to store data such as user credentials as well as FI connection settings. Passwords were encrypted when stored, and decrypted at run time.&lt;br /&gt;
&lt;br /&gt;
=== Custom Development and Build Pipeline ===&lt;br /&gt;
The PTF was implemented using [https://www.npmjs.com/package/newman '''Newman'''] in a [https://nodejs.org/en '''Node.js'''] project, with a custom JavaScript reporter developed to process events emitted by Newman during execution. This allowed for real-time capture of results and detailed logs, providing clear insights into failures and partial successes. Results were sent to the PTF dashboard, as well as to a dedicated [https://www.splunk.com/ '''Splunk'''] instance for comprehensive monitoring and analysis. The PTF dashboard and Splunk implementations are detailed in the sections below. &lt;br /&gt;
&lt;br /&gt;
A build pipeline was created in [https://learn.microsoft.com/en-us/previous-versions/azure/devops/all/overview?view=tfs-2018 TFS - Team Foundation Server] ''(now rebranded to Azure DevOps)'', with two VM's each running 10+ build agents. The pipeline executed the PTF for all users concurrently in parallel, every hour. Environment variables were used to provide the PTF with FI settings and user credentials. &lt;br /&gt;
&lt;br /&gt;
The automation suite could be triggered from the Web UI, and code commits to the automation suite itself also triggered executions. &lt;br /&gt;
&lt;br /&gt;
The VM's were set up and configured with Splunk and kept real time test results, extensive console logging tied to individual tests, as well as full API request and response traces.&lt;br /&gt;
&lt;br /&gt;
=== Development of PTF Dashboard for Current Test Results ===&lt;br /&gt;
I used [https://nodejs.org/en '''Node.js'''] with [https://expressjs.com/ '''Express.js'''] and [https://pugjs.org/ '''Pug'''] to create &lt;br /&gt;
&lt;br /&gt;
* an API for receiving events from the PTF, and &lt;br /&gt;
* a Web UI to display a snapshot of the latest results in a tabular dashboard. &lt;br /&gt;
&lt;br /&gt;
The API was designed to process data from concurrent PTF executions, and the Web UI updated in real-time to give immediate feedback about the environment health from multiple user perspectives. The fast feedback for multiple users was particularly useful following a deployment of the mobile API server. &lt;br /&gt;
&lt;br /&gt;
In addition to ''pass'' and ''fail'', I chose to also show that sometimes scenarios &lt;br /&gt;
* ''could not run'', eg. a user with just one account could not try to transfer money between accounts.&lt;br /&gt;
* ''pass ⚠'' when only partially successful. eg. an attempt to fetch a list of bill payments returning no items because none had been made &lt;br /&gt;
* ''not supported'' by the FI/OLB&lt;br /&gt;
* ''not run''. eg. skipped, or still waiting to be run&lt;br /&gt;
&lt;br /&gt;
For each result cell I used hover and mouse actions to show details.&lt;br /&gt;
&lt;br /&gt;
[https://dirksonline.net/CV/PTF%20Dashboard.JPG Link to a screenshot of the PTF dashboard]&lt;br /&gt;
&lt;br /&gt;
=== Setup Splunk Enterprise ===&lt;br /&gt;
&lt;br /&gt;
I setup a dedicated instance of [https://www.splunk.com/en_us/products/splunk-enterprise.html '''Splunk Enterprise'''] to store and analyze trends in the PTF data (results, logging, and full API requests and responses). This involved configuring indexes, HEC event collectors, user access permissions, and managing VM storage requirements. I developed dashboards to visualize historical PTF data, utilizing shades of green, red, and grey to represent pass, fail, and indeterminate results. The shading was used to differentiate users. These grids provided valuable insights into environment health, user status, feature performance, and OLB status. Click-through functionality was added to facilitate investigations and drill down through the layers into increasingly more detailed views of the data.&lt;br /&gt;
&lt;br /&gt;
* Configured indexes, HEC event collectors, and user access permissions&lt;br /&gt;
* Extensively analysed historical PTF data&lt;br /&gt;
* Developed dashboards to visualize historical PTF data, using colour to show health, status, and performance&lt;br /&gt;
* Implemented click-through functionality for detailed data exploration&lt;br /&gt;
&lt;br /&gt;
[https://dirksonline.net/CV/Splunk%20feature%20grid.JPG Link to screenshot of the Splunk feature grid dashboard] showing 30 days of hourly results for up to eight users across 15 critical features.&lt;br /&gt;
&lt;br /&gt;
== Software Test Engineer - 2017-2018 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#API Testing|API Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SQL Server Management Studio (SSMS)]], &amp;lt;br /&amp;gt;[[Skills#Visual Studio|Visual Studio]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
At Fiserv, I began as a QA member within agile teams responsible for implementing changes across various mobile banking solutions. &lt;br /&gt;
&lt;br /&gt;
My responsibilities included:&lt;br /&gt;
* Testing new features for mobile apps, and conducting cross-device regression checks.&lt;br /&gt;
* Contributing to the development of the C# Specflow API automation suite for mobile API servers.&lt;br /&gt;
* Deploying environments and modifying configurations using Octopus.&lt;br /&gt;
* Testing a banking Web App hosted on dedicated hardware, where I leveraged Powershell scripts for configuring and automating deployments.&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Grappler-_Agile_Quality_Analyst&amp;diff=1392</id>
		<title>Grappler- Agile Quality Analyst</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Grappler-_Agile_Quality_Analyst&amp;diff=1392"/>
		<updated>2024-08-27T03:00:11Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Jun-2020 - Oct-2020'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: 0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skill|skills]]&lt;br /&gt;
| [[Skills#Postman, Newman|Postman, Newman]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Google Cloud Platform]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]]&lt;br /&gt;
|}&lt;br /&gt;
Contracting 1 day/week&lt;br /&gt;
&lt;br /&gt;
[https://www.grappler.io/ Grappler] specialises in providing solutions for premium trust accounting, leveraging deep industry experience and best practice credit control processes.&lt;br /&gt;
&lt;br /&gt;
* Developed a Postman collection to test the API.&lt;br /&gt;
* Implemented a node in Google Cloud Platform to execute the collection using Newman.&lt;br /&gt;
* Created a simple Web UI using Node.js and Express.js to trigger test runs and display HTML test reports.&lt;br /&gt;
* Implemented access restrictions for whitelisted IPs and authenticated users within the Web UI.&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Weather_Radar_NZ_limited_-_Weather_Radar_Systems_Engineer&amp;diff=1391</id>
		<title>Weather Radar NZ limited - Weather Radar Systems Engineer</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Weather_Radar_NZ_limited_-_Weather_Radar_Systems_Engineer&amp;diff=1391"/>
		<updated>2024-08-27T02:58:46Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Jun-2020 - Oct-2020'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skill|skills]]&lt;br /&gt;
| [[Skills#Physics - Weather Radar Systems, Lasers, Fibre-optics|Weather Radar Systems]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], &amp;lt;br /&amp;gt;[[Skills#Firmware &amp;amp; Embedded System Testing|Embedded System Testing]], [[Skills#C++, Arduino, ESP32|Arduino]]&lt;br /&gt;
|}&lt;br /&gt;
Contracting 4 days/week. &lt;br /&gt;
&lt;br /&gt;
[https://www.weatherradar.co.nz/ Weather Radar NZ limited] specialises in rain radar advice, consulting, and monitoring services.&lt;br /&gt;
&lt;br /&gt;
* Contributed to the upgrade of a legacy weather radar system by designing new electronics and embedding Arduino microcontrollers&lt;br /&gt;
* Designed and assembled PCBs&lt;br /&gt;
* Maintained power waveguide systems&lt;br /&gt;
* Conducted Radar signal analysis&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=FirstAML_-_Test_Analyst&amp;diff=1390</id>
		<title>FirstAML - Test Analyst</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=FirstAML_-_Test_Analyst&amp;diff=1390"/>
		<updated>2024-08-27T02:54:58Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Oct-2020 - Mar-2021'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: 0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
| [[Skills#AML/CFT Sector|AML/CFT Sector]], [[Skills#Postman, Newman|Postman]], [[Skills#Accessibility Testing|Accessibility Testing]], &amp;lt;br /&amp;gt;[[Skills#Data Privacy|Data Privacy]], [[Skills#GraphQL|GraphQL]], Applitools, AWS, lambdas, S3&lt;br /&gt;
|}&lt;br /&gt;
[https://www.firstaml.com/nz/ FirstAML] is a startup company dedicated to assisting organisations in meeting their '''AML/CFT compliance''' (Anti-Money Laundering/Countering Financing of Terrorism) requirements.&lt;br /&gt;
&lt;br /&gt;
* Served as one of two '''quality coaches''' supporting a team of six or so developers in the development of their ReactJS Web App for the platform.&lt;br /&gt;
* Managed testing for a complex product, encompassing in-house features tailored for AML Analysts as well as client-facing, and '''end-user features'''.&lt;br /&gt;
* Collaborated closely with AML analysts to comprehend the range of test scenarios for '''in-house features''', &lt;br /&gt;
* Thorough testing for '''accessibility''' and '''cross-device compatibility''' for end-user features.&lt;br /&gt;
* Contributed to testing the '''security and privacy of sensitive data''', including images of driver's licenses and passports.&lt;br /&gt;
* Created a '''Postman''' collection for generating test data through the solution's API&lt;br /&gt;
* Trialed [https://applitools.com/ '''Applitools'''] for visual regression testing.&lt;br /&gt;
* The front end was implemented using React. &lt;br /&gt;
* The backend was implemented on AWS, with some lambda's, and S3 buckets for storage&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Westpac_NZ_-_Senior_Automation_Quality_Engineer&amp;diff=1389</id>
		<title>Westpac NZ - Senior Automation Quality Engineer</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Westpac_NZ_-_Senior_Automation_Quality_Engineer&amp;diff=1389"/>
		<updated>2024-08-27T02:52:11Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* D365 KiwiSaver Squad - Java API and UI Automation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
'''Apr-2021 - Nov-2023'''&lt;br /&gt;
== Westpac ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-right: -50px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking and Finance Sector]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Programming &amp;amp; Automation|Programming &amp;amp; Automation]],  [[Skills#Jira, Confluence|Jira, Confluence, Zephyr]]&lt;br /&gt;
|}&lt;br /&gt;
During my time at Westpac, I worked as a roving Senior Automation Quality Engineer across various teams. This role involved learning about different product domains, as well as the technology stacks used for the product, infrastructure, and automation suites. It was a challenging yet rewarding experience that kept me engaged and encouraged continuous learning. My focus was always on thorough testing, addressing immediate issues, and anticipating future challenges to drive project success.&lt;br /&gt;
&lt;br /&gt;
==[[References - Full List|References]]==&lt;br /&gt;
* [https://dirksonline.net/CV/Reference%20for%20Vincent%20from%20Stephen%20Stewart.pdf 2023 '''Stephen Stuart'''] Reference. ''Stephen was my People Lead for my duration at Westpac''&lt;br /&gt;
* [https://dirksonline.net/CV/Kate%20Nesmyelova%20-%20TTC%20Reference_check%20For%20Vincent_Dirks%202023.pdf 2023 '''Kate Nesmyelova'''] Reference Check for [[Water Services Reform, DIA - Senior Test Automation Engineer|TTC Global]]. ''Kate was the Quality Engineering Chapter Area Lead for Westpac''&lt;br /&gt;
* [https://dirksonline.net/CV/Hannah%20Gray%20Reference%20letter%20for%20Vincent%20Dirks%202023.pdf 2023 '''Hannah Gray'''] Reference. ''Hannah was team lead for the Test Environments team I was part of for 10 months''&lt;br /&gt;
'''linkedin Recommendations'''&lt;br /&gt;
: [https://dirksonline.net/CV/2023%20Isaac%20Carrington%20-%20LinkedIn%20Recommendation.jpg 2023 '''Isaac Carrington'''] Head of Platform Engineering&lt;br /&gt;
: [https://dirksonline.net/CV/2023%20Catherine%20Lupton%20-%20LinkedIn%20Recommendation.jpg 2023 '''Catherine Lupton'''] Test Manager&lt;br /&gt;
&lt;br /&gt;
== MF8TL Team - Legacy API Server Replacement ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Maven|Maven]], &amp;lt;br /&amp;gt;[[Skills#API Testing|API Testing]], [[Skills#Splunk|Splunk]], [[Skills#Observability Concepts|Observability]], [[Skills#IntelliJ|IntelliJ]]&lt;br /&gt;
|}&lt;br /&gt;
In my last role with Westpac I was part of the team that implemented a replacement of a legacy API Server used by the bank's mobile and web apps. The old system had a mature API automation suite implemented using [https://www.java.com/en/ '''Java'''], [https://testng.org/ '''TestNG'''], and [https://rest-assured.io/ '''REST-assured'''].&lt;br /&gt;
&lt;br /&gt;
My contributions&lt;br /&gt;
* '''Refactored''' the automation suite for use with the new server. &lt;br /&gt;
* Streamlined code, reduced duplication, and used method overloading to centralise request and response handling, which also facilitated logging to [https://www.splunk.com/ '''Splunk'''].&lt;br /&gt;
* Enhanced the API automation by crafting new test scenarios, adhering to established patterns such as '''service classes''' and '''POJOs''' (Plain Old Java Objects).&lt;br /&gt;
* Adapted testing tools and processes from the legacy system for seamless integration with the new implementation. &lt;br /&gt;
* Developed Splunk dashboards to monitor the progress of the new solution's implementation against the legacy system.&lt;br /&gt;
&lt;br /&gt;
== Test Environments Team - React Web App to Visualise Test Environments ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#React|Web App Development(React)]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#HashiCorp Vault|HashiCorp Vault]], [[Skills#mermaid.js|mermaid.js]], [[Skills#VS Code|VS Code]], [[Skills#Sonarlint &amp;amp; Sonarqube|Sonarqube]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins]]&lt;br /&gt;
|}&lt;br /&gt;
The [https://www.rbnz.govt.nz/regulation-and-supervision/oversight-of-banks/standards-and-requirements-for-banks/banks-outsourcing-policy BS11 Outsourcing policy for banks] by the [https://www.rbnz.govt.nz/ RBNZ] requires banks like [https://www.westpac.co.nz/ Westpac NZ] to have systems and processes to be able to replace any outsourcing by the start of the next business day. For Westpac NZ this includes severing all links to its parent [https://en.wikipedia.org/wiki/Westpac Westpac Banking Corporation] in Australia, within a matter of hours. Furthermore, BS11 requires credible evidence of this capability. &lt;br /&gt;
&lt;br /&gt;
The Test Environments Team was established to manage the test environments necessary for Westpac NZ to demonstrate a separation event. My main responsibility within this team was to build a small web app (UI and API) for visualising systems, and their interconnections across various test environments. My role primarily focused on JavaScript web app development, but I often provided insights from a tester's perspective and liaised with the Westpac Quality Engineering Chapter for their feedback.&lt;br /&gt;
&lt;br /&gt;
My work&lt;br /&gt;
* Developed a small web app (UI and API) using [https://nodejs.org/en '''Node.js'''], [https://expressjs.com/ '''Express.js'''], and [https://react.dev/ '''React''']..&lt;br /&gt;
* Created node maps illustrating system interconnections across various test environments using [https://mermaid.js.org/ '''mermaid.js'''].&lt;br /&gt;
* Provided insights from a tester's perspective and liaised with the Westpac Quality Engineering Chapter.&lt;br /&gt;
&lt;br /&gt;
==Observability Squad - Platform Engineer and Splunk Champion==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Splunk|Splunk]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Docker|Docker]], [[Skills#Linux|Linux]], [[Skills#Terraform|Terraform]], [[Skills#HashiCorp Vault|HashiCorp Vault]], [[Skills#Bash &amp;amp; PowerShell scripting|Bash]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Observability Squad, a Platform Engineering team tasked with supporting [https://www.splunk.com/ Splunk] and other observability tools like [https://www.dynatrace.com/ Dynatrace], I had the opportunity to learn and grow in the role of &amp;quot;'''Splunk Champion'''&amp;quot;. I was encouraged into this role by [https://dirksonline.net/CV/2023%20Isaac%20Carrington%20-%20LinkedIn%20Recommendation.jpg Isaac Carrington]''(Head of Platform Engineering)'' despite limited prior platform engineering experience. &lt;br /&gt;
&lt;br /&gt;
In my role, I:&lt;br /&gt;
* Acquired skills in Platform Engineering ('''Docker''', '''Linux VM's''', '''Terraform''', '''Bash''', '''HashiCorp Vault''')&lt;br /&gt;
* '''Supported''' internal '''Splunk users''' for ''(Searching, analysis, dashboard creation, PagerDuty integration)''&lt;br /&gt;
* '''Managed''' a distributed instance of '''Splunk Enterprise''' ''(Indexers, search heads, forwarders, event collectors, role-based access controls)''&lt;br /&gt;
* Introduced the Quality Engineering Chapter to use Splunk for '''Reporting and Dashboarding''' the results from their automation suites&lt;br /&gt;
&lt;br /&gt;
Moreover, as the &amp;quot;Splunk Champion&amp;quot;, I strived to help people see the customer's experience through the data being collected. When onboarding new systems, I guided users through a series of questions aimed at maximising the Splunk system. Focusing on how best to monitor the '''solution's performance''' and '''errors''', as well as on the '''quality of the information''' being logged, to really enable '''efficient issue resolution'''.&lt;br /&gt;
&lt;br /&gt;
Ultimately, the goal of observability is to swiftly remediate critical issues by &lt;br /&gt;
* Detecting them, &lt;br /&gt;
* Understanding their impact, and &lt;br /&gt;
* Resolving them promptly.&lt;br /&gt;
&lt;br /&gt;
==D365 KiwiSaver Squad - Java API and UI Automation==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Web App Testing|D365 UI's]], 3rd Party [[Skills#API Testing|API's]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], &amp;lt;br /&amp;gt;[[Skills#Java|Java]], [[Skills#Cucumber (BDD)|Cucumber, BDD]], [[Skills#REST-assured|REST-assured]], [[Skills#Maven|Maven]],  [[Skills#Selenium|Selenium]], &amp;lt;br /&amp;gt;[[Skills#Webdriver.io|Webdriver.io]], [[Skills#IntelliJ|IntelliJ]], [[Skills#Page Object Models|POM's]], [[Skills#Splunk|Splunk]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In response to [https://www.ird.govt.nz/-/media/project/ir/home/documents/kiwisaver/kiwisaver-provider-update/new-ks-default-providers.pdf IRD's review of default KiwiSaver providers] in 2021, the Westpac-run BT Funds emerged as one of the continuing providers, necessitating the enrollment of approximately 40,000 clients. To manage this influx efficiently, the D365 KiwiSaver Team undertook the creation of a D365 workflow for streamlined enrollment processing. This involved developing an API interface to handle requests from IRD, along with automating basic flows and supporting staff with exception cases through the D365 UI. The solution utilised '''micro-services''', '''Kafka event queues''', '''Azure Event Hub queues''', and '''Azure functions'''.&lt;br /&gt;
&lt;br /&gt;
My Contributions:&lt;br /&gt;
&lt;br /&gt;
* Contributed to system design, test planning, and testing, and developed automation suites for both API and D365 web UI.&lt;br /&gt;
* Utilised [https://www.java.com/en/ '''Java'''], with [https://cucumber.io/ '''Cucumber (BDD)'''], [https://rest-assured.io/ '''REST-assured'''] for API automation, and [https://www.selenium.dev/documentation/webdriver/ '''Selenium WebDriver'''] for UI automation.&lt;br /&gt;
* Implemented '''Page Object Models''' (POM's) for the web UI automation suites.&lt;br /&gt;
* Played a pivotal role in monitoring project subsystems using [https://www.splunk.com/ '''Splunk'''], introducing '''session IDs''' for comprehensive tracking of data and actions throughout the pipeline.&lt;br /&gt;
&lt;br /&gt;
== Mobile Squad - Testing and Automating Mobile Banking Apps ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Native Mobile App Testing|Mobile Apps]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], &amp;lt;br /&amp;gt;[[Skills#Accessibility Testing|Accessibility]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In my first role at Westpac, I tested Westpac's iOS and Android consumer banking apps. &lt;br /&gt;
&lt;br /&gt;
I contributed to &lt;br /&gt;
&lt;br /&gt;
* Automating the new features developed by the team ([https://appium.io/ '''Appium'''], [https://www.browserstack.com/guide/getting-started-xcuitest-framework '''XCUITest''']). &lt;br /&gt;
* App design and '''UX''' to test that new features were '''beautiful''', '''simple''' and '''accessible''' for a wide range of users. (&amp;quot;shifting-left&amp;quot;)&lt;br /&gt;
* Using [https://www.charlesproxy.com/ '''Charles Proxy'''] to intercept and modify API calls to facilitate alternative and negative testing scenarios.&lt;br /&gt;
* Maintaining the '''on-device mocks''' (compiled into the debug builds of the apps). &lt;br /&gt;
* '''Release''' testing activities.&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Westpac_NZ_-_Senior_Automation_Quality_Engineer&amp;diff=1388</id>
		<title>Westpac NZ - Senior Automation Quality Engineer</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Westpac_NZ_-_Senior_Automation_Quality_Engineer&amp;diff=1388"/>
		<updated>2024-08-27T02:50:52Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Observability Squad - Platform Engineer and Splunk Champion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
'''Apr-2021 - Nov-2023'''&lt;br /&gt;
== Westpac ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-right: -50px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking and Finance Sector]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Programming &amp;amp; Automation|Programming &amp;amp; Automation]],  [[Skills#Jira, Confluence|Jira, Confluence, Zephyr]]&lt;br /&gt;
|}&lt;br /&gt;
During my time at Westpac, I worked as a roving Senior Automation Quality Engineer across various teams. This role involved learning about different product domains, as well as the technology stacks used for the product, infrastructure, and automation suites. It was a challenging yet rewarding experience that kept me engaged and encouraged continuous learning. My focus was always on thorough testing, addressing immediate issues, and anticipating future challenges to drive project success.&lt;br /&gt;
&lt;br /&gt;
==[[References - Full List|References]]==&lt;br /&gt;
* [https://dirksonline.net/CV/Reference%20for%20Vincent%20from%20Stephen%20Stewart.pdf 2023 '''Stephen Stuart'''] Reference. ''Stephen was my People Lead for my duration at Westpac''&lt;br /&gt;
* [https://dirksonline.net/CV/Kate%20Nesmyelova%20-%20TTC%20Reference_check%20For%20Vincent_Dirks%202023.pdf 2023 '''Kate Nesmyelova'''] Reference Check for [[Water Services Reform, DIA - Senior Test Automation Engineer|TTC Global]]. ''Kate was the Quality Engineering Chapter Area Lead for Westpac''&lt;br /&gt;
* [https://dirksonline.net/CV/Hannah%20Gray%20Reference%20letter%20for%20Vincent%20Dirks%202023.pdf 2023 '''Hannah Gray'''] Reference. ''Hannah was team lead for the Test Environments team I was part of for 10 months''&lt;br /&gt;
'''linkedin Recommendations'''&lt;br /&gt;
: [https://dirksonline.net/CV/2023%20Isaac%20Carrington%20-%20LinkedIn%20Recommendation.jpg 2023 '''Isaac Carrington'''] Head of Platform Engineering&lt;br /&gt;
: [https://dirksonline.net/CV/2023%20Catherine%20Lupton%20-%20LinkedIn%20Recommendation.jpg 2023 '''Catherine Lupton'''] Test Manager&lt;br /&gt;
&lt;br /&gt;
== MF8TL Team - Legacy API Server Replacement ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Maven|Maven]], &amp;lt;br /&amp;gt;[[Skills#API Testing|API Testing]], [[Skills#Splunk|Splunk]], [[Skills#Observability Concepts|Observability]], [[Skills#IntelliJ|IntelliJ]]&lt;br /&gt;
|}&lt;br /&gt;
In my last role with Westpac I was part of the team that implemented a replacement of a legacy API Server used by the bank's mobile and web apps. The old system had a mature API automation suite implemented using [https://www.java.com/en/ '''Java'''], [https://testng.org/ '''TestNG'''], and [https://rest-assured.io/ '''REST-assured'''].&lt;br /&gt;
&lt;br /&gt;
My contributions&lt;br /&gt;
* '''Refactored''' the automation suite for use with the new server. &lt;br /&gt;
* Streamlined code, reduced duplication, and used method overloading to centralise request and response handling, which also facilitated logging to [https://www.splunk.com/ '''Splunk'''].&lt;br /&gt;
* Enhanced the API automation by crafting new test scenarios, adhering to established patterns such as '''service classes''' and '''POJOs''' (Plain Old Java Objects).&lt;br /&gt;
* Adapted testing tools and processes from the legacy system for seamless integration with the new implementation. &lt;br /&gt;
* Developed Splunk dashboards to monitor the progress of the new solution's implementation against the legacy system.&lt;br /&gt;
&lt;br /&gt;
== Test Environments Team - React Web App to Visualise Test Environments ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#React|Web App Development(React)]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#HashiCorp Vault|HashiCorp Vault]], [[Skills#mermaid.js|mermaid.js]], [[Skills#VS Code|VS Code]], [[Skills#Sonarlint &amp;amp; Sonarqube|Sonarqube]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins]]&lt;br /&gt;
|}&lt;br /&gt;
The [https://www.rbnz.govt.nz/regulation-and-supervision/oversight-of-banks/standards-and-requirements-for-banks/banks-outsourcing-policy BS11 Outsourcing policy for banks] by the [https://www.rbnz.govt.nz/ RBNZ] requires banks like [https://www.westpac.co.nz/ Westpac NZ] to have systems and processes to be able to replace any outsourcing by the start of the next business day. For Westpac NZ this includes severing all links to its parent [https://en.wikipedia.org/wiki/Westpac Westpac Banking Corporation] in Australia, within a matter of hours. Furthermore, BS11 requires credible evidence of this capability. &lt;br /&gt;
&lt;br /&gt;
The Test Environments Team was established to manage the test environments necessary for Westpac NZ to demonstrate a separation event. My main responsibility within this team was to build a small web app (UI and API) for visualising systems, and their interconnections across various test environments. My role primarily focused on JavaScript web app development, but I often provided insights from a tester's perspective and liaised with the Westpac Quality Engineering Chapter for their feedback.&lt;br /&gt;
&lt;br /&gt;
My work&lt;br /&gt;
* Developed a small web app (UI and API) using [https://nodejs.org/en '''Node.js'''], [https://expressjs.com/ '''Express.js'''], and [https://react.dev/ '''React''']..&lt;br /&gt;
* Created node maps illustrating system interconnections across various test environments using [https://mermaid.js.org/ '''mermaid.js'''].&lt;br /&gt;
* Provided insights from a tester's perspective and liaised with the Westpac Quality Engineering Chapter.&lt;br /&gt;
&lt;br /&gt;
==Observability Squad - Platform Engineer and Splunk Champion==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Splunk|Splunk]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Docker|Docker]], [[Skills#Linux|Linux]], [[Skills#Terraform|Terraform]], [[Skills#HashiCorp Vault|HashiCorp Vault]], [[Skills#Bash &amp;amp; PowerShell scripting|Bash]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Observability Squad, a Platform Engineering team tasked with supporting [https://www.splunk.com/ Splunk] and other observability tools like [https://www.dynatrace.com/ Dynatrace], I had the opportunity to learn and grow in the role of &amp;quot;'''Splunk Champion'''&amp;quot;. I was encouraged into this role by [https://dirksonline.net/CV/2023%20Isaac%20Carrington%20-%20LinkedIn%20Recommendation.jpg Isaac Carrington]''(Head of Platform Engineering)'' despite limited prior platform engineering experience. &lt;br /&gt;
&lt;br /&gt;
In my role, I:&lt;br /&gt;
* Acquired skills in Platform Engineering ('''Docker''', '''Linux VM's''', '''Terraform''', '''Bash''', '''HashiCorp Vault''')&lt;br /&gt;
* '''Supported''' internal '''Splunk users''' for ''(Searching, analysis, dashboard creation, PagerDuty integration)''&lt;br /&gt;
* '''Managed''' a distributed instance of '''Splunk Enterprise''' ''(Indexers, search heads, forwarders, event collectors, role-based access controls)''&lt;br /&gt;
* Introduced the Quality Engineering Chapter to use Splunk for '''Reporting and Dashboarding''' the results from their automation suites&lt;br /&gt;
&lt;br /&gt;
Moreover, as the &amp;quot;Splunk Champion&amp;quot;, I strived to help people see the customer's experience through the data being collected. When onboarding new systems, I guided users through a series of questions aimed at maximising the Splunk system. Focusing on how best to monitor the '''solution's performance''' and '''errors''', as well as on the '''quality of the information''' being logged, to really enable '''efficient issue resolution'''.&lt;br /&gt;
&lt;br /&gt;
Ultimately, the goal of observability is to swiftly remediate critical issues by &lt;br /&gt;
* Detecting them, &lt;br /&gt;
* Understanding their impact, and &lt;br /&gt;
* Resolving them promptly.&lt;br /&gt;
&lt;br /&gt;
==D365 KiwiSaver Squad - Java API and UI Automation==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Web App Testing|D365 UI's]], 3rd Party [[Skills#API Testing|API's]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], &amp;lt;br /&amp;gt;[[Skills#Java|Java]], [[Skills#Cucumber (BDD)|Cucumber, BDD]], [[Skills#REST-assured|REST-assured]], [[Skills#Maven|Maven]],  [[Skills#Selenium|Selenium]], &amp;lt;br /&amp;gt;[[Skills#Webdriver.io|Webdriver.io]], [[Skills#IntelliJ|IntelliJ]], [[Skills#Page Object Models|POM's]], [[Skills#Splunk|Splunk]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In response to [https://www.ird.govt.nz/-/media/project/ir/home/documents/kiwisaver/kiwisaver-provider-update/new-ks-default-providers.pdf IRD's review of default KiwiSaver providers] in 2021, the Westpac-run BT Funds emerged as one of the continuing providers, necessitating the enrollment of approximately 40,000 clients. To manage this influx efficiently, the D365 KiwiSaver Team undertook the creation of a D365 workflow for streamlined enrollment processing. This involved developing an API interface to handle requests from IRD, along with automating basic flows and supporting staff with exception cases through the D365 UI. The solution utilized '''micro-services''', '''Kafka event queues''', '''Azure Event Hub queues''', and '''Azure functions'''.&lt;br /&gt;
&lt;br /&gt;
My Contributions:&lt;br /&gt;
&lt;br /&gt;
* Contributed to system design, test planning, and testing, and developed automation suites for both API and D365 web UI.&lt;br /&gt;
* Utilised [https://www.java.com/en/ '''Java'''], with [https://cucumber.io/ '''Cucumber (BDD)'''], [https://rest-assured.io/ '''REST-assured'''] for API automation, and [https://www.selenium.dev/documentation/webdriver/ '''Selenium WebDriver'''] for UI automation.&lt;br /&gt;
* Implemented '''Page Object Models''' (POM's) for the web UI automation suites.&lt;br /&gt;
* Played a pivotal role in monitoring project subsystems using [https://www.splunk.com/ '''Splunk'''], introducing '''session IDs''' for comprehensive tracking of data and actions throughout the pipeline.&lt;br /&gt;
&lt;br /&gt;
== Mobile Squad - Testing and Automating Mobile Banking Apps ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Native Mobile App Testing|Mobile Apps]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], &amp;lt;br /&amp;gt;[[Skills#Accessibility Testing|Accessibility]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In my first role at Westpac, I tested Westpac's iOS and Android consumer banking apps. &lt;br /&gt;
&lt;br /&gt;
I contributed to &lt;br /&gt;
&lt;br /&gt;
* Automating the new features developed by the team ([https://appium.io/ '''Appium'''], [https://www.browserstack.com/guide/getting-started-xcuitest-framework '''XCUITest''']). &lt;br /&gt;
* App design and '''UX''' to test that new features were '''beautiful''', '''simple''' and '''accessible''' for a wide range of users. (&amp;quot;shifting-left&amp;quot;)&lt;br /&gt;
* Using [https://www.charlesproxy.com/ '''Charles Proxy'''] to intercept and modify API calls to facilitate alternative and negative testing scenarios.&lt;br /&gt;
* Maintaining the '''on-device mocks''' (compiled into the debug builds of the apps). &lt;br /&gt;
* '''Release''' testing activities.&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Westpac_NZ_-_Senior_Automation_Quality_Engineer&amp;diff=1387</id>
		<title>Westpac NZ - Senior Automation Quality Engineer</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Westpac_NZ_-_Senior_Automation_Quality_Engineer&amp;diff=1387"/>
		<updated>2024-08-27T02:50:12Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* D365 KiwiSaver Squad - Java API and UI Automation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
'''Apr-2021 - Nov-2023'''&lt;br /&gt;
== Westpac ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-right: -50px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking and Finance Sector]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Programming &amp;amp; Automation|Programming &amp;amp; Automation]],  [[Skills#Jira, Confluence|Jira, Confluence, Zephyr]]&lt;br /&gt;
|}&lt;br /&gt;
During my time at Westpac, I worked as a roving Senior Automation Quality Engineer across various teams. This role involved learning about different product domains, as well as the technology stacks used for the product, infrastructure, and automation suites. It was a challenging yet rewarding experience that kept me engaged and encouraged continuous learning. My focus was always on thorough testing, addressing immediate issues, and anticipating future challenges to drive project success.&lt;br /&gt;
&lt;br /&gt;
==[[References - Full List|References]]==&lt;br /&gt;
* [https://dirksonline.net/CV/Reference%20for%20Vincent%20from%20Stephen%20Stewart.pdf 2023 '''Stephen Stuart'''] Reference. ''Stephen was my People Lead for my duration at Westpac''&lt;br /&gt;
* [https://dirksonline.net/CV/Kate%20Nesmyelova%20-%20TTC%20Reference_check%20For%20Vincent_Dirks%202023.pdf 2023 '''Kate Nesmyelova'''] Reference Check for [[Water Services Reform, DIA - Senior Test Automation Engineer|TTC Global]]. ''Kate was the Quality Engineering Chapter Area Lead for Westpac''&lt;br /&gt;
* [https://dirksonline.net/CV/Hannah%20Gray%20Reference%20letter%20for%20Vincent%20Dirks%202023.pdf 2023 '''Hannah Gray'''] Reference. ''Hannah was team lead for the Test Environments team I was part of for 10 months''&lt;br /&gt;
'''linkedin Recommendations'''&lt;br /&gt;
: [https://dirksonline.net/CV/2023%20Isaac%20Carrington%20-%20LinkedIn%20Recommendation.jpg 2023 '''Isaac Carrington'''] Head of Platform Engineering&lt;br /&gt;
: [https://dirksonline.net/CV/2023%20Catherine%20Lupton%20-%20LinkedIn%20Recommendation.jpg 2023 '''Catherine Lupton'''] Test Manager&lt;br /&gt;
&lt;br /&gt;
== MF8TL Team - Legacy API Server Replacement ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Maven|Maven]], &amp;lt;br /&amp;gt;[[Skills#API Testing|API Testing]], [[Skills#Splunk|Splunk]], [[Skills#Observability Concepts|Observability]], [[Skills#IntelliJ|IntelliJ]]&lt;br /&gt;
|}&lt;br /&gt;
In my last role with Westpac I was part of the team that implemented a replacement of a legacy API Server used by the bank's mobile and web apps. The old system had a mature API automation suite implemented using [https://www.java.com/en/ '''Java'''], [https://testng.org/ '''TestNG'''], and [https://rest-assured.io/ '''REST-assured'''].&lt;br /&gt;
&lt;br /&gt;
My contributions&lt;br /&gt;
* '''Refactored''' the automation suite for use with the new server. &lt;br /&gt;
* Streamlined code, reduced duplication, and used method overloading to centralise request and response handling, which also facilitated logging to [https://www.splunk.com/ '''Splunk'''].&lt;br /&gt;
* Enhanced the API automation by crafting new test scenarios, adhering to established patterns such as '''service classes''' and '''POJOs''' (Plain Old Java Objects).&lt;br /&gt;
* Adapted testing tools and processes from the legacy system for seamless integration with the new implementation. &lt;br /&gt;
* Developed Splunk dashboards to monitor the progress of the new solution's implementation against the legacy system.&lt;br /&gt;
&lt;br /&gt;
== Test Environments Team - React Web App to Visualise Test Environments ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#React|Web App Development(React)]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#HashiCorp Vault|HashiCorp Vault]], [[Skills#mermaid.js|mermaid.js]], [[Skills#VS Code|VS Code]], [[Skills#Sonarlint &amp;amp; Sonarqube|Sonarqube]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins]]&lt;br /&gt;
|}&lt;br /&gt;
The [https://www.rbnz.govt.nz/regulation-and-supervision/oversight-of-banks/standards-and-requirements-for-banks/banks-outsourcing-policy BS11 Outsourcing policy for banks] by the [https://www.rbnz.govt.nz/ RBNZ] requires banks like [https://www.westpac.co.nz/ Westpac NZ] to have systems and processes to be able to replace any outsourcing by the start of the next business day. For Westpac NZ this includes severing all links to its parent [https://en.wikipedia.org/wiki/Westpac Westpac Banking Corporation] in Australia, within a matter of hours. Furthermore, BS11 requires credible evidence of this capability. &lt;br /&gt;
&lt;br /&gt;
The Test Environments Team was established to manage the test environments necessary for Westpac NZ to demonstrate a separation event. My main responsibility within this team was to build a small web app (UI and API) for visualising systems, and their interconnections across various test environments. My role primarily focused on JavaScript web app development, but I often provided insights from a tester's perspective and liaised with the Westpac Quality Engineering Chapter for their feedback.&lt;br /&gt;
&lt;br /&gt;
My work&lt;br /&gt;
* Developed a small web app (UI and API) using [https://nodejs.org/en '''Node.js'''], [https://expressjs.com/ '''Express.js'''], and [https://react.dev/ '''React''']..&lt;br /&gt;
* Created node maps illustrating system interconnections across various test environments using [https://mermaid.js.org/ '''mermaid.js'''].&lt;br /&gt;
* Provided insights from a tester's perspective and liaised with the Westpac Quality Engineering Chapter.&lt;br /&gt;
&lt;br /&gt;
==Observability Squad - Platform Engineer and Splunk Champion==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Splunk|Splunk]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Docker|Docker]], [[Skills#Linux|Linux]], [[Skills#Terraform|Terraform]], [[Skills#HashiCorp Vault|HashiCorp Vault]], [[Skills#Bash &amp;amp; PowerShell scripting|Bash]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Observability Squad, a Platform Engineering team tasked with supporting [https://www.splunk.com/ Splunk] and other observability tools like [https://www.dynatrace.com/ Dynatrace], I had the opportunity to learn and grow in the role of &amp;quot;'''Splunk Champion'''&amp;quot;. I was encouraged into this role by [https://dirksonline.net/CV/2023%20Isaac%20Carrington%20-%20LinkedIn%20Recommendation.jpg Isaac Carrington]''(Head of Platform Engineering)'' despite limited prior platform engineering experience. &lt;br /&gt;
&lt;br /&gt;
In my role, I:&lt;br /&gt;
* Acquired skills in Platform Engineering ('''Docker''', '''Linux VM's''', '''Terraform''', '''Bash''', '''HashiCorp Vault''')&lt;br /&gt;
* '''Supported''' internal '''Splunk users''' for ''(Searching, analysis, dashboard creation, PagerDuty integration)''&lt;br /&gt;
* '''Managed''' a distributed instance of '''Splunk Enterprise''' ''(Indexers, search heads, forwarders, event collectors, role-based access controls)''&lt;br /&gt;
* Introduced the Quality Engineering Chapter to use Splunk for '''Reporting and Dashboarding''' the results from their automation suites&lt;br /&gt;
&lt;br /&gt;
Moreover, as the &amp;quot;Splunk Champion&amp;quot;, I strived to help people see the customer's experience through the data being collected. When onboarding new systems, I guided users through a series of questions aimed at maximizing the Splunk system. Focusing on how best to monitor the '''solution's performance''' and '''errors''', as well as on the '''quality of the information''' being logged, to really enable '''efficient issue resolution'''.&lt;br /&gt;
&lt;br /&gt;
Ultimately, the goal of observability is to swiftly remediate critical issues by &lt;br /&gt;
* Detecting them, &lt;br /&gt;
* Understanding their impact, and &lt;br /&gt;
* Resolving them promptly.&lt;br /&gt;
&lt;br /&gt;
==D365 KiwiSaver Squad - Java API and UI Automation==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Web App Testing|D365 UI's]], 3rd Party [[Skills#API Testing|API's]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], &amp;lt;br /&amp;gt;[[Skills#Java|Java]], [[Skills#Cucumber (BDD)|Cucumber, BDD]], [[Skills#REST-assured|REST-assured]], [[Skills#Maven|Maven]],  [[Skills#Selenium|Selenium]], &amp;lt;br /&amp;gt;[[Skills#Webdriver.io|Webdriver.io]], [[Skills#IntelliJ|IntelliJ]], [[Skills#Page Object Models|POM's]], [[Skills#Splunk|Splunk]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In response to [https://www.ird.govt.nz/-/media/project/ir/home/documents/kiwisaver/kiwisaver-provider-update/new-ks-default-providers.pdf IRD's review of default KiwiSaver providers] in 2021, the Westpac-run BT Funds emerged as one of the continuing providers, necessitating the enrollment of approximately 40,000 clients. To manage this influx efficiently, the D365 KiwiSaver Team undertook the creation of a D365 workflow for streamlined enrollment processing. This involved developing an API interface to handle requests from IRD, along with automating basic flows and supporting staff with exception cases through the D365 UI. The solution utilized '''micro-services''', '''Kafka event queues''', '''Azure Event Hub queues''', and '''Azure functions'''.&lt;br /&gt;
&lt;br /&gt;
My Contributions:&lt;br /&gt;
&lt;br /&gt;
* Contributed to system design, test planning, and testing, and developed automation suites for both API and D365 web UI.&lt;br /&gt;
* Utilised [https://www.java.com/en/ '''Java'''], with [https://cucumber.io/ '''Cucumber (BDD)'''], [https://rest-assured.io/ '''REST-assured'''] for API automation, and [https://www.selenium.dev/documentation/webdriver/ '''Selenium WebDriver'''] for UI automation.&lt;br /&gt;
* Implemented '''Page Object Models''' (POM's) for the web UI automation suites.&lt;br /&gt;
* Played a pivotal role in monitoring project subsystems using [https://www.splunk.com/ '''Splunk'''], introducing '''session IDs''' for comprehensive tracking of data and actions throughout the pipeline.&lt;br /&gt;
&lt;br /&gt;
== Mobile Squad - Testing and Automating Mobile Banking Apps ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -0px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| [[Skills#Native Mobile App Testing|Mobile Apps]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], &amp;lt;br /&amp;gt;[[Skills#Accessibility Testing|Accessibility]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In my first role at Westpac, I tested Westpac's iOS and Android consumer banking apps. &lt;br /&gt;
&lt;br /&gt;
I contributed to &lt;br /&gt;
&lt;br /&gt;
* Automating the new features developed by the team ([https://appium.io/ '''Appium'''], [https://www.browserstack.com/guide/getting-started-xcuitest-framework '''XCUITest''']). &lt;br /&gt;
* App design and '''UX''' to test that new features were '''beautiful''', '''simple''' and '''accessible''' for a wide range of users. (&amp;quot;shifting-left&amp;quot;)&lt;br /&gt;
* Using [https://www.charlesproxy.com/ '''Charles Proxy'''] to intercept and modify API calls to facilitate alternative and negative testing scenarios.&lt;br /&gt;
* Maintaining the '''on-device mocks''' (compiled into the debug builds of the apps). &lt;br /&gt;
* '''Release''' testing activities.&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1386</id>
		<title>Curriculum Vitae - Vincent Dirks</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1386"/>
		<updated>2024-08-26T20:11:07Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Upskilling &amp;amp; Community Roles 2024 (May-2024 - Current) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
| Vincent Dirks&lt;br /&gt;
|-&lt;br /&gt;
! e-mail&lt;br /&gt;
| [mailto:vincent@dirksonline.net?Subject=Enquiry%20from%20CV%20Wiki vincent@dirksonline.net] &lt;br /&gt;
|-&lt;br /&gt;
! Mob&lt;br /&gt;
| 021-0269-6216&lt;br /&gt;
|-&lt;br /&gt;
! LinkedIn&lt;br /&gt;
| [https://nz.linkedin.com/in/vincent-dirks-937aa557 nz.linkedin.com]&lt;br /&gt;
|-&lt;br /&gt;
! Location&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Parau Parau], West Auckland&lt;br /&gt;
|-&lt;br /&gt;
! Download&lt;br /&gt;
| [https://dirksonline.net/CV/2024%20Curriculum%20Vitae%20-%20Vincent%20Dirks%20-%2013-Aug-2024.pdf Curriculum Vitae pdf]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vincent Dirks - [[What's in a title?|Software Quality Engineer]] ==&lt;br /&gt;
As a versatile Software Quality Engineer, I aim to understand the nuances of the product, team dynamics, technological landscapes, and organisational structures so that I can adapt and contribute effectively. I specialise in adapting to diverse contexts, and look beyond traditional testing methodologies to consider the design of the whole quality ecosystem necessary for delivering quality software solutions efficiently.&lt;br /&gt;
&lt;br /&gt;
== [[Skills]] ==&lt;br /&gt;
=== [[Skills#Testing|Testing Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Context Driven Testing&lt;br /&gt;
* API Testing&lt;br /&gt;
* Testing Native Mobile Apps&lt;br /&gt;
* Testing Web Apps &lt;br /&gt;
* Testing Firmware/Embedded systems&lt;br /&gt;
* Data Privacy&lt;br /&gt;
| &lt;br /&gt;
* Testability &amp;amp; Observability Concepts&lt;br /&gt;
* Exploratory Testing (Session &amp;amp; Thread Based)&lt;br /&gt;
* Visual Modelling&lt;br /&gt;
* Metrics Driven Development (A/B Testing)&lt;br /&gt;
* Accessibility Testing&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== [[Skills#Automation &amp;amp; Programming|Programming and Automation Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#JavaScript|JavaScript]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Java|Java]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Other Automation &amp;amp; Programming|Other]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Node.js, npm&lt;br /&gt;
* Express.js&lt;br /&gt;
* React&lt;br /&gt;
* Jest&lt;br /&gt;
* Cypress.io&lt;br /&gt;
* Webdriver.io&lt;br /&gt;
|&lt;br /&gt;
* [https://maven.apache.org/ Maven], [https://junit.org/ JUnit], [https://testng.org/ TestNG]&lt;br /&gt;
* [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD])&lt;br /&gt;
* [https://rest-assured.io/ REST-assured]&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs)&lt;br /&gt;
* [https://wave.tidalcode.dev/ Tidal. Wave]&lt;br /&gt;
|&lt;br /&gt;
* C#, Specflow (BDD)&lt;br /&gt;
* SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SSMS]&lt;br /&gt;
* Appium&lt;br /&gt;
* XCUITest&lt;br /&gt;
* GraphQL&lt;br /&gt;
* C++: Arduino, ESP32&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tools &amp;amp; Technologies Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [https://www.splunk.com/ Splunk]&lt;br /&gt;
* Postman, Newman&lt;br /&gt;
* VS Code, IntelliJ, Visual Studio&lt;br /&gt;
* Github, Bitbucket&lt;br /&gt;
* Docker, Linux&lt;br /&gt;
|&lt;br /&gt;
* [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
* Jenkins, Azure DevOps (TFS), Google Cloud Platform&lt;br /&gt;
* Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting&lt;br /&gt;
* [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence], [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale], [https://xmind.app/ XMind]&lt;br /&gt;
* [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Domain Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Banking and Finance Sector&lt;br /&gt;
* AML/CFT Sector&lt;br /&gt;
* Online Auction Platforms&lt;br /&gt;
* Vehicle Leasing systems&lt;br /&gt;
* Platform Engineering&lt;br /&gt;
* Staff Mentoring &amp;amp; Induction&lt;br /&gt;
| &lt;br /&gt;
* Agile (Scrum, Kanban, SAFe, Squad Master)&lt;br /&gt;
* Microservices Architecture&lt;br /&gt;
* Manufacturing Resource Planning - Logistics Manager&lt;br /&gt;
* Physics - Weather Radar Systems, Lasers, Fibre-optics&lt;br /&gt;
* Electrical &amp;amp; Electronic Engineering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Work Experience == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== [[Upskilling &amp;amp; Community Roles 2024]] (May-2024 - Current) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Playwright|Playwright]], Splunk, Docker, Node.js, Cloudlets, Wikimedia, &amp;lt;br/&amp;gt;Meetup Organising, IoT &amp;amp; ESP32 embedded programing&lt;br /&gt;
|}&lt;br /&gt;
: Whilst looking for work and updating my online CV Wiki, I’m also leading the efforts to bring back a regular schedule of events for the [https://www.meetup.com/Ministry-of-Testing-Auckland Ministry of Testing in Auckland]. I’m pursuing personal projects with Playwright, Splunk, Docker, Node.js to setup an online publicly accessible testing hub, initially for testing my CV Wiki through [https://cloudlets.com.au Cloudlets]. I’m also dabbling in some IoT with some embedded programming of an ESP32 to send data to Splunk, such as measuring temperature and humidity around my home.&lt;br /&gt;
&lt;br /&gt;
=== [[Water Services Reform, DIA - Senior Test Automation Engineer]] (Nov-2023 - Jan-2024) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#Maven|Maven]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#Tidal. Wave|Tidal. Wave]], [[Skills#IntelliJ|IntelliJ]], &amp;lt;br/&amp;gt;[[Skills#Web App Testing|Web App Testing]], [[Skills#Azure DevOps (TFS)|Azure DevOps]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting through [https://ttcglobal.com TTC Global]. Test Automation team, Three Waters Project, developing a UI Automation suite in Java using the [https://wave.tidalcode.dev/ Tidal. wave] Selenium automation library&lt;br /&gt;
&lt;br /&gt;
=== [[Westpac NZ - Senior Automation Quality Engineer]] (Apr-2021 - Nov-2023) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#API Testing|API's]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#Web App Testing|Web]], [[Skills#Observability Concepts|Observability]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Java|Java]], &amp;lt;br /&amp;gt;[[Skills#Cucumber (BDD)|Cucumber]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#JavaScript|JavaScript]], [[Skills#React|React]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#Linux|Linux]], [[Skills#Docker|Docker]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], &amp;lt;br /&amp;gt;[[Skills#Jira, Confluence|Jira, Confluence, Zephyr]], [[Skills#Splunk|Splunk]], [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins, Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Served as a roving Automation Quality Engineer, addressing testing and automation needs across multiple teams. Conducted testing and automation for mobile apps (Appium &amp;amp; XCUITest), a D365 web UI (Java, Selenium, POM's), and various APIs (Java, REST Assured). Also contributed as a platform engineer supporting Splunk, and developed a React web app for visualising test environments (Node.js, React, mermaid.js).&lt;br /&gt;
&lt;br /&gt;
=== [[FirstAML - Test Analyst]] (Oct-2020 - Mar-2021) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman]], [[Skills#AML/CFT Sector|AML/CFT]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Data Privacy|Data Privacy]], [[Skills#GraphQL|GraphQL]], AWS&lt;br /&gt;
|}&lt;br /&gt;
: Served as a quality coach for a startup company developing a ReactJS Web App for the AML/CFT (Anti-Money Laundering/Countering Financing of Terrorism) sector.&lt;br /&gt;
&lt;br /&gt;
=== [[Weather Radar NZ limited - Weather Radar Systems Engineer]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Physics - Weather Radar Systems, Lasers, Fibre-optics|Weather Radar Systems]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], &amp;lt;br /&amp;gt;[[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Testing]], [[Skills#C++, Arduino, ESP32|Arduino]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 4 days/week. Retrofitting legacy weather radars with embedded Arduino micro controllers. Designing new electronics, PCB's, maintaining power waveguide systems, and performing signal analysis.&lt;br /&gt;
&lt;br /&gt;
=== [[Grappler- Agile Quality Analyst]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman, Newman]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Google Cloud Platform]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 1 day/week. Developed a small solution to run a Postman collection in Google Cloud Platform and a simple Web UI (Node.js, Express.js) to trigger test runs and display HTML test reports.&lt;br /&gt;
&lt;br /&gt;
=== [[Fiserv Auckland - Intermediate Software Test Engineer]] (Jan-2017 - Apr-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#Programming &amp;amp; Automation|Automation]], [[Skills#API Testing|API Testing]], [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#Splunk|Splunk]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jira, Confluence|Jira, Confluence]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Native Mobile App functional and accessibility testing. API testing and automation, using Postman/Newman, Specflow with C#, JavaScript (Postman, Node.js, Express.js), Splunk for dashboards, TFS &amp;amp; Powershell for System deployment automation. Created the Postman Testrunner Framework (PTF) for automated API integration checks and environment health monitoring.&lt;br /&gt;
&lt;br /&gt;
=== [[Trade Me - Senior Software Test Analyst]] (Dec-2014 - Aug-2016) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Context Driven Testing|Context Driven Testing]], [[Skills#Exploratory Testing (Session &amp;amp; Thread Based)|Exploratory Testing]], [[Skills#Agile Squad Master|Agile]], [[Skills#Testability Concepts|Testability]], [[Skills#Accessibility Testing|Accessibility]], &amp;lt;br /&amp;gt;[[Skills#Observability Concepts|Observability]], [[Skills#Jira, Confluence|Jira, Confluence]], DB, [[Skills#Web App Testing|Web App]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#API Testing|API Testing]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#Splunk|Splunk]], [[Skills#SoapUI, ReadyAPI|ReadyAPI]], [[Skills#Metrics Driven Development (A/B Testing)|A/B Testing]], [[Skills#XMind|XMind]], [[Skills#Staff Mentoring &amp;amp; Induction|Onboarding]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]]&lt;br /&gt;
|}&lt;br /&gt;
: Context-driven exploratory testing for software changes to the iconic [https://www.trademe.co.nz/ Trade Me] website, focussing on the [https://www.trademe.co.nz/a/motors Motors] page &amp;amp; features. My responsibilities included testing DBs, UIs, APIs, and mobile apps, leading deployments, conducting test planning and peer reviews, utilising BDD and visual test tools. I gained experience with implementing agile methods, Splunk, ReadyAPI, XMind, Jira, and Confluence. I also enjoyed onboarding new staff and contributing to the test and agile guilds.&lt;br /&gt;
&lt;br /&gt;
=== [[Pre-2014 Roles]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing]], VB, [[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Dev &amp;amp; Test]], [[Skills#Manufacturing Resource Planning|MRP II]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], Logistics, Networking, [[Skills#Teaching &amp;amp; Tutoring|Training &amp;amp; Tutoring]], &amp;lt;br /&amp;gt;[[Skills#C++, Arduino, ESP32|C++]], Customer &amp;amp; Tech Support, Production Planning, Documentation, Specifications, Sales Forecasting&lt;br /&gt;
|}&lt;br /&gt;
: [[Pre-2014 Roles#LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014)|Software Tester]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)|Logistics Manager]], [[Pre-2014 Roles#Primary Caregiver (Sep-2003 - Jul-2005)|Caregiver]], [[Pre-2014 Roles#Bioengineering Institute - Software Engineer (Sep 2002 - Aug 2003)|Software Engineer]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)|Development &amp;amp; Support Engineer]], [[Pre-2014 Roles#Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)|Production Scheduler]], [[Pre-2014 Roles#University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time)|Physics Tutor]]&lt;br /&gt;
&lt;br /&gt;
== Related wiki pages ==&lt;br /&gt;
=== [[References_-_Full_List|References]] ===&lt;br /&gt;
:[[References_-_Full_List#Dept. of Internal Affairs (TTC)| TTC]], [[References_-_Full_List#Westpac| Westpac ]], [[References_-_Full_List#Fiserv| Fiserv ]], [[References_-_Full_List#| Trade Me Motors]]&lt;br /&gt;
&lt;br /&gt;
=== GitHub Profile ===&lt;br /&gt;
: [[My GitHub Projects]]&lt;br /&gt;
&lt;br /&gt;
=== [[Volunteering]] ===&lt;br /&gt;
: [https://www.neighbourly.co.nz/organisation/laingholm-district-citizens-association Laingholm &amp;amp; Districts Citizens Association], [[Ministry of Testing - Auckland Branch|Ministry of Testing]], Eastern Suburbs AFC, Glendowie Boating Club, MOTAT, Eastern Suburbs Montessori Primary School&lt;br /&gt;
&lt;br /&gt;
=== [[Professional Development]] ===&lt;br /&gt;
: Conferences, workshops, meetups etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Education]] ===&lt;br /&gt;
: University of Auckland: ME(Elec) 1993&lt;br /&gt;
&lt;br /&gt;
=== [[Presentations, Posts, and blogs]] ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==What I'm reading, watching, listening, learning, and trying out in 2024==&lt;br /&gt;
&lt;br /&gt;
===Learning===&lt;br /&gt;
* [https://www.udemy.com/course/playwright-from-zero-to-hero Udemy Playwright: Web Automation Testing From Zero to Hero]&lt;br /&gt;
: I'm going to try use this to test some of my CV Wiki site. &lt;br /&gt;
: See [[Udemy Playwright: Web Automation Testing From Zero to Hero|my notes]] as well as GitHub [https://github.com/VincentDirks/Playwright-Udemy-Course repo #1], and [https://github.com/VincentDirks/Playwright-Udemy-Course-2 repo #2]&lt;br /&gt;
&lt;br /&gt;
===My Personal [[Observability Project]]===&lt;br /&gt;
* [https://expressjs.com/en/starter/hello-world.html Express.js basic hello world] and my [https://github.com/VincentDirks/node.js-in-the-cloud node.js-in-the-cloud] repo&lt;br /&gt;
* [https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker Kubernetes vs. Docker] by Josh Campbell at Atlassian &amp;lt;br&amp;gt;&lt;br /&gt;
:I want to learn the difference between these technologies to see how it might apply to my [[Observability Project]]&lt;br /&gt;
&lt;br /&gt;
* Setting up Docker Desktop at home to run the [https://github.com/Splunk/docker-Splunk Docker Splunk Image]&lt;br /&gt;
&lt;br /&gt;
=== Test Community Events ===&lt;br /&gt;
* Attended [https://nztestingconf.nz/ NZTestingConf 2024] in Wellington. Presentations: &lt;br /&gt;
** Shay Naiki, QA Manager @ Alphero: Creating a collaborative culture in the testing world: lessons from life in a digital agency&lt;br /&gt;
** Nevetha Mani, Product Human @ Hectre: Off the beaten path: rethinking quality in the startup world&lt;br /&gt;
** Emma Procter &amp;amp; Jonathan Shirley, @ PikPok: Finding the fun: researching and playtesting games at PikPok&lt;br /&gt;
** Patricio Miner, Content Creator @ Free Range Testers: ETL: the testing niche you've never thought of&lt;br /&gt;
** Toby Martin, QA Practice Lead @ Pushpay: Stop automating, start investigating: a guide to slowing down to speed up &lt;br /&gt;
** Ryan Bevens, QA Community Manager @ Potentia: Diary of a reluctant recruiter: your value as a tester&lt;br /&gt;
&lt;br /&gt;
===Interesting Reads===&lt;br /&gt;
* '''[https://www.satisfice.com/download/a-context-driven-approach-to-automation-in-testing A Context Driven Approach to Automation in Testing]''' By James Bach and Michael Bolton&lt;br /&gt;
:Quote: ''&amp;quot;dynamically evaluating context and selecting, designing, or adjusting our actions to solve the problems that we encounter.&amp;quot;''&lt;br /&gt;
* '''[https://www.satisfice.com/blog/archives/4947 Round Earth Test Strategy]''' by James Bach&lt;br /&gt;
:Interesting alternative to the ''&amp;quot;Test Automation Pyramid&amp;quot;''. &lt;br /&gt;
:Quote: ''There are testing problems to consider at every level, &amp;quot;Quality above requires quality below&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
===[[Archive What I'm Reading, Watching, Listing, Learning, and Trying Out|Archive]]===&lt;br /&gt;
:Old pre-2024 entries&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1385</id>
		<title>Curriculum Vitae - Vincent Dirks</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1385"/>
		<updated>2024-08-26T20:09:21Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Upskilling &amp;amp; Community Roles 2024 (May-2024 - Current) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
| Vincent Dirks&lt;br /&gt;
|-&lt;br /&gt;
! e-mail&lt;br /&gt;
| [mailto:vincent@dirksonline.net?Subject=Enquiry%20from%20CV%20Wiki vincent@dirksonline.net] &lt;br /&gt;
|-&lt;br /&gt;
! Mob&lt;br /&gt;
| 021-0269-6216&lt;br /&gt;
|-&lt;br /&gt;
! LinkedIn&lt;br /&gt;
| [https://nz.linkedin.com/in/vincent-dirks-937aa557 nz.linkedin.com]&lt;br /&gt;
|-&lt;br /&gt;
! Location&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Parau Parau], West Auckland&lt;br /&gt;
|-&lt;br /&gt;
! Download&lt;br /&gt;
| [https://dirksonline.net/CV/2024%20Curriculum%20Vitae%20-%20Vincent%20Dirks%20-%2013-Aug-2024.pdf Curriculum Vitae pdf]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vincent Dirks - [[What's in a title?|Software Quality Engineer]] ==&lt;br /&gt;
As a versatile Software Quality Engineer, I aim to understand the nuances of the product, team dynamics, technological landscapes, and organisational structures so that I can adapt and contribute effectively. I specialise in adapting to diverse contexts, and look beyond traditional testing methodologies to consider the design of the whole quality ecosystem necessary for delivering quality software solutions efficiently.&lt;br /&gt;
&lt;br /&gt;
== [[Skills]] ==&lt;br /&gt;
=== [[Skills#Testing|Testing Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Context Driven Testing&lt;br /&gt;
* API Testing&lt;br /&gt;
* Testing Native Mobile Apps&lt;br /&gt;
* Testing Web Apps &lt;br /&gt;
* Testing Firmware/Embedded systems&lt;br /&gt;
* Data Privacy&lt;br /&gt;
| &lt;br /&gt;
* Testability &amp;amp; Observability Concepts&lt;br /&gt;
* Exploratory Testing (Session &amp;amp; Thread Based)&lt;br /&gt;
* Visual Modelling&lt;br /&gt;
* Metrics Driven Development (A/B Testing)&lt;br /&gt;
* Accessibility Testing&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== [[Skills#Automation &amp;amp; Programming|Programming and Automation Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#JavaScript|JavaScript]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Java|Java]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Other Automation &amp;amp; Programming|Other]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Node.js, npm&lt;br /&gt;
* Express.js&lt;br /&gt;
* React&lt;br /&gt;
* Jest&lt;br /&gt;
* Cypress.io&lt;br /&gt;
* Webdriver.io&lt;br /&gt;
|&lt;br /&gt;
* [https://maven.apache.org/ Maven], [https://junit.org/ JUnit], [https://testng.org/ TestNG]&lt;br /&gt;
* [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD])&lt;br /&gt;
* [https://rest-assured.io/ REST-assured]&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs)&lt;br /&gt;
* [https://wave.tidalcode.dev/ Tidal. Wave]&lt;br /&gt;
|&lt;br /&gt;
* C#, Specflow (BDD)&lt;br /&gt;
* SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SSMS]&lt;br /&gt;
* Appium&lt;br /&gt;
* XCUITest&lt;br /&gt;
* GraphQL&lt;br /&gt;
* C++: Arduino, ESP32&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tools &amp;amp; Technologies Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [https://www.splunk.com/ Splunk]&lt;br /&gt;
* Postman, Newman&lt;br /&gt;
* VS Code, IntelliJ, Visual Studio&lt;br /&gt;
* Github, Bitbucket&lt;br /&gt;
* Docker, Linux&lt;br /&gt;
|&lt;br /&gt;
* [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
* Jenkins, Azure DevOps (TFS), Google Cloud Platform&lt;br /&gt;
* Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting&lt;br /&gt;
* [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence], [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale], [https://xmind.app/ XMind]&lt;br /&gt;
* [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Domain Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Banking and Finance Sector&lt;br /&gt;
* AML/CFT Sector&lt;br /&gt;
* Online Auction Platforms&lt;br /&gt;
* Vehicle Leasing systems&lt;br /&gt;
* Platform Engineering&lt;br /&gt;
* Staff Mentoring &amp;amp; Induction&lt;br /&gt;
| &lt;br /&gt;
* Agile (Scrum, Kanban, SAFe, Squad Master)&lt;br /&gt;
* Microservices Architecture&lt;br /&gt;
* Manufacturing Resource Planning - Logistics Manager&lt;br /&gt;
* Physics - Weather Radar Systems, Lasers, Fibre-optics&lt;br /&gt;
* Electrical &amp;amp; Electronic Engineering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Work Experience == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== [[Upskilling &amp;amp; Community Roles 2024]] (May-2024 - Current) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Playwright|Playwright]], Splunk, Docker, Node.js, Cloudlets, Wikimedia, &amp;lt;br/&amp;gt;Meetup Organising, IoT &amp;amp; ESP32 embedded programing&lt;br /&gt;
|}&lt;br /&gt;
: Whilst looking for work and updating my online CV Wiki, I’m also leading the efforts to bring back a regular schedule of events for the [https://www.meetup.com/Ministry-of-Testing-Auckland Ministry of Testing in Auckland]. I’m pursuing personal projects with Playwright, Splunk, Docker, Node.js to setup an online publicly accessible testing hub, initially for testing my CV Wiki through app.cloudlets.com.au. I’m also dabbling in some IoT with some embedded programming of an ESP32 to send data to Splunk, such as measuring temperature and humidity around my home.&lt;br /&gt;
&lt;br /&gt;
=== [[Water Services Reform, DIA - Senior Test Automation Engineer]] (Nov-2023 - Jan-2024) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#Maven|Maven]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#Tidal. Wave|Tidal. Wave]], [[Skills#IntelliJ|IntelliJ]], &amp;lt;br/&amp;gt;[[Skills#Web App Testing|Web App Testing]], [[Skills#Azure DevOps (TFS)|Azure DevOps]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting through [https://ttcglobal.com TTC Global]. Test Automation team, Three Waters Project, developing a UI Automation suite in Java using the [https://wave.tidalcode.dev/ Tidal. wave] Selenium automation library&lt;br /&gt;
&lt;br /&gt;
=== [[Westpac NZ - Senior Automation Quality Engineer]] (Apr-2021 - Nov-2023) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#API Testing|API's]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#Web App Testing|Web]], [[Skills#Observability Concepts|Observability]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Java|Java]], &amp;lt;br /&amp;gt;[[Skills#Cucumber (BDD)|Cucumber]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#JavaScript|JavaScript]], [[Skills#React|React]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#Linux|Linux]], [[Skills#Docker|Docker]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], &amp;lt;br /&amp;gt;[[Skills#Jira, Confluence|Jira, Confluence, Zephyr]], [[Skills#Splunk|Splunk]], [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins, Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Served as a roving Automation Quality Engineer, addressing testing and automation needs across multiple teams. Conducted testing and automation for mobile apps (Appium &amp;amp; XCUITest), a D365 web UI (Java, Selenium, POM's), and various APIs (Java, REST Assured). Also contributed as a platform engineer supporting Splunk, and developed a React web app for visualising test environments (Node.js, React, mermaid.js).&lt;br /&gt;
&lt;br /&gt;
=== [[FirstAML - Test Analyst]] (Oct-2020 - Mar-2021) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman]], [[Skills#AML/CFT Sector|AML/CFT]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Data Privacy|Data Privacy]], [[Skills#GraphQL|GraphQL]], AWS&lt;br /&gt;
|}&lt;br /&gt;
: Served as a quality coach for a startup company developing a ReactJS Web App for the AML/CFT (Anti-Money Laundering/Countering Financing of Terrorism) sector.&lt;br /&gt;
&lt;br /&gt;
=== [[Weather Radar NZ limited - Weather Radar Systems Engineer]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Physics - Weather Radar Systems, Lasers, Fibre-optics|Weather Radar Systems]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], &amp;lt;br /&amp;gt;[[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Testing]], [[Skills#C++, Arduino, ESP32|Arduino]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 4 days/week. Retrofitting legacy weather radars with embedded Arduino micro controllers. Designing new electronics, PCB's, maintaining power waveguide systems, and performing signal analysis.&lt;br /&gt;
&lt;br /&gt;
=== [[Grappler- Agile Quality Analyst]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman, Newman]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Google Cloud Platform]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 1 day/week. Developed a small solution to run a Postman collection in Google Cloud Platform and a simple Web UI (Node.js, Express.js) to trigger test runs and display HTML test reports.&lt;br /&gt;
&lt;br /&gt;
=== [[Fiserv Auckland - Intermediate Software Test Engineer]] (Jan-2017 - Apr-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#Programming &amp;amp; Automation|Automation]], [[Skills#API Testing|API Testing]], [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#Splunk|Splunk]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jira, Confluence|Jira, Confluence]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Native Mobile App functional and accessibility testing. API testing and automation, using Postman/Newman, Specflow with C#, JavaScript (Postman, Node.js, Express.js), Splunk for dashboards, TFS &amp;amp; Powershell for System deployment automation. Created the Postman Testrunner Framework (PTF) for automated API integration checks and environment health monitoring.&lt;br /&gt;
&lt;br /&gt;
=== [[Trade Me - Senior Software Test Analyst]] (Dec-2014 - Aug-2016) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Context Driven Testing|Context Driven Testing]], [[Skills#Exploratory Testing (Session &amp;amp; Thread Based)|Exploratory Testing]], [[Skills#Agile Squad Master|Agile]], [[Skills#Testability Concepts|Testability]], [[Skills#Accessibility Testing|Accessibility]], &amp;lt;br /&amp;gt;[[Skills#Observability Concepts|Observability]], [[Skills#Jira, Confluence|Jira, Confluence]], DB, [[Skills#Web App Testing|Web App]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#API Testing|API Testing]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#Splunk|Splunk]], [[Skills#SoapUI, ReadyAPI|ReadyAPI]], [[Skills#Metrics Driven Development (A/B Testing)|A/B Testing]], [[Skills#XMind|XMind]], [[Skills#Staff Mentoring &amp;amp; Induction|Onboarding]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]]&lt;br /&gt;
|}&lt;br /&gt;
: Context-driven exploratory testing for software changes to the iconic [https://www.trademe.co.nz/ Trade Me] website, focussing on the [https://www.trademe.co.nz/a/motors Motors] page &amp;amp; features. My responsibilities included testing DBs, UIs, APIs, and mobile apps, leading deployments, conducting test planning and peer reviews, utilising BDD and visual test tools. I gained experience with implementing agile methods, Splunk, ReadyAPI, XMind, Jira, and Confluence. I also enjoyed onboarding new staff and contributing to the test and agile guilds.&lt;br /&gt;
&lt;br /&gt;
=== [[Pre-2014 Roles]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing]], VB, [[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Dev &amp;amp; Test]], [[Skills#Manufacturing Resource Planning|MRP II]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], Logistics, Networking, [[Skills#Teaching &amp;amp; Tutoring|Training &amp;amp; Tutoring]], &amp;lt;br /&amp;gt;[[Skills#C++, Arduino, ESP32|C++]], Customer &amp;amp; Tech Support, Production Planning, Documentation, Specifications, Sales Forecasting&lt;br /&gt;
|}&lt;br /&gt;
: [[Pre-2014 Roles#LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014)|Software Tester]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)|Logistics Manager]], [[Pre-2014 Roles#Primary Caregiver (Sep-2003 - Jul-2005)|Caregiver]], [[Pre-2014 Roles#Bioengineering Institute - Software Engineer (Sep 2002 - Aug 2003)|Software Engineer]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)|Development &amp;amp; Support Engineer]], [[Pre-2014 Roles#Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)|Production Scheduler]], [[Pre-2014 Roles#University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time)|Physics Tutor]]&lt;br /&gt;
&lt;br /&gt;
== Related wiki pages ==&lt;br /&gt;
=== [[References_-_Full_List|References]] ===&lt;br /&gt;
:[[References_-_Full_List#Dept. of Internal Affairs (TTC)| TTC]], [[References_-_Full_List#Westpac| Westpac ]], [[References_-_Full_List#Fiserv| Fiserv ]], [[References_-_Full_List#| Trade Me Motors]]&lt;br /&gt;
&lt;br /&gt;
=== GitHub Profile ===&lt;br /&gt;
: [[My GitHub Projects]]&lt;br /&gt;
&lt;br /&gt;
=== [[Volunteering]] ===&lt;br /&gt;
: [https://www.neighbourly.co.nz/organisation/laingholm-district-citizens-association Laingholm &amp;amp; Districts Citizens Association], [[Ministry of Testing - Auckland Branch|Ministry of Testing]], Eastern Suburbs AFC, Glendowie Boating Club, MOTAT, Eastern Suburbs Montessori Primary School&lt;br /&gt;
&lt;br /&gt;
=== [[Professional Development]] ===&lt;br /&gt;
: Conferences, workshops, meetups etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Education]] ===&lt;br /&gt;
: University of Auckland: ME(Elec) 1993&lt;br /&gt;
&lt;br /&gt;
=== [[Presentations, Posts, and blogs]] ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==What I'm reading, watching, listening, learning, and trying out in 2024==&lt;br /&gt;
&lt;br /&gt;
===Learning===&lt;br /&gt;
* [https://www.udemy.com/course/playwright-from-zero-to-hero Udemy Playwright: Web Automation Testing From Zero to Hero]&lt;br /&gt;
: I'm going to try use this to test some of my CV Wiki site. &lt;br /&gt;
: See [[Udemy Playwright: Web Automation Testing From Zero to Hero|my notes]] as well as GitHub [https://github.com/VincentDirks/Playwright-Udemy-Course repo #1], and [https://github.com/VincentDirks/Playwright-Udemy-Course-2 repo #2]&lt;br /&gt;
&lt;br /&gt;
===My Personal [[Observability Project]]===&lt;br /&gt;
* [https://expressjs.com/en/starter/hello-world.html Express.js basic hello world] and my [https://github.com/VincentDirks/node.js-in-the-cloud node.js-in-the-cloud] repo&lt;br /&gt;
* [https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker Kubernetes vs. Docker] by Josh Campbell at Atlassian &amp;lt;br&amp;gt;&lt;br /&gt;
:I want to learn the difference between these technologies to see how it might apply to my [[Observability Project]]&lt;br /&gt;
&lt;br /&gt;
* Setting up Docker Desktop at home to run the [https://github.com/Splunk/docker-Splunk Docker Splunk Image]&lt;br /&gt;
&lt;br /&gt;
=== Test Community Events ===&lt;br /&gt;
* Attended [https://nztestingconf.nz/ NZTestingConf 2024] in Wellington. Presentations: &lt;br /&gt;
** Shay Naiki, QA Manager @ Alphero: Creating a collaborative culture in the testing world: lessons from life in a digital agency&lt;br /&gt;
** Nevetha Mani, Product Human @ Hectre: Off the beaten path: rethinking quality in the startup world&lt;br /&gt;
** Emma Procter &amp;amp; Jonathan Shirley, @ PikPok: Finding the fun: researching and playtesting games at PikPok&lt;br /&gt;
** Patricio Miner, Content Creator @ Free Range Testers: ETL: the testing niche you've never thought of&lt;br /&gt;
** Toby Martin, QA Practice Lead @ Pushpay: Stop automating, start investigating: a guide to slowing down to speed up &lt;br /&gt;
** Ryan Bevens, QA Community Manager @ Potentia: Diary of a reluctant recruiter: your value as a tester&lt;br /&gt;
&lt;br /&gt;
===Interesting Reads===&lt;br /&gt;
* '''[https://www.satisfice.com/download/a-context-driven-approach-to-automation-in-testing A Context Driven Approach to Automation in Testing]''' By James Bach and Michael Bolton&lt;br /&gt;
:Quote: ''&amp;quot;dynamically evaluating context and selecting, designing, or adjusting our actions to solve the problems that we encounter.&amp;quot;''&lt;br /&gt;
* '''[https://www.satisfice.com/blog/archives/4947 Round Earth Test Strategy]''' by James Bach&lt;br /&gt;
:Interesting alternative to the ''&amp;quot;Test Automation Pyramid&amp;quot;''. &lt;br /&gt;
:Quote: ''There are testing problems to consider at every level, &amp;quot;Quality above requires quality below&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
===[[Archive What I'm Reading, Watching, Listing, Learning, and Trying Out|Archive]]===&lt;br /&gt;
:Old pre-2024 entries&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1384</id>
		<title>Curriculum Vitae - Vincent Dirks</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1384"/>
		<updated>2024-08-26T20:08:53Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Upskilling &amp;amp; Community Roles 2024 (May-2024 - Current) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
| Vincent Dirks&lt;br /&gt;
|-&lt;br /&gt;
! e-mail&lt;br /&gt;
| [mailto:vincent@dirksonline.net?Subject=Enquiry%20from%20CV%20Wiki vincent@dirksonline.net] &lt;br /&gt;
|-&lt;br /&gt;
! Mob&lt;br /&gt;
| 021-0269-6216&lt;br /&gt;
|-&lt;br /&gt;
! LinkedIn&lt;br /&gt;
| [https://nz.linkedin.com/in/vincent-dirks-937aa557 nz.linkedin.com]&lt;br /&gt;
|-&lt;br /&gt;
! Location&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Parau Parau], West Auckland&lt;br /&gt;
|-&lt;br /&gt;
! Download&lt;br /&gt;
| [https://dirksonline.net/CV/2024%20Curriculum%20Vitae%20-%20Vincent%20Dirks%20-%2013-Aug-2024.pdf Curriculum Vitae pdf]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vincent Dirks - [[What's in a title?|Software Quality Engineer]] ==&lt;br /&gt;
As a versatile Software Quality Engineer, I aim to understand the nuances of the product, team dynamics, technological landscapes, and organisational structures so that I can adapt and contribute effectively. I specialise in adapting to diverse contexts, and look beyond traditional testing methodologies to consider the design of the whole quality ecosystem necessary for delivering quality software solutions efficiently.&lt;br /&gt;
&lt;br /&gt;
== [[Skills]] ==&lt;br /&gt;
=== [[Skills#Testing|Testing Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Context Driven Testing&lt;br /&gt;
* API Testing&lt;br /&gt;
* Testing Native Mobile Apps&lt;br /&gt;
* Testing Web Apps &lt;br /&gt;
* Testing Firmware/Embedded systems&lt;br /&gt;
* Data Privacy&lt;br /&gt;
| &lt;br /&gt;
* Testability &amp;amp; Observability Concepts&lt;br /&gt;
* Exploratory Testing (Session &amp;amp; Thread Based)&lt;br /&gt;
* Visual Modelling&lt;br /&gt;
* Metrics Driven Development (A/B Testing)&lt;br /&gt;
* Accessibility Testing&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== [[Skills#Automation &amp;amp; Programming|Programming and Automation Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#JavaScript|JavaScript]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Java|Java]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Other Automation &amp;amp; Programming|Other]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Node.js, npm&lt;br /&gt;
* Express.js&lt;br /&gt;
* React&lt;br /&gt;
* Jest&lt;br /&gt;
* Cypress.io&lt;br /&gt;
* Webdriver.io&lt;br /&gt;
|&lt;br /&gt;
* [https://maven.apache.org/ Maven], [https://junit.org/ JUnit], [https://testng.org/ TestNG]&lt;br /&gt;
* [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD])&lt;br /&gt;
* [https://rest-assured.io/ REST-assured]&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs)&lt;br /&gt;
* [https://wave.tidalcode.dev/ Tidal. Wave]&lt;br /&gt;
|&lt;br /&gt;
* C#, Specflow (BDD)&lt;br /&gt;
* SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SSMS]&lt;br /&gt;
* Appium&lt;br /&gt;
* XCUITest&lt;br /&gt;
* GraphQL&lt;br /&gt;
* C++: Arduino, ESP32&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tools &amp;amp; Technologies Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [https://www.splunk.com/ Splunk]&lt;br /&gt;
* Postman, Newman&lt;br /&gt;
* VS Code, IntelliJ, Visual Studio&lt;br /&gt;
* Github, Bitbucket&lt;br /&gt;
* Docker, Linux&lt;br /&gt;
|&lt;br /&gt;
* [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
* Jenkins, Azure DevOps (TFS), Google Cloud Platform&lt;br /&gt;
* Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting&lt;br /&gt;
* [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence], [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale], [https://xmind.app/ XMind]&lt;br /&gt;
* [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Domain Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Banking and Finance Sector&lt;br /&gt;
* AML/CFT Sector&lt;br /&gt;
* Online Auction Platforms&lt;br /&gt;
* Vehicle Leasing systems&lt;br /&gt;
* Platform Engineering&lt;br /&gt;
* Staff Mentoring &amp;amp; Induction&lt;br /&gt;
| &lt;br /&gt;
* Agile (Scrum, Kanban, SAFe, Squad Master)&lt;br /&gt;
* Microservices Architecture&lt;br /&gt;
* Manufacturing Resource Planning - Logistics Manager&lt;br /&gt;
* Physics - Weather Radar Systems, Lasers, Fibre-optics&lt;br /&gt;
* Electrical &amp;amp; Electronic Engineering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Work Experience == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== [[Upskilling &amp;amp; Community Roles 2024]] (May-2024 - Current) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Playwright|Playwright]], Splunk, Docker, Node.js, Cloudlets, Wikimedia, &amp;lt;br/&amp;gt;Meetup Organising, IoT &amp;amp; ESP32 embedded programing&lt;br /&gt;
|}&lt;br /&gt;
: Whilst looking for work and updating my online CV Wiki, I’m also leading the efforts to bring back a regular schedule of events for the [https://www.meetup.com/Ministry-of-Testing-Auckland Ministry of Testing in Auckland]. I’m pursuing personal projects with Playwright, Splunk, Docker, Node.js to setup an online publicly accessible testing hub, initially for testing my CV Wiki through app.cloudlets.com.au. I’m also dabbling in some IoT with some embedded programming of an ESP32 to send data to Splunk, such as measuring temperature and humidity around my home. &lt;br /&gt;
&lt;br /&gt;
:* [[Udemy Playwright: Web Automation Testing From Zero to Hero]]&lt;br /&gt;
&lt;br /&gt;
=== [[Water Services Reform, DIA - Senior Test Automation Engineer]] (Nov-2023 - Jan-2024) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#Maven|Maven]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#Tidal. Wave|Tidal. Wave]], [[Skills#IntelliJ|IntelliJ]], &amp;lt;br/&amp;gt;[[Skills#Web App Testing|Web App Testing]], [[Skills#Azure DevOps (TFS)|Azure DevOps]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting through [https://ttcglobal.com TTC Global]. Test Automation team, Three Waters Project, developing a UI Automation suite in Java using the [https://wave.tidalcode.dev/ Tidal. wave] Selenium automation library&lt;br /&gt;
&lt;br /&gt;
=== [[Westpac NZ - Senior Automation Quality Engineer]] (Apr-2021 - Nov-2023) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#API Testing|API's]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#Web App Testing|Web]], [[Skills#Observability Concepts|Observability]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Java|Java]], &amp;lt;br /&amp;gt;[[Skills#Cucumber (BDD)|Cucumber]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#JavaScript|JavaScript]], [[Skills#React|React]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#Linux|Linux]], [[Skills#Docker|Docker]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], &amp;lt;br /&amp;gt;[[Skills#Jira, Confluence|Jira, Confluence, Zephyr]], [[Skills#Splunk|Splunk]], [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins, Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Served as a roving Automation Quality Engineer, addressing testing and automation needs across multiple teams. Conducted testing and automation for mobile apps (Appium &amp;amp; XCUITest), a D365 web UI (Java, Selenium, POM's), and various APIs (Java, REST Assured). Also contributed as a platform engineer supporting Splunk, and developed a React web app for visualising test environments (Node.js, React, mermaid.js).&lt;br /&gt;
&lt;br /&gt;
=== [[FirstAML - Test Analyst]] (Oct-2020 - Mar-2021) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman]], [[Skills#AML/CFT Sector|AML/CFT]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Data Privacy|Data Privacy]], [[Skills#GraphQL|GraphQL]], AWS&lt;br /&gt;
|}&lt;br /&gt;
: Served as a quality coach for a startup company developing a ReactJS Web App for the AML/CFT (Anti-Money Laundering/Countering Financing of Terrorism) sector.&lt;br /&gt;
&lt;br /&gt;
=== [[Weather Radar NZ limited - Weather Radar Systems Engineer]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Physics - Weather Radar Systems, Lasers, Fibre-optics|Weather Radar Systems]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], &amp;lt;br /&amp;gt;[[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Testing]], [[Skills#C++, Arduino, ESP32|Arduino]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 4 days/week. Retrofitting legacy weather radars with embedded Arduino micro controllers. Designing new electronics, PCB's, maintaining power waveguide systems, and performing signal analysis.&lt;br /&gt;
&lt;br /&gt;
=== [[Grappler- Agile Quality Analyst]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman, Newman]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Google Cloud Platform]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 1 day/week. Developed a small solution to run a Postman collection in Google Cloud Platform and a simple Web UI (Node.js, Express.js) to trigger test runs and display HTML test reports.&lt;br /&gt;
&lt;br /&gt;
=== [[Fiserv Auckland - Intermediate Software Test Engineer]] (Jan-2017 - Apr-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#Programming &amp;amp; Automation|Automation]], [[Skills#API Testing|API Testing]], [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#Splunk|Splunk]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jira, Confluence|Jira, Confluence]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Native Mobile App functional and accessibility testing. API testing and automation, using Postman/Newman, Specflow with C#, JavaScript (Postman, Node.js, Express.js), Splunk for dashboards, TFS &amp;amp; Powershell for System deployment automation. Created the Postman Testrunner Framework (PTF) for automated API integration checks and environment health monitoring.&lt;br /&gt;
&lt;br /&gt;
=== [[Trade Me - Senior Software Test Analyst]] (Dec-2014 - Aug-2016) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Context Driven Testing|Context Driven Testing]], [[Skills#Exploratory Testing (Session &amp;amp; Thread Based)|Exploratory Testing]], [[Skills#Agile Squad Master|Agile]], [[Skills#Testability Concepts|Testability]], [[Skills#Accessibility Testing|Accessibility]], &amp;lt;br /&amp;gt;[[Skills#Observability Concepts|Observability]], [[Skills#Jira, Confluence|Jira, Confluence]], DB, [[Skills#Web App Testing|Web App]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#API Testing|API Testing]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#Splunk|Splunk]], [[Skills#SoapUI, ReadyAPI|ReadyAPI]], [[Skills#Metrics Driven Development (A/B Testing)|A/B Testing]], [[Skills#XMind|XMind]], [[Skills#Staff Mentoring &amp;amp; Induction|Onboarding]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]]&lt;br /&gt;
|}&lt;br /&gt;
: Context-driven exploratory testing for software changes to the iconic [https://www.trademe.co.nz/ Trade Me] website, focussing on the [https://www.trademe.co.nz/a/motors Motors] page &amp;amp; features. My responsibilities included testing DBs, UIs, APIs, and mobile apps, leading deployments, conducting test planning and peer reviews, utilising BDD and visual test tools. I gained experience with implementing agile methods, Splunk, ReadyAPI, XMind, Jira, and Confluence. I also enjoyed onboarding new staff and contributing to the test and agile guilds.&lt;br /&gt;
&lt;br /&gt;
=== [[Pre-2014 Roles]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing]], VB, [[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Dev &amp;amp; Test]], [[Skills#Manufacturing Resource Planning|MRP II]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], Logistics, Networking, [[Skills#Teaching &amp;amp; Tutoring|Training &amp;amp; Tutoring]], &amp;lt;br /&amp;gt;[[Skills#C++, Arduino, ESP32|C++]], Customer &amp;amp; Tech Support, Production Planning, Documentation, Specifications, Sales Forecasting&lt;br /&gt;
|}&lt;br /&gt;
: [[Pre-2014 Roles#LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014)|Software Tester]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)|Logistics Manager]], [[Pre-2014 Roles#Primary Caregiver (Sep-2003 - Jul-2005)|Caregiver]], [[Pre-2014 Roles#Bioengineering Institute - Software Engineer (Sep 2002 - Aug 2003)|Software Engineer]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)|Development &amp;amp; Support Engineer]], [[Pre-2014 Roles#Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)|Production Scheduler]], [[Pre-2014 Roles#University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time)|Physics Tutor]]&lt;br /&gt;
&lt;br /&gt;
== Related wiki pages ==&lt;br /&gt;
=== [[References_-_Full_List|References]] ===&lt;br /&gt;
:[[References_-_Full_List#Dept. of Internal Affairs (TTC)| TTC]], [[References_-_Full_List#Westpac| Westpac ]], [[References_-_Full_List#Fiserv| Fiserv ]], [[References_-_Full_List#| Trade Me Motors]]&lt;br /&gt;
&lt;br /&gt;
=== GitHub Profile ===&lt;br /&gt;
: [[My GitHub Projects]]&lt;br /&gt;
&lt;br /&gt;
=== [[Volunteering]] ===&lt;br /&gt;
: [https://www.neighbourly.co.nz/organisation/laingholm-district-citizens-association Laingholm &amp;amp; Districts Citizens Association], [[Ministry of Testing - Auckland Branch|Ministry of Testing]], Eastern Suburbs AFC, Glendowie Boating Club, MOTAT, Eastern Suburbs Montessori Primary School&lt;br /&gt;
&lt;br /&gt;
=== [[Professional Development]] ===&lt;br /&gt;
: Conferences, workshops, meetups etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Education]] ===&lt;br /&gt;
: University of Auckland: ME(Elec) 1993&lt;br /&gt;
&lt;br /&gt;
=== [[Presentations, Posts, and blogs]] ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==What I'm reading, watching, listening, learning, and trying out in 2024==&lt;br /&gt;
&lt;br /&gt;
===Learning===&lt;br /&gt;
* [https://www.udemy.com/course/playwright-from-zero-to-hero Udemy Playwright: Web Automation Testing From Zero to Hero]&lt;br /&gt;
: I'm going to try use this to test some of my CV Wiki site. &lt;br /&gt;
: See [[Udemy Playwright: Web Automation Testing From Zero to Hero|my notes]] as well as GitHub [https://github.com/VincentDirks/Playwright-Udemy-Course repo #1], and [https://github.com/VincentDirks/Playwright-Udemy-Course-2 repo #2]&lt;br /&gt;
&lt;br /&gt;
===My Personal [[Observability Project]]===&lt;br /&gt;
* [https://expressjs.com/en/starter/hello-world.html Express.js basic hello world] and my [https://github.com/VincentDirks/node.js-in-the-cloud node.js-in-the-cloud] repo&lt;br /&gt;
* [https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker Kubernetes vs. Docker] by Josh Campbell at Atlassian &amp;lt;br&amp;gt;&lt;br /&gt;
:I want to learn the difference between these technologies to see how it might apply to my [[Observability Project]]&lt;br /&gt;
&lt;br /&gt;
* Setting up Docker Desktop at home to run the [https://github.com/Splunk/docker-Splunk Docker Splunk Image]&lt;br /&gt;
&lt;br /&gt;
=== Test Community Events ===&lt;br /&gt;
* Attended [https://nztestingconf.nz/ NZTestingConf 2024] in Wellington. Presentations: &lt;br /&gt;
** Shay Naiki, QA Manager @ Alphero: Creating a collaborative culture in the testing world: lessons from life in a digital agency&lt;br /&gt;
** Nevetha Mani, Product Human @ Hectre: Off the beaten path: rethinking quality in the startup world&lt;br /&gt;
** Emma Procter &amp;amp; Jonathan Shirley, @ PikPok: Finding the fun: researching and playtesting games at PikPok&lt;br /&gt;
** Patricio Miner, Content Creator @ Free Range Testers: ETL: the testing niche you've never thought of&lt;br /&gt;
** Toby Martin, QA Practice Lead @ Pushpay: Stop automating, start investigating: a guide to slowing down to speed up &lt;br /&gt;
** Ryan Bevens, QA Community Manager @ Potentia: Diary of a reluctant recruiter: your value as a tester&lt;br /&gt;
&lt;br /&gt;
===Interesting Reads===&lt;br /&gt;
* '''[https://www.satisfice.com/download/a-context-driven-approach-to-automation-in-testing A Context Driven Approach to Automation in Testing]''' By James Bach and Michael Bolton&lt;br /&gt;
:Quote: ''&amp;quot;dynamically evaluating context and selecting, designing, or adjusting our actions to solve the problems that we encounter.&amp;quot;''&lt;br /&gt;
* '''[https://www.satisfice.com/blog/archives/4947 Round Earth Test Strategy]''' by James Bach&lt;br /&gt;
:Interesting alternative to the ''&amp;quot;Test Automation Pyramid&amp;quot;''. &lt;br /&gt;
:Quote: ''There are testing problems to consider at every level, &amp;quot;Quality above requires quality below&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
===[[Archive What I'm Reading, Watching, Listing, Learning, and Trying Out|Archive]]===&lt;br /&gt;
:Old pre-2024 entries&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1383</id>
		<title>Curriculum Vitae - Vincent Dirks</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1383"/>
		<updated>2024-08-13T20:54:48Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
| Vincent Dirks&lt;br /&gt;
|-&lt;br /&gt;
! e-mail&lt;br /&gt;
| [mailto:vincent@dirksonline.net?Subject=Enquiry%20from%20CV%20Wiki vincent@dirksonline.net] &lt;br /&gt;
|-&lt;br /&gt;
! Mob&lt;br /&gt;
| 021-0269-6216&lt;br /&gt;
|-&lt;br /&gt;
! LinkedIn&lt;br /&gt;
| [https://nz.linkedin.com/in/vincent-dirks-937aa557 nz.linkedin.com]&lt;br /&gt;
|-&lt;br /&gt;
! Location&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Parau Parau], West Auckland&lt;br /&gt;
|-&lt;br /&gt;
! Download&lt;br /&gt;
| [https://dirksonline.net/CV/2024%20Curriculum%20Vitae%20-%20Vincent%20Dirks%20-%2013-Aug-2024.pdf Curriculum Vitae pdf]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vincent Dirks - [[What's in a title?|Software Quality Engineer]] ==&lt;br /&gt;
As a versatile Software Quality Engineer, I aim to understand the nuances of the product, team dynamics, technological landscapes, and organisational structures so that I can adapt and contribute effectively. I specialise in adapting to diverse contexts, and look beyond traditional testing methodologies to consider the design of the whole quality ecosystem necessary for delivering quality software solutions efficiently.&lt;br /&gt;
&lt;br /&gt;
== [[Skills]] ==&lt;br /&gt;
=== [[Skills#Testing|Testing Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Context Driven Testing&lt;br /&gt;
* API Testing&lt;br /&gt;
* Testing Native Mobile Apps&lt;br /&gt;
* Testing Web Apps &lt;br /&gt;
* Testing Firmware/Embedded systems&lt;br /&gt;
* Data Privacy&lt;br /&gt;
| &lt;br /&gt;
* Testability &amp;amp; Observability Concepts&lt;br /&gt;
* Exploratory Testing (Session &amp;amp; Thread Based)&lt;br /&gt;
* Visual Modelling&lt;br /&gt;
* Metrics Driven Development (A/B Testing)&lt;br /&gt;
* Accessibility Testing&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== [[Skills#Automation &amp;amp; Programming|Programming and Automation Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#JavaScript|JavaScript]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Java|Java]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Other Automation &amp;amp; Programming|Other]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Node.js, npm&lt;br /&gt;
* Express.js&lt;br /&gt;
* React&lt;br /&gt;
* Jest&lt;br /&gt;
* Cypress.io&lt;br /&gt;
* Webdriver.io&lt;br /&gt;
|&lt;br /&gt;
* [https://maven.apache.org/ Maven], [https://junit.org/ JUnit], [https://testng.org/ TestNG]&lt;br /&gt;
* [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD])&lt;br /&gt;
* [https://rest-assured.io/ REST-assured]&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs)&lt;br /&gt;
* [https://wave.tidalcode.dev/ Tidal. Wave]&lt;br /&gt;
|&lt;br /&gt;
* C#, Specflow (BDD)&lt;br /&gt;
* SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SSMS]&lt;br /&gt;
* Appium&lt;br /&gt;
* XCUITest&lt;br /&gt;
* GraphQL&lt;br /&gt;
* C++: Arduino, ESP32&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tools &amp;amp; Technologies Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [https://www.splunk.com/ Splunk]&lt;br /&gt;
* Postman, Newman&lt;br /&gt;
* VS Code, IntelliJ, Visual Studio&lt;br /&gt;
* Github, Bitbucket&lt;br /&gt;
* Docker, Linux&lt;br /&gt;
|&lt;br /&gt;
* [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
* Jenkins, Azure DevOps (TFS), Google Cloud Platform&lt;br /&gt;
* Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting&lt;br /&gt;
* [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence], [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale], [https://xmind.app/ XMind]&lt;br /&gt;
* [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Domain Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Banking and Finance Sector&lt;br /&gt;
* AML/CFT Sector&lt;br /&gt;
* Online Auction Platforms&lt;br /&gt;
* Vehicle Leasing systems&lt;br /&gt;
* Platform Engineering&lt;br /&gt;
* Staff Mentoring &amp;amp; Induction&lt;br /&gt;
| &lt;br /&gt;
* Agile (Scrum, Kanban, SAFe, Squad Master)&lt;br /&gt;
* Microservices Architecture&lt;br /&gt;
* Manufacturing Resource Planning - Logistics Manager&lt;br /&gt;
* Physics - Weather Radar Systems, Lasers, Fibre-optics&lt;br /&gt;
* Electrical &amp;amp; Electronic Engineering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Work Experience == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== [[Upskilling &amp;amp; Community Roles 2024]] (May-2024 - Current) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Playwright|Playwright]], &lt;br /&gt;
|}&lt;br /&gt;
: Upskilling whilst looking for work, breathing life back into the [https://www.meetup.com/Ministry-of-Testing-Auckland Ministry of Testing - Auckland meetup group], and managing the [https://laingholm.org.nz/ Laingholm Village Hall]&lt;br /&gt;
:* [[Udemy Playwright: Web Automation Testing From Zero to Hero]]&lt;br /&gt;
&lt;br /&gt;
=== [[Water Services Reform, DIA - Senior Test Automation Engineer]] (Nov-2023 - Jan-2024) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#Maven|Maven]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#Tidal. Wave|Tidal. Wave]], [[Skills#IntelliJ|IntelliJ]], &amp;lt;br/&amp;gt;[[Skills#Web App Testing|Web App Testing]], [[Skills#Azure DevOps (TFS)|Azure DevOps]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting through [https://ttcglobal.com TTC Global]. Test Automation team, Three Waters Project, developing a UI Automation suite in Java using the [https://wave.tidalcode.dev/ Tidal. wave] Selenium automation library&lt;br /&gt;
&lt;br /&gt;
=== [[Westpac NZ - Senior Automation Quality Engineer]] (Apr-2021 - Nov-2023) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#API Testing|API's]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#Web App Testing|Web]], [[Skills#Observability Concepts|Observability]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Java|Java]], &amp;lt;br /&amp;gt;[[Skills#Cucumber (BDD)|Cucumber]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#JavaScript|JavaScript]], [[Skills#React|React]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#Linux|Linux]], [[Skills#Docker|Docker]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], &amp;lt;br /&amp;gt;[[Skills#Jira, Confluence|Jira, Confluence, Zephyr]], [[Skills#Splunk|Splunk]], [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins, Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Served as a roving Automation Quality Engineer, addressing testing and automation needs across multiple teams. Conducted testing and automation for mobile apps (Appium &amp;amp; XCUITest), a D365 web UI (Java, Selenium, POM's), and various APIs (Java, REST Assured). Also contributed as a platform engineer supporting Splunk, and developed a React web app for visualising test environments (Node.js, React, mermaid.js).&lt;br /&gt;
&lt;br /&gt;
=== [[FirstAML - Test Analyst]] (Oct-2020 - Mar-2021) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman]], [[Skills#AML/CFT Sector|AML/CFT]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Data Privacy|Data Privacy]], [[Skills#GraphQL|GraphQL]], AWS&lt;br /&gt;
|}&lt;br /&gt;
: Served as a quality coach for a startup company developing a ReactJS Web App for the AML/CFT (Anti-Money Laundering/Countering Financing of Terrorism) sector.&lt;br /&gt;
&lt;br /&gt;
=== [[Weather Radar NZ limited - Weather Radar Systems Engineer]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Physics - Weather Radar Systems, Lasers, Fibre-optics|Weather Radar Systems]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], &amp;lt;br /&amp;gt;[[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Testing]], [[Skills#C++, Arduino, ESP32|Arduino]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 4 days/week. Retrofitting legacy weather radars with embedded Arduino micro controllers. Designing new electronics, PCB's, maintaining power waveguide systems, and performing signal analysis.&lt;br /&gt;
&lt;br /&gt;
=== [[Grappler- Agile Quality Analyst]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman, Newman]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Google Cloud Platform]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 1 day/week. Developed a small solution to run a Postman collection in Google Cloud Platform and a simple Web UI (Node.js, Express.js) to trigger test runs and display HTML test reports.&lt;br /&gt;
&lt;br /&gt;
=== [[Fiserv Auckland - Intermediate Software Test Engineer]] (Jan-2017 - Apr-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#Programming &amp;amp; Automation|Automation]], [[Skills#API Testing|API Testing]], [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#Splunk|Splunk]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jira, Confluence|Jira, Confluence]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Native Mobile App functional and accessibility testing. API testing and automation, using Postman/Newman, Specflow with C#, JavaScript (Postman, Node.js, Express.js), Splunk for dashboards, TFS &amp;amp; Powershell for System deployment automation. Created the Postman Testrunner Framework (PTF) for automated API integration checks and environment health monitoring.&lt;br /&gt;
&lt;br /&gt;
=== [[Trade Me - Senior Software Test Analyst]] (Dec-2014 - Aug-2016) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Context Driven Testing|Context Driven Testing]], [[Skills#Exploratory Testing (Session &amp;amp; Thread Based)|Exploratory Testing]], [[Skills#Agile Squad Master|Agile]], [[Skills#Testability Concepts|Testability]], [[Skills#Accessibility Testing|Accessibility]], &amp;lt;br /&amp;gt;[[Skills#Observability Concepts|Observability]], [[Skills#Jira, Confluence|Jira, Confluence]], DB, [[Skills#Web App Testing|Web App]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#API Testing|API Testing]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#Splunk|Splunk]], [[Skills#SoapUI, ReadyAPI|ReadyAPI]], [[Skills#Metrics Driven Development (A/B Testing)|A/B Testing]], [[Skills#XMind|XMind]], [[Skills#Staff Mentoring &amp;amp; Induction|Onboarding]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]]&lt;br /&gt;
|}&lt;br /&gt;
: Context-driven exploratory testing for software changes to the iconic [https://www.trademe.co.nz/ Trade Me] website, focussing on the [https://www.trademe.co.nz/a/motors Motors] page &amp;amp; features. My responsibilities included testing DBs, UIs, APIs, and mobile apps, leading deployments, conducting test planning and peer reviews, utilising BDD and visual test tools. I gained experience with implementing agile methods, Splunk, ReadyAPI, XMind, Jira, and Confluence. I also enjoyed onboarding new staff and contributing to the test and agile guilds.&lt;br /&gt;
&lt;br /&gt;
=== [[Pre-2014 Roles]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing]], VB, [[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Dev &amp;amp; Test]], [[Skills#Manufacturing Resource Planning|MRP II]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], Logistics, Networking, [[Skills#Teaching &amp;amp; Tutoring|Training &amp;amp; Tutoring]], &amp;lt;br /&amp;gt;[[Skills#C++, Arduino, ESP32|C++]], Customer &amp;amp; Tech Support, Production Planning, Documentation, Specifications, Sales Forecasting&lt;br /&gt;
|}&lt;br /&gt;
: [[Pre-2014 Roles#LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014)|Software Tester]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)|Logistics Manager]], [[Pre-2014 Roles#Primary Caregiver (Sep-2003 - Jul-2005)|Caregiver]], [[Pre-2014 Roles#Bioengineering Institute - Software Engineer (Sep 2002 - Aug 2003)|Software Engineer]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)|Development &amp;amp; Support Engineer]], [[Pre-2014 Roles#Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)|Production Scheduler]], [[Pre-2014 Roles#University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time)|Physics Tutor]]&lt;br /&gt;
&lt;br /&gt;
== Related wiki pages ==&lt;br /&gt;
=== [[References_-_Full_List|References]] ===&lt;br /&gt;
:[[References_-_Full_List#Dept. of Internal Affairs (TTC)| TTC]], [[References_-_Full_List#Westpac| Westpac ]], [[References_-_Full_List#Fiserv| Fiserv ]], [[References_-_Full_List#| Trade Me Motors]]&lt;br /&gt;
&lt;br /&gt;
=== GitHub Profile ===&lt;br /&gt;
: [[My GitHub Projects]]&lt;br /&gt;
&lt;br /&gt;
=== [[Volunteering]] ===&lt;br /&gt;
: [https://www.neighbourly.co.nz/organisation/laingholm-district-citizens-association Laingholm &amp;amp; Districts Citizens Association], [[Ministry of Testing - Auckland Branch|Ministry of Testing]], Eastern Suburbs AFC, Glendowie Boating Club, MOTAT, Eastern Suburbs Montessori Primary School&lt;br /&gt;
&lt;br /&gt;
=== [[Professional Development]] ===&lt;br /&gt;
: Conferences, workshops, meetups etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Education]] ===&lt;br /&gt;
: University of Auckland: ME(Elec) 1993&lt;br /&gt;
&lt;br /&gt;
=== [[Presentations, Posts, and blogs]] ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==What I'm reading, watching, listening, learning, and trying out in 2024==&lt;br /&gt;
&lt;br /&gt;
===Learning===&lt;br /&gt;
* [https://www.udemy.com/course/playwright-from-zero-to-hero Udemy Playwright: Web Automation Testing From Zero to Hero]&lt;br /&gt;
: I'm going to try use this to test some of my CV Wiki site. &lt;br /&gt;
: See [[Udemy Playwright: Web Automation Testing From Zero to Hero|my notes]] as well as GitHub [https://github.com/VincentDirks/Playwright-Udemy-Course repo #1], and [https://github.com/VincentDirks/Playwright-Udemy-Course-2 repo #2]&lt;br /&gt;
&lt;br /&gt;
===My Personal [[Observability Project]]===&lt;br /&gt;
* [https://expressjs.com/en/starter/hello-world.html Express.js basic hello world] and my [https://github.com/VincentDirks/node.js-in-the-cloud node.js-in-the-cloud] repo&lt;br /&gt;
* [https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker Kubernetes vs. Docker] by Josh Campbell at Atlassian &amp;lt;br&amp;gt;&lt;br /&gt;
:I want to learn the difference between these technologies to see how it might apply to my [[Observability Project]]&lt;br /&gt;
&lt;br /&gt;
* Setting up Docker Desktop at home to run the [https://github.com/Splunk/docker-Splunk Docker Splunk Image]&lt;br /&gt;
&lt;br /&gt;
=== Test Community Events ===&lt;br /&gt;
* Attended [https://nztestingconf.nz/ NZTestingConf 2024] in Wellington. Presentations: &lt;br /&gt;
** Shay Naiki, QA Manager @ Alphero: Creating a collaborative culture in the testing world: lessons from life in a digital agency&lt;br /&gt;
** Nevetha Mani, Product Human @ Hectre: Off the beaten path: rethinking quality in the startup world&lt;br /&gt;
** Emma Procter &amp;amp; Jonathan Shirley, @ PikPok: Finding the fun: researching and playtesting games at PikPok&lt;br /&gt;
** Patricio Miner, Content Creator @ Free Range Testers: ETL: the testing niche you've never thought of&lt;br /&gt;
** Toby Martin, QA Practice Lead @ Pushpay: Stop automating, start investigating: a guide to slowing down to speed up &lt;br /&gt;
** Ryan Bevens, QA Community Manager @ Potentia: Diary of a reluctant recruiter: your value as a tester&lt;br /&gt;
&lt;br /&gt;
===Interesting Reads===&lt;br /&gt;
* '''[https://www.satisfice.com/download/a-context-driven-approach-to-automation-in-testing A Context Driven Approach to Automation in Testing]''' By James Bach and Michael Bolton&lt;br /&gt;
:Quote: ''&amp;quot;dynamically evaluating context and selecting, designing, or adjusting our actions to solve the problems that we encounter.&amp;quot;''&lt;br /&gt;
* '''[https://www.satisfice.com/blog/archives/4947 Round Earth Test Strategy]''' by James Bach&lt;br /&gt;
:Interesting alternative to the ''&amp;quot;Test Automation Pyramid&amp;quot;''. &lt;br /&gt;
:Quote: ''There are testing problems to consider at every level, &amp;quot;Quality above requires quality below&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
===[[Archive What I'm Reading, Watching, Listing, Learning, and Trying Out|Archive]]===&lt;br /&gt;
:Old pre-2024 entries&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1382</id>
		<title>Curriculum Vitae - Vincent Dirks</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1382"/>
		<updated>2024-08-06T23:46:01Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Testing Skills */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
| Vincent Dirks&lt;br /&gt;
|-&lt;br /&gt;
! e-mail&lt;br /&gt;
| [mailto:vincent@dirksonline.net?Subject=Enquiry%20from%20CV%20Wiki vincent@dirksonline.net] &lt;br /&gt;
|-&lt;br /&gt;
! Mob&lt;br /&gt;
| 021-0269-6216&lt;br /&gt;
|-&lt;br /&gt;
! LinkedIn&lt;br /&gt;
| [https://nz.linkedin.com/in/vincent-dirks-937aa557 nz.linkedin.com]&lt;br /&gt;
|-&lt;br /&gt;
! Location&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Parau Parau], West Auckland&lt;br /&gt;
|-&lt;br /&gt;
! Download&lt;br /&gt;
| [https://dirksonline.net/CV/2024%20Curriculum%20Vitae%20-%20Vincent%20Dirks.pdf Curriculum Vitae pdf]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vincent Dirks - [[What's in a title?|Software Quality Engineer]] ==&lt;br /&gt;
As a versatile Software Quality Engineer, I aim to understand the nuances of the product, team dynamics, technological landscapes, and organisational structures so that I can adapt and contribute effectively. I specialise in adapting to diverse contexts, and look beyond traditional testing methodologies to consider the design of the whole quality ecosystem necessary for delivering quality software solutions efficiently.&lt;br /&gt;
&lt;br /&gt;
== [[Skills]] ==&lt;br /&gt;
=== [[Skills#Testing|Testing Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Context Driven Testing&lt;br /&gt;
* API Testing&lt;br /&gt;
* Testing Native Mobile Apps&lt;br /&gt;
* Testing Web Apps &lt;br /&gt;
* Testing Firmware/Embedded systems&lt;br /&gt;
* Data Privacy&lt;br /&gt;
| &lt;br /&gt;
* Testability &amp;amp; Observability Concepts&lt;br /&gt;
* Exploratory Testing (Session &amp;amp; Thread Based)&lt;br /&gt;
* Visual Modelling&lt;br /&gt;
* Metrics Driven Development (A/B Testing)&lt;br /&gt;
* Accessibility Testing&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== [[Skills#Automation &amp;amp; Programming|Programming and Automation Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#JavaScript|JavaScript]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Java|Java]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Other Automation &amp;amp; Programming|Other]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Node.js, npm&lt;br /&gt;
* Express.js&lt;br /&gt;
* React&lt;br /&gt;
* Jest&lt;br /&gt;
* Cypress.io&lt;br /&gt;
* Webdriver.io&lt;br /&gt;
|&lt;br /&gt;
* [https://maven.apache.org/ Maven], [https://junit.org/ JUnit], [https://testng.org/ TestNG]&lt;br /&gt;
* [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD])&lt;br /&gt;
* [https://rest-assured.io/ REST-assured]&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs)&lt;br /&gt;
* [https://wave.tidalcode.dev/ Tidal. Wave]&lt;br /&gt;
|&lt;br /&gt;
* C#, Specflow (BDD)&lt;br /&gt;
* SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SSMS]&lt;br /&gt;
* Appium&lt;br /&gt;
* XCUITest&lt;br /&gt;
* GraphQL&lt;br /&gt;
* C++: Arduino, ESP32&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tools &amp;amp; Technologies Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [https://www.splunk.com/ Splunk]&lt;br /&gt;
* Postman, Newman&lt;br /&gt;
* VS Code, IntelliJ, Visual Studio&lt;br /&gt;
* Github, Bitbucket&lt;br /&gt;
* Docker, Linux&lt;br /&gt;
|&lt;br /&gt;
* [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
* Jenkins, Azure DevOps (TFS), Google Cloud Platform&lt;br /&gt;
* Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting&lt;br /&gt;
* [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence], [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale], [https://xmind.app/ XMind]&lt;br /&gt;
* [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Domain Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Banking and Finance Sector&lt;br /&gt;
* AML/CFT Sector&lt;br /&gt;
* Online Auction Platforms&lt;br /&gt;
* Vehicle Leasing systems&lt;br /&gt;
* Platform Engineering&lt;br /&gt;
* Staff Mentoring &amp;amp; Induction&lt;br /&gt;
| &lt;br /&gt;
* Agile (Scrum, Kanban, SAFe, Squad Master)&lt;br /&gt;
* Microservices Architecture&lt;br /&gt;
* Manufacturing Resource Planning - Logistics Manager&lt;br /&gt;
* Physics - Weather Radar Systems, Lasers, Fibre-optics&lt;br /&gt;
* Electrical &amp;amp; Electronic Engineering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Work Experience == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== [[Upskilling &amp;amp; Community Roles 2024]] (May-2024 - Current) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Playwright|Playwright]], &lt;br /&gt;
|}&lt;br /&gt;
: Upskilling whilst looking for work, breathing life back into the [https://www.meetup.com/Ministry-of-Testing-Auckland Ministry of Testing - Auckland meetup group], and managing the [https://laingholm.org.nz/ Laingholm Village Hall]&lt;br /&gt;
:* [[Udemy Playwright: Web Automation Testing From Zero to Hero]]&lt;br /&gt;
&lt;br /&gt;
=== [[Water Services Reform, DIA - Senior Test Automation Engineer]] (Nov-2023 - Jan-2024) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#Maven|Maven]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#Tidal. Wave|Tidal. Wave]], [[Skills#IntelliJ|IntelliJ]], &amp;lt;br/&amp;gt;[[Skills#Web App Testing|Web App Testing]], [[Skills#Azure DevOps (TFS)|Azure DevOps]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting through [https://ttcglobal.com TTC Global]. Test Automation team, Three Waters Project, developing a UI Automation suite in Java using the [https://wave.tidalcode.dev/ Tidal. wave] Selenium automation library&lt;br /&gt;
&lt;br /&gt;
=== [[Westpac NZ - Senior Automation Quality Engineer]] (Apr-2021 - Nov-2023) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#API Testing|API's]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#Web App Testing|Web]], [[Skills#Observability Concepts|Observability]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Java|Java]], &amp;lt;br /&amp;gt;[[Skills#Cucumber (BDD)|Cucumber]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#JavaScript|JavaScript]], [[Skills#React|React]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#Linux|Linux]], [[Skills#Docker|Docker]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], &amp;lt;br /&amp;gt;[[Skills#Jira, Confluence|Jira, Confluence, Zephyr]], [[Skills#Splunk|Splunk]], [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins, Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Served as a roving Automation Quality Engineer, addressing testing and automation needs across multiple teams. Conducted testing and automation for mobile apps (Appium &amp;amp; XCUITest), a D365 web UI (Java, Selenium, POM's), and various APIs (Java, REST Assured). Also contributed as a platform engineer supporting Splunk, and developed a React web app for visualising test environments (Node.js, React, mermaid.js).&lt;br /&gt;
&lt;br /&gt;
=== [[FirstAML - Test Analyst]] (Oct-2020 - Mar-2021) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman]], [[Skills#AML/CFT Sector|AML/CFT]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Data Privacy|Data Privacy]], [[Skills#GraphQL|GraphQL]], AWS&lt;br /&gt;
|}&lt;br /&gt;
: Served as a quality coach for a startup company developing a ReactJS Web App for the AML/CFT (Anti-Money Laundering/Countering Financing of Terrorism) sector.&lt;br /&gt;
&lt;br /&gt;
=== [[Weather Radar NZ limited - Weather Radar Systems Engineer]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Physics - Weather Radar Systems, Lasers, Fibre-optics|Weather Radar Systems]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], &amp;lt;br /&amp;gt;[[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Testing]], [[Skills#C++, Arduino, ESP32|Arduino]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 4 days/week. Retrofitting legacy weather radars with embedded Arduino micro controllers. Designing new electronics, PCB's, maintaining power waveguide systems, and performing signal analysis.&lt;br /&gt;
&lt;br /&gt;
=== [[Grappler- Agile Quality Analyst]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman, Newman]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Google Cloud Platform]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 1 day/week. Developed a small solution to run a Postman collection in Google Cloud Platform and a simple Web UI (Node.js, Express.js) to trigger test runs and display HTML test reports.&lt;br /&gt;
&lt;br /&gt;
=== [[Fiserv Auckland - Intermediate Software Test Engineer]] (Jan-2017 - Apr-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#Programming &amp;amp; Automation|Automation]], [[Skills#API Testing|API Testing]], [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#Splunk|Splunk]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jira, Confluence|Jira, Confluence]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Native Mobile App functional and accessibility testing. API testing and automation, using Postman/Newman, Specflow with C#, JavaScript (Postman, Node.js, Express.js), Splunk for dashboards, TFS &amp;amp; Powershell for System deployment automation. Created the Postman Testrunner Framework (PTF) for automated API integration checks and environment health monitoring.&lt;br /&gt;
&lt;br /&gt;
=== [[Trade Me - Senior Software Test Analyst]] (Dec-2014 - Aug-2016) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Context Driven Testing|Context Driven Testing]], [[Skills#Exploratory Testing (Session &amp;amp; Thread Based)|Exploratory Testing]], [[Skills#Agile Squad Master|Agile]], [[Skills#Testability Concepts|Testability]], [[Skills#Accessibility Testing|Accessibility]], &amp;lt;br /&amp;gt;[[Skills#Observability Concepts|Observability]], [[Skills#Jira, Confluence|Jira, Confluence]], DB, [[Skills#Web App Testing|Web App]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#API Testing|API Testing]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#Splunk|Splunk]], [[Skills#SoapUI, ReadyAPI|ReadyAPI]], [[Skills#Metrics Driven Development (A/B Testing)|A/B Testing]], [[Skills#XMind|XMind]], [[Skills#Staff Mentoring &amp;amp; Induction|Onboarding]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]]&lt;br /&gt;
|}&lt;br /&gt;
: Context-driven exploratory testing for software changes to the iconic [https://www.trademe.co.nz/ Trade Me] website, focussing on the [https://www.trademe.co.nz/a/motors Motors] page &amp;amp; features. My responsibilities included testing DBs, UIs, APIs, and mobile apps, leading deployments, conducting test planning and peer reviews, utilising BDD and visual test tools. I gained experience with implementing agile methods, Splunk, ReadyAPI, XMind, Jira, and Confluence. I also enjoyed onboarding new staff and contributing to the test and agile guilds.&lt;br /&gt;
&lt;br /&gt;
=== [[Pre-2014 Roles]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing]], VB, [[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Dev &amp;amp; Test]], [[Skills#Manufacturing Resource Planning|MRP II]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], Logistics, Networking, [[Skills#Teaching &amp;amp; Tutoring|Training &amp;amp; Tutoring]], &amp;lt;br /&amp;gt;[[Skills#C++, Arduino, ESP32|C++]], Customer &amp;amp; Tech Support, Production Planning, Documentation, Specifications, Sales Forecasting&lt;br /&gt;
|}&lt;br /&gt;
: [[Pre-2014 Roles#LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014)|Software Tester]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)|Logistics Manager]], [[Pre-2014 Roles#Primary Caregiver (Sep-2003 - Jul-2005)|Caregiver]], [[Pre-2014 Roles#Bioengineering Institute - Software Engineer (Sep 2002 - Aug 2003)|Software Engineer]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)|Development &amp;amp; Support Engineer]], [[Pre-2014 Roles#Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)|Production Scheduler]], [[Pre-2014 Roles#University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time)|Physics Tutor]]&lt;br /&gt;
&lt;br /&gt;
== Related wiki pages ==&lt;br /&gt;
=== [[References_-_Full_List|References]] ===&lt;br /&gt;
:[[References_-_Full_List#Dept. of Internal Affairs (TTC)| TTC]], [[References_-_Full_List#Westpac| Westpac ]], [[References_-_Full_List#Fiserv| Fiserv ]], [[References_-_Full_List#| Trade Me Motors]]&lt;br /&gt;
&lt;br /&gt;
=== GitHub Profile ===&lt;br /&gt;
: [[My GitHub Projects]]&lt;br /&gt;
&lt;br /&gt;
=== [[Volunteering]] ===&lt;br /&gt;
: [https://www.neighbourly.co.nz/organisation/laingholm-district-citizens-association Laingholm &amp;amp; Districts Citizens Association], [[Ministry of Testing - Auckland Branch|Ministry of Testing]], Eastern Suburbs AFC, Glendowie Boating Club, MOTAT, Eastern Suburbs Montessori Primary School&lt;br /&gt;
&lt;br /&gt;
=== [[Professional Development]] ===&lt;br /&gt;
: Conferences, workshops, meetups etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Education]] ===&lt;br /&gt;
: University of Auckland: ME(Elec) 1993&lt;br /&gt;
&lt;br /&gt;
=== [[Presentations, Posts, and blogs]] ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==What I'm reading, watching, listening, learning, and trying out in 2024==&lt;br /&gt;
&lt;br /&gt;
===Learning===&lt;br /&gt;
* [https://www.udemy.com/course/playwright-from-zero-to-hero Udemy Playwright: Web Automation Testing From Zero to Hero]&lt;br /&gt;
: I'm going to try use this to test some of my CV Wiki site. &lt;br /&gt;
: See [[Udemy Playwright: Web Automation Testing From Zero to Hero|my notes]] as well as GitHub [https://github.com/VincentDirks/Playwright-Udemy-Course repo #1], and [https://github.com/VincentDirks/Playwright-Udemy-Course-2 repo #2]&lt;br /&gt;
&lt;br /&gt;
===My Personal [[Observability Project]]===&lt;br /&gt;
* [https://expressjs.com/en/starter/hello-world.html Express.js basic hello world] and my [https://github.com/VincentDirks/node.js-in-the-cloud node.js-in-the-cloud] repo&lt;br /&gt;
* [https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker Kubernetes vs. Docker] by Josh Campbell at Atlassian &amp;lt;br&amp;gt;&lt;br /&gt;
:I want to learn the difference between these technologies to see how it might apply to my [[Observability Project]]&lt;br /&gt;
&lt;br /&gt;
* Setting up Docker Desktop at home to run the [https://github.com/Splunk/docker-Splunk Docker Splunk Image]&lt;br /&gt;
&lt;br /&gt;
=== Test Community Events ===&lt;br /&gt;
* Attended [https://nztestingconf.nz/ NZTestingConf 2024] in Wellington. Presentations: &lt;br /&gt;
** Shay Naiki, QA Manager @ Alphero: Creating a collaborative culture in the testing world: lessons from life in a digital agency&lt;br /&gt;
** Nevetha Mani, Product Human @ Hectre: Off the beaten path: rethinking quality in the startup world&lt;br /&gt;
** Emma Procter &amp;amp; Jonathan Shirley, @ PikPok: Finding the fun: researching and playtesting games at PikPok&lt;br /&gt;
** Patricio Miner, Content Creator @ Free Range Testers: ETL: the testing niche you've never thought of&lt;br /&gt;
** Toby Martin, QA Practice Lead @ Pushpay: Stop automating, start investigating: a guide to slowing down to speed up &lt;br /&gt;
** Ryan Bevens, QA Community Manager @ Potentia: Diary of a reluctant recruiter: your value as a tester&lt;br /&gt;
&lt;br /&gt;
===Interesting Reads===&lt;br /&gt;
* '''[https://www.satisfice.com/download/a-context-driven-approach-to-automation-in-testing A Context Driven Approach to Automation in Testing]''' By James Bach and Michael Bolton&lt;br /&gt;
:Quote: ''&amp;quot;dynamically evaluating context and selecting, designing, or adjusting our actions to solve the problems that we encounter.&amp;quot;''&lt;br /&gt;
* '''[https://www.satisfice.com/blog/archives/4947 Round Earth Test Strategy]''' by James Bach&lt;br /&gt;
:Interesting alternative to the ''&amp;quot;Test Automation Pyramid&amp;quot;''. &lt;br /&gt;
:Quote: ''There are testing problems to consider at every level, &amp;quot;Quality above requires quality below&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
===[[Archive What I'm Reading, Watching, Listing, Learning, and Trying Out|Archive]]===&lt;br /&gt;
:Old pre-2024 entries&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=What%27s_in_a_title%3F&amp;diff=1381</id>
		<title>What's in a title?</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=What%27s_in_a_title%3F&amp;diff=1381"/>
		<updated>2024-08-05T03:16:55Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* I am a Software Quality Engineer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''April 2024'''&lt;br /&gt;
&lt;br /&gt;
The job titles we have matter sometimes, but at other times not so much. Titles can limit people's understanding of what we do, but at times they convey exactly what we need to say with a minimum of words. &lt;br /&gt;
&lt;br /&gt;
Over the years I've had many job titles and roles, including &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
* Tester&lt;br /&gt;
* Software Test Analyst&lt;br /&gt;
* Quality Assurance&lt;br /&gt;
* Software Quality Engineer&lt;br /&gt;
* Automation Quality Engineer&lt;br /&gt;
* Quality Coach&lt;br /&gt;
* Quality Analyst&lt;br /&gt;
* Weather Radar Technician&lt;br /&gt;
|&lt;br /&gt;
* Support Engineer&lt;br /&gt;
* Software Developer&lt;br /&gt;
* Logistics Manager&lt;br /&gt;
* Father&lt;br /&gt;
* House dad&lt;br /&gt;
* Programmer&lt;br /&gt;
* University Tutor&lt;br /&gt;
|&lt;br /&gt;
* Production Scheduler&lt;br /&gt;
* Operator/Scanner&lt;br /&gt;
* Volunteer&lt;br /&gt;
* Organiser&lt;br /&gt;
* Chair&lt;br /&gt;
* Treasurer&lt;br /&gt;
* Tram Driver&lt;br /&gt;
* Lab Demonstrator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Some of these will have meaning for you, others may mean little without knowing more of the context. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Recently I've been thinking of what I am, and I've landed on: &lt;br /&gt;
&lt;br /&gt;
== I am a Software Quality Engineer ==&lt;br /&gt;
I do feel a little conflicted because quality is an attribute of something, not really something we can engineer by itself. However, the title seems to have gained traction over recent years as meaning a broader engineering role focussed on software quality, which I can certainly sign up to. We build and engineer tools, systems, and processes to help us efficiently analyse and monitor the quality of software solutions. Testing is a wide and varied endeavour, but there is real value in being able to quickly get basic quality information about a code change through automation. The objective being to automate the boring and free up the tester to explore more and deeper. &lt;br /&gt;
&lt;br /&gt;
'''Automation''' of course, covers so much more than simply automating '''the product itself''', but also in&lt;br /&gt;
* preparing the product to be ready for testing, &lt;br /&gt;
* setting up the local development environment, &lt;br /&gt;
* the version control and branching strategy, &lt;br /&gt;
* the CI/CD pipelines, &lt;br /&gt;
* the test environments and infrastructure, &lt;br /&gt;
* the test data in an environment, &lt;br /&gt;
* the capture and aggregation of (test) environment logging and monitoring data, &lt;br /&gt;
* and much more. &lt;br /&gt;
&lt;br /&gt;
All of these lend themselves to varying degrees of automation, whereas without automation, some of these tasks can become repetitive, tedious, and time consuming. I hold the view that creating the whole interconnected ecosystem necessary to efficiently analyse and monitor the quality of a software solution is a genuine engineering activity.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== My old (pre 2024) intro ... ==&lt;br /&gt;
In the blurb at the top of my CV I used to call myself a '''Full Stack Agile Quality Analyst''' (original text below). However, I feel it no longer fully resonates with me, some of the words like &amp;quot;Full Stack&amp;quot; and &amp;quot;Agile&amp;quot; have had their day. We now generally expect people to adjust to the context they've been placed in, to simply get on and do the job as best they can with the resources available. To be able to recognise the things that need doing the most, to communicate concerns and ideas, and to have a shared commitment to achieve the most for our users, customers, team mates, and organisation. Full Stack seems to me to mean you're happy to google for (new) solutions to a problem on your plate, rather than simply handing it over to another person in the organisation. In addition, Agile seems to have become a de-facto industry norm. Of course Agile is hard to do properly, but saying you're into Agile development seems superfluous these days. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 50px; margin-right: 50px; text-align:left&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
== Intro - I'm a Full Stack Agile Quality Analyst ==&lt;br /&gt;
'''I''' love testing and will use all resources &amp;amp; tools at my disposal to do it. Every delivery team has different constraints, skills, processes, bottlenecks, and opportunities for how they deliver product &amp;amp; process changes. I'll try to leverage the skills and resources already in the team, and add my own skills and experiences, maybe sprinkle on some ideas from the test, agile, and dev communities, as well as, some plain experimentation, to best test and deliver the changes. Each context is different and I love adjusting the development, test, and delivery processes to match them to the context at hand. I like [http://www.satisfice.com/articles/what_is_et.shtml '''exploratory testing'''], and I also have fun coding [http://www.satisfice.com/blog/archives/856 '''automated checks''']. I do gravitate towards [http://context-driven-testing.com/ '''Context Driven Testing''' (CDT)], and (largely) agree with the thoughts and expressions from the leaders of the CDT community, such as [http://satisfice.com/ James Bach] and [http://www.developsense.com/ Michael Bolton]. I really like [http://agilemanifesto.org/ '''Agile'''], which for me is ''&amp;quot;[[autonomy with responsibility through trust]]&amp;quot;''. &lt;br /&gt;
'''I''' think the essence of software development is still about '''people''': It is '''Driven by people''', '''Made by people''', and '''Made for people'''. We all have ''emotions, passions, motivators, and more! We're all different, and we all have something unique to give. ''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|'''I''' love to work with people that have a '''passion''' for what they do, and have '''fun''' doing it!  '''Testing '''is my '''professional''' passion, and I love working with people who '''respect''' and '''challenge''' me to be my best.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=What%27s_in_a_title%3F&amp;diff=1380</id>
		<title>What's in a title?</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=What%27s_in_a_title%3F&amp;diff=1380"/>
		<updated>2024-08-05T03:14:11Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''April 2024'''&lt;br /&gt;
&lt;br /&gt;
The job titles we have matter sometimes, but at other times not so much. Titles can limit people's understanding of what we do, but at times they convey exactly what we need to say with a minimum of words. &lt;br /&gt;
&lt;br /&gt;
Over the years I've had many job titles and roles, including &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
* Tester&lt;br /&gt;
* Software Test Analyst&lt;br /&gt;
* Quality Assurance&lt;br /&gt;
* Software Quality Engineer&lt;br /&gt;
* Automation Quality Engineer&lt;br /&gt;
* Quality Coach&lt;br /&gt;
* Quality Analyst&lt;br /&gt;
* Weather Radar Technician&lt;br /&gt;
|&lt;br /&gt;
* Support Engineer&lt;br /&gt;
* Software Developer&lt;br /&gt;
* Logistics Manager&lt;br /&gt;
* Father&lt;br /&gt;
* House dad&lt;br /&gt;
* Programmer&lt;br /&gt;
* University Tutor&lt;br /&gt;
|&lt;br /&gt;
* Production Scheduler&lt;br /&gt;
* Operator/Scanner&lt;br /&gt;
* Volunteer&lt;br /&gt;
* Organiser&lt;br /&gt;
* Chair&lt;br /&gt;
* Treasurer&lt;br /&gt;
* Tram Driver&lt;br /&gt;
* Lab Demonstrator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Some of these will have meaning for you, others may mean little without knowing more of the context. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Recently I've been thinking of what I am, and I've landed on: &lt;br /&gt;
&lt;br /&gt;
== I am a Software Quality Engineer ==&lt;br /&gt;
I do feel a little conflicted because quality is an attribute of something, not really something we can engineer by itself. However, the title seems to have gained traction over recent years as meaning a broader engineering role focussed on software quality, which I can certainly sign up to. We build and engineer tools, systems, and processes to help us efficiently analyse and monitor the quality of software solutions. Testing is a wide and varied endeavour, but there is real value in being able to quickly get basic quality information about a code change through automation. The objective being to automate the boring and free up the tester to explore more and deeper. &lt;br /&gt;
&lt;br /&gt;
'''Automation''' of course, covers so much more than simply automating '''the product itself''', but also in preparing &lt;br /&gt;
* the product to be ready for testing, &lt;br /&gt;
* the local development environment, &lt;br /&gt;
* the version control and branching strategy, &lt;br /&gt;
* the CI/CD pipelines, &lt;br /&gt;
* the test environments and infrastructure, &lt;br /&gt;
* the test data in an environment, &lt;br /&gt;
* the capture and aggregation of (test) environment logging and monitoring data, &lt;br /&gt;
* and much more. &lt;br /&gt;
&lt;br /&gt;
All of these lend themselves to varying degrees of automation, whereas without automation, some of these tasks can become repetitive, tedious, and time consuming. I hold the view that creating the whole interconnected ecosystem necessary to efficiently analyse and monitor the quality of a software solution is a genuine engineering activity.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== My old (pre 2024) intro ... ==&lt;br /&gt;
In the blurb at the top of my CV I used to call myself a '''Full Stack Agile Quality Analyst''' (original text below). However, I feel it no longer fully resonates with me, some of the words like &amp;quot;Full Stack&amp;quot; and &amp;quot;Agile&amp;quot; have had their day. We now generally expect people to adjust to the context they've been placed in, to simply get on and do the job as best they can with the resources available. To be able to recognise the things that need doing the most, to communicate concerns and ideas, and to have a shared commitment to achieve the most for our users, customers, team mates, and organisation. Full Stack seems to me to mean you're happy to google for (new) solutions to a problem on your plate, rather than simply handing it over to another person in the organisation. In addition, Agile seems to have become a de-facto industry norm. Of course Agile is hard to do properly, but saying you're into Agile development seems superfluous these days. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 50px; margin-right: 50px; text-align:left&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
== Intro - I'm a Full Stack Agile Quality Analyst ==&lt;br /&gt;
'''I''' love testing and will use all resources &amp;amp; tools at my disposal to do it. Every delivery team has different constraints, skills, processes, bottlenecks, and opportunities for how they deliver product &amp;amp; process changes. I'll try to leverage the skills and resources already in the team, and add my own skills and experiences, maybe sprinkle on some ideas from the test, agile, and dev communities, as well as, some plain experimentation, to best test and deliver the changes. Each context is different and I love adjusting the development, test, and delivery processes to match them to the context at hand. I like [http://www.satisfice.com/articles/what_is_et.shtml '''exploratory testing'''], and I also have fun coding [http://www.satisfice.com/blog/archives/856 '''automated checks''']. I do gravitate towards [http://context-driven-testing.com/ '''Context Driven Testing''' (CDT)], and (largely) agree with the thoughts and expressions from the leaders of the CDT community, such as [http://satisfice.com/ James Bach] and [http://www.developsense.com/ Michael Bolton]. I really like [http://agilemanifesto.org/ '''Agile'''], which for me is ''&amp;quot;[[autonomy with responsibility through trust]]&amp;quot;''. &lt;br /&gt;
'''I''' think the essence of software development is still about '''people''': It is '''Driven by people''', '''Made by people''', and '''Made for people'''. We all have ''emotions, passions, motivators, and more! We're all different, and we all have something unique to give. ''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|'''I''' love to work with people that have a '''passion''' for what they do, and have '''fun''' doing it!  '''Testing '''is my '''professional''' passion, and I love working with people who '''respect''' and '''challenge''' me to be my best.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Skills&amp;diff=1379</id>
		<title>Skills</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Skills&amp;diff=1379"/>
		<updated>2024-08-05T03:12:31Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Programming &amp;amp; Automation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
This page links my skills to the roles where I learned and used them. &lt;br /&gt;
== Testing ==&lt;br /&gt;
=== [https://context-driven-testing.com/ Context Driven Testing] ===&lt;br /&gt;
:Used in all my roles from 2016&lt;br /&gt;
=== API Testing ===&lt;br /&gt;
=== Native Mobile App Testing ===&lt;br /&gt;
=== Web App Testing ===&lt;br /&gt;
=== Firmware &amp;amp; Embedded System Testing ===&lt;br /&gt;
=== Testability Concepts ===&lt;br /&gt;
=== Observability Concepts ===&lt;br /&gt;
=== Exploratory Testing (Session &amp;amp; Thread Based) ===&lt;br /&gt;
=== Visual Modelling ===&lt;br /&gt;
: Eg. Mind mapping&lt;br /&gt;
&lt;br /&gt;
=== Metrics Driven Development (A/B Testing) ===&lt;br /&gt;
=== Accessibility Testing ===&lt;br /&gt;
=== Data Privacy ===&lt;br /&gt;
=== Risk Based Testing ===&lt;br /&gt;
&lt;br /&gt;
== Automation &amp;amp; Programming ==&lt;br /&gt;
=== JavaScript ===&lt;br /&gt;
----&lt;br /&gt;
==== Node.js ====&lt;br /&gt;
:Including npm&lt;br /&gt;
&lt;br /&gt;
==== Express.js ====&lt;br /&gt;
==== React ====&lt;br /&gt;
==== Jest ====&lt;br /&gt;
==== Cypress.io ====&lt;br /&gt;
==== Webdriver.io ====&lt;br /&gt;
==== mermaid.js ====&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
----&lt;br /&gt;
==== [https://maven.apache.org/ Maven] ====&lt;br /&gt;
==== [https://junit.org/ JUnit] ====&lt;br /&gt;
==== [https://testng.org/ TestNG] ====&lt;br /&gt;
&lt;br /&gt;
==== [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD]) ====&lt;br /&gt;
==== [https://rest-assured.io/ REST-assured] ====&lt;br /&gt;
==== [https://www.selenium.dev/ Selenium] ====&lt;br /&gt;
==== [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs) ====&lt;br /&gt;
==== [https://wave.tidalcode.dev/ Tidal. Wave] ====&lt;br /&gt;
&lt;br /&gt;
=== Other Automation &amp;amp; Programming ===&lt;br /&gt;
----&lt;br /&gt;
==== C#, Specflow (BDD) ====&lt;br /&gt;
&lt;br /&gt;
==== SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SQL Server Management Studio (SSMS)] ====&lt;br /&gt;
:* Test Data creation&lt;br /&gt;
:* Record Verification&lt;br /&gt;
:* profiling stored procedure calls&lt;br /&gt;
:* Testing DB schema update scripts&lt;br /&gt;
&lt;br /&gt;
==== Appium &amp;amp; XCUITest ====&lt;br /&gt;
==== GraphQL ====&lt;br /&gt;
==== C++, Arduino, ESP32 ====&lt;br /&gt;
&lt;br /&gt;
== Tools &amp;amp; Technologies ==&lt;br /&gt;
=== [https://www.splunk.com/ Splunk] ===&lt;br /&gt;
:log aggregation &amp;amp; analysis&lt;br /&gt;
=== Postman, Newman ===&lt;br /&gt;
=== VS Code ===&lt;br /&gt;
=== IntelliJ ===&lt;br /&gt;
=== Visual Studio ===&lt;br /&gt;
=== Github, Bitbucket ===&lt;br /&gt;
:* GitFlow branching strategy&lt;br /&gt;
:* Release trains&lt;br /&gt;
&lt;br /&gt;
=== [https://www.sonarsource.com/products/sonarlint/ Sonarlint] &amp;amp; [https://www.sonarsource.com/products/sonarqube/ Sonarqube] ===&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
=== Docker ===&lt;br /&gt;
=== Terraform ===&lt;br /&gt;
=== HashiCorp Vault ===&lt;br /&gt;
=== [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark] ===&lt;br /&gt;
: And sometimes [https://portswigger.net/burp/communitydownload Burp Suite CE] and [https://mitmproxy.org/ MITM Proxy] as well&lt;br /&gt;
&lt;br /&gt;
=== Jenkins, Azure Devops (TFS), Google Cloud Platform ===&lt;br /&gt;
: [https://learn.microsoft.com/en-us/previous-versions/azure/devops/all/overview?view=tfs-2018 TFS - Team Foundation Server] ''(now rebranded to Azure DevOps)'', was used for version control (Git repos), continuous integration build server &amp;amp; build agents, and including Microsoft Test Manager ''(now rebranded to Azure Test Plan)''.&lt;br /&gt;
&lt;br /&gt;
=== Kafka &amp;amp; Azure Event Queues ===&lt;br /&gt;
=== Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting ===&lt;br /&gt;
=== [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence] ===&lt;br /&gt;
: Including [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale] (was previously TM4J)&lt;br /&gt;
&lt;br /&gt;
=== [https://xmind.app/ XMind] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI] ===&lt;br /&gt;
&lt;br /&gt;
== General Skills ==&lt;br /&gt;
=== Agile (Scrum, Kanban, SAFe, Squad Master) ===&lt;br /&gt;
:* [https://www.scaledagileframework.com '''Scaled Agile Framework''' (SAFe)] - at [[Fiserv Auckland - Intermediate Software Test Engineer]] &lt;br /&gt;
:* Agile ceremonies - stand-ups, backlog grooming, estimation, planning, demos, and retros.&lt;br /&gt;
:* Development lifecycle - story design, implementation, testing, and integration&lt;br /&gt;
&lt;br /&gt;
=== Banking and Finance Sector ===&lt;br /&gt;
=== AML/CFT Sector ===&lt;br /&gt;
:Anti-Money Laundering and Countering Financing of Terrorism&lt;br /&gt;
=== Online Auction Platforms ===&lt;br /&gt;
=== Vehicle Leasing systems ===&lt;br /&gt;
=== Platform Engineering ===&lt;br /&gt;
=== Staff Mentoring &amp;amp; Induction ===&lt;br /&gt;
=== Microservices Architecture ===&lt;br /&gt;
=== Manufacturing Resource Planning - Logistics Manager ===&lt;br /&gt;
=== Physics - Weather Radar Systems, Lasers, Fibre-optics ===&lt;br /&gt;
=== Electrical &amp;amp; Electronic Engineering ===&lt;br /&gt;
:[[Education|University of Auckland: Masters of Engineering (E&amp;amp;E) 1993]]&lt;br /&gt;
=== Teaching &amp;amp; Tutoring ===&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1378</id>
		<title>Curriculum Vitae - Vincent Dirks</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1378"/>
		<updated>2024-08-05T03:08:27Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Programming and Automation Skills */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
| Vincent Dirks&lt;br /&gt;
|-&lt;br /&gt;
! e-mail&lt;br /&gt;
| [mailto:vincent@dirksonline.net?Subject=Enquiry%20from%20CV%20Wiki vincent@dirksonline.net] &lt;br /&gt;
|-&lt;br /&gt;
! Mob&lt;br /&gt;
| 021-0269-6216&lt;br /&gt;
|-&lt;br /&gt;
! LinkedIn&lt;br /&gt;
| [https://nz.linkedin.com/in/vincent-dirks-937aa557 nz.linkedin.com]&lt;br /&gt;
|-&lt;br /&gt;
! Location&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Parau Parau], West Auckland&lt;br /&gt;
|-&lt;br /&gt;
! Download&lt;br /&gt;
| [https://dirksonline.net/CV/2024%20Curriculum%20Vitae%20-%20Vincent%20Dirks.pdf Curriculum Vitae pdf]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vincent Dirks - [[What's in a title?|Software Quality Engineer]] ==&lt;br /&gt;
As a versatile Software Quality Engineer, I aim to understand the nuances of the product, team dynamics, technological landscapes, and organisational structures so that I can adapt and contribute effectively. I specialise in adapting to diverse contexts, and look beyond traditional testing methodologies to consider the design of the whole quality ecosystem necessary for delivering quality software solutions efficiently.&lt;br /&gt;
&lt;br /&gt;
== [[Skills]] ==&lt;br /&gt;
=== [[Skills#Testing|Testing Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Context Driven Testing&lt;br /&gt;
* API Testing&lt;br /&gt;
* Testing Native Mobile Apps&lt;br /&gt;
* Testing Web Apps &lt;br /&gt;
* Testing Firmware/Embedded systems&lt;br /&gt;
* Testability Concepts&lt;br /&gt;
| &lt;br /&gt;
* Observability Concepts&lt;br /&gt;
* Exploratory Testing (Session &amp;amp; Thread Based)&lt;br /&gt;
* Visual Modelling&lt;br /&gt;
* Metrics Driven Development (A/B Testing)&lt;br /&gt;
* Accessibility Testing&lt;br /&gt;
* Data Privacy&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== [[Skills#Automation &amp;amp; Programming|Programming and Automation Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#JavaScript|JavaScript]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Java|Java]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Other Automation &amp;amp; Programming|Other]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Node.js, npm&lt;br /&gt;
* Express.js&lt;br /&gt;
* React&lt;br /&gt;
* Jest&lt;br /&gt;
* Cypress.io&lt;br /&gt;
* Webdriver.io&lt;br /&gt;
|&lt;br /&gt;
* [https://maven.apache.org/ Maven], [https://junit.org/ JUnit], [https://testng.org/ TestNG]&lt;br /&gt;
* [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD])&lt;br /&gt;
* [https://rest-assured.io/ REST-assured]&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs)&lt;br /&gt;
* [https://wave.tidalcode.dev/ Tidal. Wave]&lt;br /&gt;
|&lt;br /&gt;
* C#, Specflow (BDD)&lt;br /&gt;
* SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SSMS]&lt;br /&gt;
* Appium&lt;br /&gt;
* XCUITest&lt;br /&gt;
* GraphQL&lt;br /&gt;
* C++: Arduino, ESP32&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tools &amp;amp; Technologies Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [https://www.splunk.com/ Splunk]&lt;br /&gt;
* Postman, Newman&lt;br /&gt;
* VS Code, IntelliJ, Visual Studio&lt;br /&gt;
* Github, Bitbucket&lt;br /&gt;
* Docker, Linux&lt;br /&gt;
|&lt;br /&gt;
* [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
* Jenkins, Azure DevOps (TFS), Google Cloud Platform&lt;br /&gt;
* Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting&lt;br /&gt;
* [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence], [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale], [https://xmind.app/ XMind]&lt;br /&gt;
* [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Domain Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Banking and Finance Sector&lt;br /&gt;
* AML/CFT Sector&lt;br /&gt;
* Online Auction Platforms&lt;br /&gt;
* Vehicle Leasing systems&lt;br /&gt;
* Platform Engineering&lt;br /&gt;
* Staff Mentoring &amp;amp; Induction&lt;br /&gt;
| &lt;br /&gt;
* Agile (Scrum, Kanban, SAFe, Squad Master)&lt;br /&gt;
* Microservices Architecture&lt;br /&gt;
* Manufacturing Resource Planning - Logistics Manager&lt;br /&gt;
* Physics - Weather Radar Systems, Lasers, Fibre-optics&lt;br /&gt;
* Electrical &amp;amp; Electronic Engineering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Work Experience == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== [[Upskilling &amp;amp; Community Roles 2024]] (May-2024 - Current) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Playwright|Playwright]], &lt;br /&gt;
|}&lt;br /&gt;
: Upskilling whilst looking for work, breathing life back into the [https://www.meetup.com/Ministry-of-Testing-Auckland Ministry of Testing - Auckland meetup group], and managing the [https://laingholm.org.nz/ Laingholm Village Hall]&lt;br /&gt;
:* [[Udemy Playwright: Web Automation Testing From Zero to Hero]]&lt;br /&gt;
&lt;br /&gt;
=== [[Water Services Reform, DIA - Senior Test Automation Engineer]] (Nov-2023 - Jan-2024) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#Maven|Maven]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#Tidal. Wave|Tidal. Wave]], [[Skills#IntelliJ|IntelliJ]], &amp;lt;br/&amp;gt;[[Skills#Web App Testing|Web App Testing]], [[Skills#Azure DevOps (TFS)|Azure DevOps]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting through [https://ttcglobal.com TTC Global]. Test Automation team, Three Waters Project, developing a UI Automation suite in Java using the [https://wave.tidalcode.dev/ Tidal. wave] Selenium automation library&lt;br /&gt;
&lt;br /&gt;
=== [[Westpac NZ - Senior Automation Quality Engineer]] (Apr-2021 - Nov-2023) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#API Testing|API's]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#Web App Testing|Web]], [[Skills#Observability Concepts|Observability]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Java|Java]], &amp;lt;br /&amp;gt;[[Skills#Cucumber (BDD)|Cucumber]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#JavaScript|JavaScript]], [[Skills#React|React]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#Linux|Linux]], [[Skills#Docker|Docker]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], &amp;lt;br /&amp;gt;[[Skills#Jira, Confluence|Jira, Confluence, Zephyr]], [[Skills#Splunk|Splunk]], [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins, Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Served as a roving Automation Quality Engineer, addressing testing and automation needs across multiple teams. Conducted testing and automation for mobile apps (Appium &amp;amp; XCUITest), a D365 web UI (Java, Selenium, POM's), and various APIs (Java, REST Assured). Also contributed as a platform engineer supporting Splunk, and developed a React web app for visualising test environments (Node.js, React, mermaid.js).&lt;br /&gt;
&lt;br /&gt;
=== [[FirstAML - Test Analyst]] (Oct-2020 - Mar-2021) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman]], [[Skills#AML/CFT Sector|AML/CFT]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Data Privacy|Data Privacy]], [[Skills#GraphQL|GraphQL]], AWS&lt;br /&gt;
|}&lt;br /&gt;
: Served as a quality coach for a startup company developing a ReactJS Web App for the AML/CFT (Anti-Money Laundering/Countering Financing of Terrorism) sector.&lt;br /&gt;
&lt;br /&gt;
=== [[Weather Radar NZ limited - Weather Radar Systems Engineer]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Physics - Weather Radar Systems, Lasers, Fibre-optics|Weather Radar Systems]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], &amp;lt;br /&amp;gt;[[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Testing]], [[Skills#C++, Arduino, ESP32|Arduino]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 4 days/week. Retrofitting legacy weather radars with embedded Arduino micro controllers. Designing new electronics, PCB's, maintaining power waveguide systems, and performing signal analysis.&lt;br /&gt;
&lt;br /&gt;
=== [[Grappler- Agile Quality Analyst]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman, Newman]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Google Cloud Platform]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 1 day/week. Developed a small solution to run a Postman collection in Google Cloud Platform and a simple Web UI (Node.js, Express.js) to trigger test runs and display HTML test reports.&lt;br /&gt;
&lt;br /&gt;
=== [[Fiserv Auckland - Intermediate Software Test Engineer]] (Jan-2017 - Apr-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#Programming &amp;amp; Automation|Automation]], [[Skills#API Testing|API Testing]], [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#Splunk|Splunk]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jira, Confluence|Jira, Confluence]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Native Mobile App functional and accessibility testing. API testing and automation, using Postman/Newman, Specflow with C#, JavaScript (Postman, Node.js, Express.js), Splunk for dashboards, TFS &amp;amp; Powershell for System deployment automation. Created the Postman Testrunner Framework (PTF) for automated API integration checks and environment health monitoring.&lt;br /&gt;
&lt;br /&gt;
=== [[Trade Me - Senior Software Test Analyst]] (Dec-2014 - Aug-2016) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Context Driven Testing|Context Driven Testing]], [[Skills#Exploratory Testing (Session &amp;amp; Thread Based)|Exploratory Testing]], [[Skills#Agile Squad Master|Agile]], [[Skills#Testability Concepts|Testability]], [[Skills#Accessibility Testing|Accessibility]], &amp;lt;br /&amp;gt;[[Skills#Observability Concepts|Observability]], [[Skills#Jira, Confluence|Jira, Confluence]], DB, [[Skills#Web App Testing|Web App]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#API Testing|API Testing]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#Splunk|Splunk]], [[Skills#SoapUI, ReadyAPI|ReadyAPI]], [[Skills#Metrics Driven Development (A/B Testing)|A/B Testing]], [[Skills#XMind|XMind]], [[Skills#Staff Mentoring &amp;amp; Induction|Onboarding]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]]&lt;br /&gt;
|}&lt;br /&gt;
: Context-driven exploratory testing for software changes to the iconic [https://www.trademe.co.nz/ Trade Me] website, focussing on the [https://www.trademe.co.nz/a/motors Motors] page &amp;amp; features. My responsibilities included testing DBs, UIs, APIs, and mobile apps, leading deployments, conducting test planning and peer reviews, utilising BDD and visual test tools. I gained experience with implementing agile methods, Splunk, ReadyAPI, XMind, Jira, and Confluence. I also enjoyed onboarding new staff and contributing to the test and agile guilds.&lt;br /&gt;
&lt;br /&gt;
=== [[Pre-2014 Roles]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing]], VB, [[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Dev &amp;amp; Test]], [[Skills#Manufacturing Resource Planning|MRP II]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], Logistics, Networking, [[Skills#Teaching &amp;amp; Tutoring|Training &amp;amp; Tutoring]], &amp;lt;br /&amp;gt;[[Skills#C++, Arduino, ESP32|C++]], Customer &amp;amp; Tech Support, Production Planning, Documentation, Specifications, Sales Forecasting&lt;br /&gt;
|}&lt;br /&gt;
: [[Pre-2014 Roles#LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014)|Software Tester]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)|Logistics Manager]], [[Pre-2014 Roles#Primary Caregiver (Sep-2003 - Jul-2005)|Caregiver]], [[Pre-2014 Roles#Bioengineering Institute - Software Engineer (Sep 2002 - Aug 2003)|Software Engineer]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)|Development &amp;amp; Support Engineer]], [[Pre-2014 Roles#Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)|Production Scheduler]], [[Pre-2014 Roles#University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time)|Physics Tutor]]&lt;br /&gt;
&lt;br /&gt;
== Related wiki pages ==&lt;br /&gt;
=== [[References_-_Full_List|References]] ===&lt;br /&gt;
:[[References_-_Full_List#Dept. of Internal Affairs (TTC)| TTC]], [[References_-_Full_List#Westpac| Westpac ]], [[References_-_Full_List#Fiserv| Fiserv ]], [[References_-_Full_List#| Trade Me Motors]]&lt;br /&gt;
&lt;br /&gt;
=== GitHub Profile ===&lt;br /&gt;
: [[My GitHub Projects]]&lt;br /&gt;
&lt;br /&gt;
=== [[Volunteering]] ===&lt;br /&gt;
: [https://www.neighbourly.co.nz/organisation/laingholm-district-citizens-association Laingholm &amp;amp; Districts Citizens Association], [[Ministry of Testing - Auckland Branch|Ministry of Testing]], Eastern Suburbs AFC, Glendowie Boating Club, MOTAT, Eastern Suburbs Montessori Primary School&lt;br /&gt;
&lt;br /&gt;
=== [[Professional Development]] ===&lt;br /&gt;
: Conferences, workshops, meetups etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Education]] ===&lt;br /&gt;
: University of Auckland: ME(Elec) 1993&lt;br /&gt;
&lt;br /&gt;
=== [[Presentations, Posts, and blogs]] ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==What I'm reading, watching, listening, learning, and trying out in 2024==&lt;br /&gt;
&lt;br /&gt;
===Learning===&lt;br /&gt;
* [https://www.udemy.com/course/playwright-from-zero-to-hero Udemy Playwright: Web Automation Testing From Zero to Hero]&lt;br /&gt;
: I'm going to try use this to test some of my CV Wiki site. &lt;br /&gt;
: See [[Udemy Playwright: Web Automation Testing From Zero to Hero|my notes]] as well as GitHub [https://github.com/VincentDirks/Playwright-Udemy-Course repo #1], and [https://github.com/VincentDirks/Playwright-Udemy-Course-2 repo #2]&lt;br /&gt;
&lt;br /&gt;
===My Personal [[Observability Project]]===&lt;br /&gt;
* [https://expressjs.com/en/starter/hello-world.html Express.js basic hello world] and my [https://github.com/VincentDirks/node.js-in-the-cloud node.js-in-the-cloud] repo&lt;br /&gt;
* [https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker Kubernetes vs. Docker] by Josh Campbell at Atlassian &amp;lt;br&amp;gt;&lt;br /&gt;
:I want to learn the difference between these technologies to see how it might apply to my [[Observability Project]]&lt;br /&gt;
&lt;br /&gt;
* Setting up Docker Desktop at home to run the [https://github.com/Splunk/docker-Splunk Docker Splunk Image]&lt;br /&gt;
&lt;br /&gt;
=== Test Community Events ===&lt;br /&gt;
* Attended [https://nztestingconf.nz/ NZTestingConf 2024] in Wellington. Presentations: &lt;br /&gt;
** Shay Naiki, QA Manager @ Alphero: Creating a collaborative culture in the testing world: lessons from life in a digital agency&lt;br /&gt;
** Nevetha Mani, Product Human @ Hectre: Off the beaten path: rethinking quality in the startup world&lt;br /&gt;
** Emma Procter &amp;amp; Jonathan Shirley, @ PikPok: Finding the fun: researching and playtesting games at PikPok&lt;br /&gt;
** Patricio Miner, Content Creator @ Free Range Testers: ETL: the testing niche you've never thought of&lt;br /&gt;
** Toby Martin, QA Practice Lead @ Pushpay: Stop automating, start investigating: a guide to slowing down to speed up &lt;br /&gt;
** Ryan Bevens, QA Community Manager @ Potentia: Diary of a reluctant recruiter: your value as a tester&lt;br /&gt;
&lt;br /&gt;
===Interesting Reads===&lt;br /&gt;
* '''[https://www.satisfice.com/download/a-context-driven-approach-to-automation-in-testing A Context Driven Approach to Automation in Testing]''' By James Bach and Michael Bolton&lt;br /&gt;
:Quote: ''&amp;quot;dynamically evaluating context and selecting, designing, or adjusting our actions to solve the problems that we encounter.&amp;quot;''&lt;br /&gt;
* '''[https://www.satisfice.com/blog/archives/4947 Round Earth Test Strategy]''' by James Bach&lt;br /&gt;
:Interesting alternative to the ''&amp;quot;Test Automation Pyramid&amp;quot;''. &lt;br /&gt;
:Quote: ''There are testing problems to consider at every level, &amp;quot;Quality above requires quality below&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
===[[Archive What I'm Reading, Watching, Listing, Learning, and Trying Out|Archive]]===&lt;br /&gt;
:Old pre-2024 entries&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1377</id>
		<title>Curriculum Vitae - Vincent Dirks</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1377"/>
		<updated>2024-08-05T03:07:40Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Programming and Automation Skills */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
| Vincent Dirks&lt;br /&gt;
|-&lt;br /&gt;
! e-mail&lt;br /&gt;
| [mailto:vincent@dirksonline.net?Subject=Enquiry%20from%20CV%20Wiki vincent@dirksonline.net] &lt;br /&gt;
|-&lt;br /&gt;
! Mob&lt;br /&gt;
| 021-0269-6216&lt;br /&gt;
|-&lt;br /&gt;
! LinkedIn&lt;br /&gt;
| [https://nz.linkedin.com/in/vincent-dirks-937aa557 nz.linkedin.com]&lt;br /&gt;
|-&lt;br /&gt;
! Location&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Parau Parau], West Auckland&lt;br /&gt;
|-&lt;br /&gt;
! Download&lt;br /&gt;
| [https://dirksonline.net/CV/2024%20Curriculum%20Vitae%20-%20Vincent%20Dirks.pdf Curriculum Vitae pdf]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vincent Dirks - [[What's in a title?|Software Quality Engineer]] ==&lt;br /&gt;
As a versatile Software Quality Engineer, I aim to understand the nuances of the product, team dynamics, technological landscapes, and organisational structures so that I can adapt and contribute effectively. I specialise in adapting to diverse contexts, and look beyond traditional testing methodologies to consider the design of the whole quality ecosystem necessary for delivering quality software solutions efficiently.&lt;br /&gt;
&lt;br /&gt;
== [[Skills]] ==&lt;br /&gt;
=== [[Skills#Testing|Testing Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Context Driven Testing&lt;br /&gt;
* API Testing&lt;br /&gt;
* Testing Native Mobile Apps&lt;br /&gt;
* Testing Web Apps &lt;br /&gt;
* Testing Firmware/Embedded systems&lt;br /&gt;
* Testability Concepts&lt;br /&gt;
| &lt;br /&gt;
* Observability Concepts&lt;br /&gt;
* Exploratory Testing (Session &amp;amp; Thread Based)&lt;br /&gt;
* Visual Modelling&lt;br /&gt;
* Metrics Driven Development (A/B Testing)&lt;br /&gt;
* Accessibility Testing&lt;br /&gt;
* Data Privacy&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== [[Skills#Automation &amp;amp; Programming|Programming and Automation Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#JavaScript|JavaScript]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Java|Java]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Other|Other]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Node.js, npm&lt;br /&gt;
* Express.js&lt;br /&gt;
* React&lt;br /&gt;
* Jest&lt;br /&gt;
* Cypress.io&lt;br /&gt;
* Webdriver.io&lt;br /&gt;
|&lt;br /&gt;
* [https://maven.apache.org/ Maven], [https://junit.org/ JUnit], [https://testng.org/ TestNG]&lt;br /&gt;
* [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD])&lt;br /&gt;
* [https://rest-assured.io/ REST-assured]&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs)&lt;br /&gt;
* [https://wave.tidalcode.dev/ Tidal. Wave]&lt;br /&gt;
|&lt;br /&gt;
* C#, Specflow (BDD)&lt;br /&gt;
* SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SSMS]&lt;br /&gt;
* Appium&lt;br /&gt;
* XCUITest&lt;br /&gt;
* GraphQL&lt;br /&gt;
* C++: Arduino, ESP32&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tools &amp;amp; Technologies Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [https://www.splunk.com/ Splunk]&lt;br /&gt;
* Postman, Newman&lt;br /&gt;
* VS Code, IntelliJ, Visual Studio&lt;br /&gt;
* Github, Bitbucket&lt;br /&gt;
* Docker, Linux&lt;br /&gt;
|&lt;br /&gt;
* [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
* Jenkins, Azure DevOps (TFS), Google Cloud Platform&lt;br /&gt;
* Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting&lt;br /&gt;
* [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence], [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale], [https://xmind.app/ XMind]&lt;br /&gt;
* [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Domain Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Banking and Finance Sector&lt;br /&gt;
* AML/CFT Sector&lt;br /&gt;
* Online Auction Platforms&lt;br /&gt;
* Vehicle Leasing systems&lt;br /&gt;
* Platform Engineering&lt;br /&gt;
* Staff Mentoring &amp;amp; Induction&lt;br /&gt;
| &lt;br /&gt;
* Agile (Scrum, Kanban, SAFe, Squad Master)&lt;br /&gt;
* Microservices Architecture&lt;br /&gt;
* Manufacturing Resource Planning - Logistics Manager&lt;br /&gt;
* Physics - Weather Radar Systems, Lasers, Fibre-optics&lt;br /&gt;
* Electrical &amp;amp; Electronic Engineering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Work Experience == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== [[Upskilling &amp;amp; Community Roles 2024]] (May-2024 - Current) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Playwright|Playwright]], &lt;br /&gt;
|}&lt;br /&gt;
: Upskilling whilst looking for work, breathing life back into the [https://www.meetup.com/Ministry-of-Testing-Auckland Ministry of Testing - Auckland meetup group], and managing the [https://laingholm.org.nz/ Laingholm Village Hall]&lt;br /&gt;
:* [[Udemy Playwright: Web Automation Testing From Zero to Hero]]&lt;br /&gt;
&lt;br /&gt;
=== [[Water Services Reform, DIA - Senior Test Automation Engineer]] (Nov-2023 - Jan-2024) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#Maven|Maven]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#Tidal. Wave|Tidal. Wave]], [[Skills#IntelliJ|IntelliJ]], &amp;lt;br/&amp;gt;[[Skills#Web App Testing|Web App Testing]], [[Skills#Azure DevOps (TFS)|Azure DevOps]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting through [https://ttcglobal.com TTC Global]. Test Automation team, Three Waters Project, developing a UI Automation suite in Java using the [https://wave.tidalcode.dev/ Tidal. wave] Selenium automation library&lt;br /&gt;
&lt;br /&gt;
=== [[Westpac NZ - Senior Automation Quality Engineer]] (Apr-2021 - Nov-2023) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#API Testing|API's]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#Web App Testing|Web]], [[Skills#Observability Concepts|Observability]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Java|Java]], &amp;lt;br /&amp;gt;[[Skills#Cucumber (BDD)|Cucumber]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#JavaScript|JavaScript]], [[Skills#React|React]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#Linux|Linux]], [[Skills#Docker|Docker]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], &amp;lt;br /&amp;gt;[[Skills#Jira, Confluence|Jira, Confluence, Zephyr]], [[Skills#Splunk|Splunk]], [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins, Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Served as a roving Automation Quality Engineer, addressing testing and automation needs across multiple teams. Conducted testing and automation for mobile apps (Appium &amp;amp; XCUITest), a D365 web UI (Java, Selenium, POM's), and various APIs (Java, REST Assured). Also contributed as a platform engineer supporting Splunk, and developed a React web app for visualising test environments (Node.js, React, mermaid.js).&lt;br /&gt;
&lt;br /&gt;
=== [[FirstAML - Test Analyst]] (Oct-2020 - Mar-2021) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman]], [[Skills#AML/CFT Sector|AML/CFT]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Data Privacy|Data Privacy]], [[Skills#GraphQL|GraphQL]], AWS&lt;br /&gt;
|}&lt;br /&gt;
: Served as a quality coach for a startup company developing a ReactJS Web App for the AML/CFT (Anti-Money Laundering/Countering Financing of Terrorism) sector.&lt;br /&gt;
&lt;br /&gt;
=== [[Weather Radar NZ limited - Weather Radar Systems Engineer]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Physics - Weather Radar Systems, Lasers, Fibre-optics|Weather Radar Systems]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], &amp;lt;br /&amp;gt;[[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Testing]], [[Skills#C++, Arduino, ESP32|Arduino]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 4 days/week. Retrofitting legacy weather radars with embedded Arduino micro controllers. Designing new electronics, PCB's, maintaining power waveguide systems, and performing signal analysis.&lt;br /&gt;
&lt;br /&gt;
=== [[Grappler- Agile Quality Analyst]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman, Newman]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Google Cloud Platform]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 1 day/week. Developed a small solution to run a Postman collection in Google Cloud Platform and a simple Web UI (Node.js, Express.js) to trigger test runs and display HTML test reports.&lt;br /&gt;
&lt;br /&gt;
=== [[Fiserv Auckland - Intermediate Software Test Engineer]] (Jan-2017 - Apr-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#Programming &amp;amp; Automation|Automation]], [[Skills#API Testing|API Testing]], [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#Splunk|Splunk]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jira, Confluence|Jira, Confluence]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Native Mobile App functional and accessibility testing. API testing and automation, using Postman/Newman, Specflow with C#, JavaScript (Postman, Node.js, Express.js), Splunk for dashboards, TFS &amp;amp; Powershell for System deployment automation. Created the Postman Testrunner Framework (PTF) for automated API integration checks and environment health monitoring.&lt;br /&gt;
&lt;br /&gt;
=== [[Trade Me - Senior Software Test Analyst]] (Dec-2014 - Aug-2016) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Context Driven Testing|Context Driven Testing]], [[Skills#Exploratory Testing (Session &amp;amp; Thread Based)|Exploratory Testing]], [[Skills#Agile Squad Master|Agile]], [[Skills#Testability Concepts|Testability]], [[Skills#Accessibility Testing|Accessibility]], &amp;lt;br /&amp;gt;[[Skills#Observability Concepts|Observability]], [[Skills#Jira, Confluence|Jira, Confluence]], DB, [[Skills#Web App Testing|Web App]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#API Testing|API Testing]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#Splunk|Splunk]], [[Skills#SoapUI, ReadyAPI|ReadyAPI]], [[Skills#Metrics Driven Development (A/B Testing)|A/B Testing]], [[Skills#XMind|XMind]], [[Skills#Staff Mentoring &amp;amp; Induction|Onboarding]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]]&lt;br /&gt;
|}&lt;br /&gt;
: Context-driven exploratory testing for software changes to the iconic [https://www.trademe.co.nz/ Trade Me] website, focussing on the [https://www.trademe.co.nz/a/motors Motors] page &amp;amp; features. My responsibilities included testing DBs, UIs, APIs, and mobile apps, leading deployments, conducting test planning and peer reviews, utilising BDD and visual test tools. I gained experience with implementing agile methods, Splunk, ReadyAPI, XMind, Jira, and Confluence. I also enjoyed onboarding new staff and contributing to the test and agile guilds.&lt;br /&gt;
&lt;br /&gt;
=== [[Pre-2014 Roles]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing]], VB, [[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Dev &amp;amp; Test]], [[Skills#Manufacturing Resource Planning|MRP II]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], Logistics, Networking, [[Skills#Teaching &amp;amp; Tutoring|Training &amp;amp; Tutoring]], &amp;lt;br /&amp;gt;[[Skills#C++, Arduino, ESP32|C++]], Customer &amp;amp; Tech Support, Production Planning, Documentation, Specifications, Sales Forecasting&lt;br /&gt;
|}&lt;br /&gt;
: [[Pre-2014 Roles#LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014)|Software Tester]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)|Logistics Manager]], [[Pre-2014 Roles#Primary Caregiver (Sep-2003 - Jul-2005)|Caregiver]], [[Pre-2014 Roles#Bioengineering Institute - Software Engineer (Sep 2002 - Aug 2003)|Software Engineer]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)|Development &amp;amp; Support Engineer]], [[Pre-2014 Roles#Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)|Production Scheduler]], [[Pre-2014 Roles#University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time)|Physics Tutor]]&lt;br /&gt;
&lt;br /&gt;
== Related wiki pages ==&lt;br /&gt;
=== [[References_-_Full_List|References]] ===&lt;br /&gt;
:[[References_-_Full_List#Dept. of Internal Affairs (TTC)| TTC]], [[References_-_Full_List#Westpac| Westpac ]], [[References_-_Full_List#Fiserv| Fiserv ]], [[References_-_Full_List#| Trade Me Motors]]&lt;br /&gt;
&lt;br /&gt;
=== GitHub Profile ===&lt;br /&gt;
: [[My GitHub Projects]]&lt;br /&gt;
&lt;br /&gt;
=== [[Volunteering]] ===&lt;br /&gt;
: [https://www.neighbourly.co.nz/organisation/laingholm-district-citizens-association Laingholm &amp;amp; Districts Citizens Association], [[Ministry of Testing - Auckland Branch|Ministry of Testing]], Eastern Suburbs AFC, Glendowie Boating Club, MOTAT, Eastern Suburbs Montessori Primary School&lt;br /&gt;
&lt;br /&gt;
=== [[Professional Development]] ===&lt;br /&gt;
: Conferences, workshops, meetups etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Education]] ===&lt;br /&gt;
: University of Auckland: ME(Elec) 1993&lt;br /&gt;
&lt;br /&gt;
=== [[Presentations, Posts, and blogs]] ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==What I'm reading, watching, listening, learning, and trying out in 2024==&lt;br /&gt;
&lt;br /&gt;
===Learning===&lt;br /&gt;
* [https://www.udemy.com/course/playwright-from-zero-to-hero Udemy Playwright: Web Automation Testing From Zero to Hero]&lt;br /&gt;
: I'm going to try use this to test some of my CV Wiki site. &lt;br /&gt;
: See [[Udemy Playwright: Web Automation Testing From Zero to Hero|my notes]] as well as GitHub [https://github.com/VincentDirks/Playwright-Udemy-Course repo #1], and [https://github.com/VincentDirks/Playwright-Udemy-Course-2 repo #2]&lt;br /&gt;
&lt;br /&gt;
===My Personal [[Observability Project]]===&lt;br /&gt;
* [https://expressjs.com/en/starter/hello-world.html Express.js basic hello world] and my [https://github.com/VincentDirks/node.js-in-the-cloud node.js-in-the-cloud] repo&lt;br /&gt;
* [https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker Kubernetes vs. Docker] by Josh Campbell at Atlassian &amp;lt;br&amp;gt;&lt;br /&gt;
:I want to learn the difference between these technologies to see how it might apply to my [[Observability Project]]&lt;br /&gt;
&lt;br /&gt;
* Setting up Docker Desktop at home to run the [https://github.com/Splunk/docker-Splunk Docker Splunk Image]&lt;br /&gt;
&lt;br /&gt;
=== Test Community Events ===&lt;br /&gt;
* Attended [https://nztestingconf.nz/ NZTestingConf 2024] in Wellington. Presentations: &lt;br /&gt;
** Shay Naiki, QA Manager @ Alphero: Creating a collaborative culture in the testing world: lessons from life in a digital agency&lt;br /&gt;
** Nevetha Mani, Product Human @ Hectre: Off the beaten path: rethinking quality in the startup world&lt;br /&gt;
** Emma Procter &amp;amp; Jonathan Shirley, @ PikPok: Finding the fun: researching and playtesting games at PikPok&lt;br /&gt;
** Patricio Miner, Content Creator @ Free Range Testers: ETL: the testing niche you've never thought of&lt;br /&gt;
** Toby Martin, QA Practice Lead @ Pushpay: Stop automating, start investigating: a guide to slowing down to speed up &lt;br /&gt;
** Ryan Bevens, QA Community Manager @ Potentia: Diary of a reluctant recruiter: your value as a tester&lt;br /&gt;
&lt;br /&gt;
===Interesting Reads===&lt;br /&gt;
* '''[https://www.satisfice.com/download/a-context-driven-approach-to-automation-in-testing A Context Driven Approach to Automation in Testing]''' By James Bach and Michael Bolton&lt;br /&gt;
:Quote: ''&amp;quot;dynamically evaluating context and selecting, designing, or adjusting our actions to solve the problems that we encounter.&amp;quot;''&lt;br /&gt;
* '''[https://www.satisfice.com/blog/archives/4947 Round Earth Test Strategy]''' by James Bach&lt;br /&gt;
:Interesting alternative to the ''&amp;quot;Test Automation Pyramid&amp;quot;''. &lt;br /&gt;
:Quote: ''There are testing problems to consider at every level, &amp;quot;Quality above requires quality below&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
===[[Archive What I'm Reading, Watching, Listing, Learning, and Trying Out|Archive]]===&lt;br /&gt;
:Old pre-2024 entries&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1376</id>
		<title>Curriculum Vitae - Vincent Dirks</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1376"/>
		<updated>2024-08-05T03:05:03Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
| Vincent Dirks&lt;br /&gt;
|-&lt;br /&gt;
! e-mail&lt;br /&gt;
| [mailto:vincent@dirksonline.net?Subject=Enquiry%20from%20CV%20Wiki vincent@dirksonline.net] &lt;br /&gt;
|-&lt;br /&gt;
! Mob&lt;br /&gt;
| 021-0269-6216&lt;br /&gt;
|-&lt;br /&gt;
! LinkedIn&lt;br /&gt;
| [https://nz.linkedin.com/in/vincent-dirks-937aa557 nz.linkedin.com]&lt;br /&gt;
|-&lt;br /&gt;
! Location&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Parau Parau], West Auckland&lt;br /&gt;
|-&lt;br /&gt;
! Download&lt;br /&gt;
| [https://dirksonline.net/CV/2024%20Curriculum%20Vitae%20-%20Vincent%20Dirks.pdf Curriculum Vitae pdf]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vincent Dirks - [[What's in a title?|Software Quality Engineer]] ==&lt;br /&gt;
As a versatile Software Quality Engineer, I aim to understand the nuances of the product, team dynamics, technological landscapes, and organisational structures so that I can adapt and contribute effectively. I specialise in adapting to diverse contexts, and look beyond traditional testing methodologies to consider the design of the whole quality ecosystem necessary for delivering quality software solutions efficiently.&lt;br /&gt;
&lt;br /&gt;
== [[Skills]] ==&lt;br /&gt;
=== [[Skills#Testing|Testing Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Context Driven Testing&lt;br /&gt;
* API Testing&lt;br /&gt;
* Testing Native Mobile Apps&lt;br /&gt;
* Testing Web Apps &lt;br /&gt;
* Testing Firmware/Embedded systems&lt;br /&gt;
* Testability Concepts&lt;br /&gt;
| &lt;br /&gt;
* Observability Concepts&lt;br /&gt;
* Exploratory Testing (Session &amp;amp; Thread Based)&lt;br /&gt;
* Visual Modelling&lt;br /&gt;
* Metrics Driven Development (A/B Testing)&lt;br /&gt;
* Accessibility Testing&lt;br /&gt;
* Data Privacy&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Programming and Automation Skills ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#JavaScript|JavaScript]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Java|Java]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Other|Other]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Node.js, npm&lt;br /&gt;
* Express.js&lt;br /&gt;
* React&lt;br /&gt;
* Jest&lt;br /&gt;
* Cypress.io&lt;br /&gt;
* Webdriver.io&lt;br /&gt;
|&lt;br /&gt;
* [https://maven.apache.org/ Maven], [https://junit.org/ JUnit], [https://testng.org/ TestNG]&lt;br /&gt;
* [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD])&lt;br /&gt;
* [https://rest-assured.io/ REST-assured]&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs)&lt;br /&gt;
* [https://wave.tidalcode.dev/ Tidal. Wave]&lt;br /&gt;
|&lt;br /&gt;
* C#, Specflow (BDD)&lt;br /&gt;
* SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SSMS]&lt;br /&gt;
* Appium&lt;br /&gt;
* XCUITest&lt;br /&gt;
* GraphQL&lt;br /&gt;
* C++: Arduino, ESP32&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tools &amp;amp; Technologies Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [https://www.splunk.com/ Splunk]&lt;br /&gt;
* Postman, Newman&lt;br /&gt;
* VS Code, IntelliJ, Visual Studio&lt;br /&gt;
* Github, Bitbucket&lt;br /&gt;
* Docker, Linux&lt;br /&gt;
|&lt;br /&gt;
* [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
* Jenkins, Azure DevOps (TFS), Google Cloud Platform&lt;br /&gt;
* Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting&lt;br /&gt;
* [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence], [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale], [https://xmind.app/ XMind]&lt;br /&gt;
* [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Domain Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Banking and Finance Sector&lt;br /&gt;
* AML/CFT Sector&lt;br /&gt;
* Online Auction Platforms&lt;br /&gt;
* Vehicle Leasing systems&lt;br /&gt;
* Platform Engineering&lt;br /&gt;
* Staff Mentoring &amp;amp; Induction&lt;br /&gt;
| &lt;br /&gt;
* Agile (Scrum, Kanban, SAFe, Squad Master)&lt;br /&gt;
* Microservices Architecture&lt;br /&gt;
* Manufacturing Resource Planning - Logistics Manager&lt;br /&gt;
* Physics - Weather Radar Systems, Lasers, Fibre-optics&lt;br /&gt;
* Electrical &amp;amp; Electronic Engineering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Work Experience == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== [[Upskilling &amp;amp; Community Roles 2024]] (May-2024 - Current) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Playwright|Playwright]], &lt;br /&gt;
|}&lt;br /&gt;
: Upskilling whilst looking for work, breathing life back into the [https://www.meetup.com/Ministry-of-Testing-Auckland Ministry of Testing - Auckland meetup group], and managing the [https://laingholm.org.nz/ Laingholm Village Hall]&lt;br /&gt;
:* [[Udemy Playwright: Web Automation Testing From Zero to Hero]]&lt;br /&gt;
&lt;br /&gt;
=== [[Water Services Reform, DIA - Senior Test Automation Engineer]] (Nov-2023 - Jan-2024) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#Maven|Maven]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#Tidal. Wave|Tidal. Wave]], [[Skills#IntelliJ|IntelliJ]], &amp;lt;br/&amp;gt;[[Skills#Web App Testing|Web App Testing]], [[Skills#Azure DevOps (TFS)|Azure DevOps]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting through [https://ttcglobal.com TTC Global]. Test Automation team, Three Waters Project, developing a UI Automation suite in Java using the [https://wave.tidalcode.dev/ Tidal. wave] Selenium automation library&lt;br /&gt;
&lt;br /&gt;
=== [[Westpac NZ - Senior Automation Quality Engineer]] (Apr-2021 - Nov-2023) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#API Testing|API's]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#Web App Testing|Web]], [[Skills#Observability Concepts|Observability]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Java|Java]], &amp;lt;br /&amp;gt;[[Skills#Cucumber (BDD)|Cucumber]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#JavaScript|JavaScript]], [[Skills#React|React]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#Linux|Linux]], [[Skills#Docker|Docker]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], &amp;lt;br /&amp;gt;[[Skills#Jira, Confluence|Jira, Confluence, Zephyr]], [[Skills#Splunk|Splunk]], [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins, Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Served as a roving Automation Quality Engineer, addressing testing and automation needs across multiple teams. Conducted testing and automation for mobile apps (Appium &amp;amp; XCUITest), a D365 web UI (Java, Selenium, POM's), and various APIs (Java, REST Assured). Also contributed as a platform engineer supporting Splunk, and developed a React web app for visualising test environments (Node.js, React, mermaid.js).&lt;br /&gt;
&lt;br /&gt;
=== [[FirstAML - Test Analyst]] (Oct-2020 - Mar-2021) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman]], [[Skills#AML/CFT Sector|AML/CFT]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Data Privacy|Data Privacy]], [[Skills#GraphQL|GraphQL]], AWS&lt;br /&gt;
|}&lt;br /&gt;
: Served as a quality coach for a startup company developing a ReactJS Web App for the AML/CFT (Anti-Money Laundering/Countering Financing of Terrorism) sector.&lt;br /&gt;
&lt;br /&gt;
=== [[Weather Radar NZ limited - Weather Radar Systems Engineer]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Physics - Weather Radar Systems, Lasers, Fibre-optics|Weather Radar Systems]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], &amp;lt;br /&amp;gt;[[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Testing]], [[Skills#C++, Arduino, ESP32|Arduino]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 4 days/week. Retrofitting legacy weather radars with embedded Arduino micro controllers. Designing new electronics, PCB's, maintaining power waveguide systems, and performing signal analysis.&lt;br /&gt;
&lt;br /&gt;
=== [[Grappler- Agile Quality Analyst]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman, Newman]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Google Cloud Platform]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 1 day/week. Developed a small solution to run a Postman collection in Google Cloud Platform and a simple Web UI (Node.js, Express.js) to trigger test runs and display HTML test reports.&lt;br /&gt;
&lt;br /&gt;
=== [[Fiserv Auckland - Intermediate Software Test Engineer]] (Jan-2017 - Apr-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#Programming &amp;amp; Automation|Automation]], [[Skills#API Testing|API Testing]], [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#Splunk|Splunk]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jira, Confluence|Jira, Confluence]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Native Mobile App functional and accessibility testing. API testing and automation, using Postman/Newman, Specflow with C#, JavaScript (Postman, Node.js, Express.js), Splunk for dashboards, TFS &amp;amp; Powershell for System deployment automation. Created the Postman Testrunner Framework (PTF) for automated API integration checks and environment health monitoring.&lt;br /&gt;
&lt;br /&gt;
=== [[Trade Me - Senior Software Test Analyst]] (Dec-2014 - Aug-2016) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Context Driven Testing|Context Driven Testing]], [[Skills#Exploratory Testing (Session &amp;amp; Thread Based)|Exploratory Testing]], [[Skills#Agile Squad Master|Agile]], [[Skills#Testability Concepts|Testability]], [[Skills#Accessibility Testing|Accessibility]], &amp;lt;br /&amp;gt;[[Skills#Observability Concepts|Observability]], [[Skills#Jira, Confluence|Jira, Confluence]], DB, [[Skills#Web App Testing|Web App]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#API Testing|API Testing]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#Splunk|Splunk]], [[Skills#SoapUI, ReadyAPI|ReadyAPI]], [[Skills#Metrics Driven Development (A/B Testing)|A/B Testing]], [[Skills#XMind|XMind]], [[Skills#Staff Mentoring &amp;amp; Induction|Onboarding]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]]&lt;br /&gt;
|}&lt;br /&gt;
: Context-driven exploratory testing for software changes to the iconic [https://www.trademe.co.nz/ Trade Me] website, focussing on the [https://www.trademe.co.nz/a/motors Motors] page &amp;amp; features. My responsibilities included testing DBs, UIs, APIs, and mobile apps, leading deployments, conducting test planning and peer reviews, utilising BDD and visual test tools. I gained experience with implementing agile methods, Splunk, ReadyAPI, XMind, Jira, and Confluence. I also enjoyed onboarding new staff and contributing to the test and agile guilds.&lt;br /&gt;
&lt;br /&gt;
=== [[Pre-2014 Roles]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing]], VB, [[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Dev &amp;amp; Test]], [[Skills#Manufacturing Resource Planning|MRP II]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], Logistics, Networking, [[Skills#Teaching &amp;amp; Tutoring|Training &amp;amp; Tutoring]], &amp;lt;br /&amp;gt;[[Skills#C++, Arduino, ESP32|C++]], Customer &amp;amp; Tech Support, Production Planning, Documentation, Specifications, Sales Forecasting&lt;br /&gt;
|}&lt;br /&gt;
: [[Pre-2014 Roles#LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014)|Software Tester]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)|Logistics Manager]], [[Pre-2014 Roles#Primary Caregiver (Sep-2003 - Jul-2005)|Caregiver]], [[Pre-2014 Roles#Bioengineering Institute - Software Engineer (Sep 2002 - Aug 2003)|Software Engineer]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)|Development &amp;amp; Support Engineer]], [[Pre-2014 Roles#Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)|Production Scheduler]], [[Pre-2014 Roles#University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time)|Physics Tutor]]&lt;br /&gt;
&lt;br /&gt;
== Related wiki pages ==&lt;br /&gt;
=== [[References_-_Full_List|References]] ===&lt;br /&gt;
:[[References_-_Full_List#Dept. of Internal Affairs (TTC)| TTC]], [[References_-_Full_List#Westpac| Westpac ]], [[References_-_Full_List#Fiserv| Fiserv ]], [[References_-_Full_List#| Trade Me Motors]]&lt;br /&gt;
&lt;br /&gt;
=== GitHub Profile ===&lt;br /&gt;
: [[My GitHub Projects]]&lt;br /&gt;
&lt;br /&gt;
=== [[Volunteering]] ===&lt;br /&gt;
: [https://www.neighbourly.co.nz/organisation/laingholm-district-citizens-association Laingholm &amp;amp; Districts Citizens Association], [[Ministry of Testing - Auckland Branch|Ministry of Testing]], Eastern Suburbs AFC, Glendowie Boating Club, MOTAT, Eastern Suburbs Montessori Primary School&lt;br /&gt;
&lt;br /&gt;
=== [[Professional Development]] ===&lt;br /&gt;
: Conferences, workshops, meetups etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Education]] ===&lt;br /&gt;
: University of Auckland: ME(Elec) 1993&lt;br /&gt;
&lt;br /&gt;
=== [[Presentations, Posts, and blogs]] ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==What I'm reading, watching, listening, learning, and trying out in 2024==&lt;br /&gt;
&lt;br /&gt;
===Learning===&lt;br /&gt;
* [https://www.udemy.com/course/playwright-from-zero-to-hero Udemy Playwright: Web Automation Testing From Zero to Hero]&lt;br /&gt;
: I'm going to try use this to test some of my CV Wiki site. &lt;br /&gt;
: See [[Udemy Playwright: Web Automation Testing From Zero to Hero|my notes]] as well as GitHub [https://github.com/VincentDirks/Playwright-Udemy-Course repo #1], and [https://github.com/VincentDirks/Playwright-Udemy-Course-2 repo #2]&lt;br /&gt;
&lt;br /&gt;
===My Personal [[Observability Project]]===&lt;br /&gt;
* [https://expressjs.com/en/starter/hello-world.html Express.js basic hello world] and my [https://github.com/VincentDirks/node.js-in-the-cloud node.js-in-the-cloud] repo&lt;br /&gt;
* [https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker Kubernetes vs. Docker] by Josh Campbell at Atlassian &amp;lt;br&amp;gt;&lt;br /&gt;
:I want to learn the difference between these technologies to see how it might apply to my [[Observability Project]]&lt;br /&gt;
&lt;br /&gt;
* Setting up Docker Desktop at home to run the [https://github.com/Splunk/docker-Splunk Docker Splunk Image]&lt;br /&gt;
&lt;br /&gt;
=== Test Community Events ===&lt;br /&gt;
* Attended [https://nztestingconf.nz/ NZTestingConf 2024] in Wellington. Presentations: &lt;br /&gt;
** Shay Naiki, QA Manager @ Alphero: Creating a collaborative culture in the testing world: lessons from life in a digital agency&lt;br /&gt;
** Nevetha Mani, Product Human @ Hectre: Off the beaten path: rethinking quality in the startup world&lt;br /&gt;
** Emma Procter &amp;amp; Jonathan Shirley, @ PikPok: Finding the fun: researching and playtesting games at PikPok&lt;br /&gt;
** Patricio Miner, Content Creator @ Free Range Testers: ETL: the testing niche you've never thought of&lt;br /&gt;
** Toby Martin, QA Practice Lead @ Pushpay: Stop automating, start investigating: a guide to slowing down to speed up &lt;br /&gt;
** Ryan Bevens, QA Community Manager @ Potentia: Diary of a reluctant recruiter: your value as a tester&lt;br /&gt;
&lt;br /&gt;
===Interesting Reads===&lt;br /&gt;
* '''[https://www.satisfice.com/download/a-context-driven-approach-to-automation-in-testing A Context Driven Approach to Automation in Testing]''' By James Bach and Michael Bolton&lt;br /&gt;
:Quote: ''&amp;quot;dynamically evaluating context and selecting, designing, or adjusting our actions to solve the problems that we encounter.&amp;quot;''&lt;br /&gt;
* '''[https://www.satisfice.com/blog/archives/4947 Round Earth Test Strategy]''' by James Bach&lt;br /&gt;
:Interesting alternative to the ''&amp;quot;Test Automation Pyramid&amp;quot;''. &lt;br /&gt;
:Quote: ''There are testing problems to consider at every level, &amp;quot;Quality above requires quality below&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
===[[Archive What I'm Reading, Watching, Listing, Learning, and Trying Out|Archive]]===&lt;br /&gt;
:Old pre-2024 entries&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1375</id>
		<title>Curriculum Vitae - Vincent Dirks</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1375"/>
		<updated>2024-08-05T03:04:29Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* General */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
| Vincent Dirks&lt;br /&gt;
|-&lt;br /&gt;
! e-mail&lt;br /&gt;
| [mailto:vincent@dirksonline.net?Subject=Enquiry%20from%20CV%20Wiki vincent@dirksonline.net] &lt;br /&gt;
|-&lt;br /&gt;
! Mob&lt;br /&gt;
| 021-0269-6216&lt;br /&gt;
|-&lt;br /&gt;
! LinkedIn&lt;br /&gt;
| [https://nz.linkedin.com/in/vincent-dirks-937aa557 nz.linkedin.com]&lt;br /&gt;
|-&lt;br /&gt;
! Location&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Parau Parau], West Auckland&lt;br /&gt;
|-&lt;br /&gt;
! Download&lt;br /&gt;
| [https://dirksonline.net/CV/2024%20Curriculum%20Vitae%20-%20Vincent%20Dirks.pdf Curriculum Vitae pdf]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vincent Dirks - [[What's in a title?|Software Quality Engineer]] ==&lt;br /&gt;
As a versatile Software Quality Engineer, I aim to understand the nuances of the product, team dynamics, technological landscapes, and organisational structures so that I can adapt and contribute effectively. I specialise in adapting to diverse contexts, and look beyond traditional testing methodologies to consider the design of the whole quality ecosystem necessary for delivering quality software solutions efficiently.&lt;br /&gt;
&lt;br /&gt;
== [[Skills]] ==&lt;br /&gt;
=== [[Skills#Testing|Testing Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Context Driven Testing&lt;br /&gt;
* API Testing&lt;br /&gt;
* Testing Native Mobile Apps&lt;br /&gt;
* Testing Web Apps &lt;br /&gt;
* Testing Firmware/Embedded systems&lt;br /&gt;
* Testability Concepts&lt;br /&gt;
| &lt;br /&gt;
* Observability Concepts&lt;br /&gt;
* Exploratory Testing (Session &amp;amp; Thread Based)&lt;br /&gt;
* Visual Modelling&lt;br /&gt;
* Metrics Driven Development (A/B Testing)&lt;br /&gt;
* Accessibility Testing&lt;br /&gt;
* Data Privacy&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Programming and Automation Skills ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#JavaScript|JavaScript]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Java|Java]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Other|Other]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Node.js, npm&lt;br /&gt;
* Express.js&lt;br /&gt;
* React&lt;br /&gt;
* Jest&lt;br /&gt;
* Cypress.io&lt;br /&gt;
* Webdriver.io&lt;br /&gt;
|&lt;br /&gt;
* [https://maven.apache.org/ Maven], [https://junit.org/ JUnit], [https://testng.org/ TestNG]&lt;br /&gt;
* [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD])&lt;br /&gt;
* [https://rest-assured.io/ REST-assured]&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs)&lt;br /&gt;
* [https://wave.tidalcode.dev/ Tidal. Wave]&lt;br /&gt;
|&lt;br /&gt;
* C#, Specflow (BDD)&lt;br /&gt;
* SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SSMS]&lt;br /&gt;
* Appium&lt;br /&gt;
* XCUITest&lt;br /&gt;
* GraphQL&lt;br /&gt;
* C++: Arduino, ESP32&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [https://www.splunk.com/ Splunk]&lt;br /&gt;
* Postman, Newman&lt;br /&gt;
* VS Code, IntelliJ, Visual Studio&lt;br /&gt;
* Github, Bitbucket&lt;br /&gt;
* Docker, Linux&lt;br /&gt;
|&lt;br /&gt;
* [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
* Jenkins, Azure DevOps (TFS), Google Cloud Platform&lt;br /&gt;
* Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting&lt;br /&gt;
* [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence], [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale], [https://xmind.app/ XMind]&lt;br /&gt;
* [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Domain Experience ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Banking and Finance Sector&lt;br /&gt;
* AML/CFT Sector&lt;br /&gt;
* Online Auction Platforms&lt;br /&gt;
* Vehicle Leasing systems&lt;br /&gt;
* Platform Engineering&lt;br /&gt;
* Staff Mentoring &amp;amp; Induction&lt;br /&gt;
| &lt;br /&gt;
* Agile (Scrum, Kanban, SAFe, Squad Master)&lt;br /&gt;
* Microservices Architecture&lt;br /&gt;
* Manufacturing Resource Planning - Logistics Manager&lt;br /&gt;
* Physics - Weather Radar Systems, Lasers, Fibre-optics&lt;br /&gt;
* Electrical &amp;amp; Electronic Engineering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Work Experience == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== [[Upskilling &amp;amp; Community Roles 2024]] (May-2024 - Current) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Playwright|Playwright]], &lt;br /&gt;
|}&lt;br /&gt;
: Upskilling whilst looking for work, breathing life back into the [https://www.meetup.com/Ministry-of-Testing-Auckland Ministry of Testing - Auckland meetup group], and managing the [https://laingholm.org.nz/ Laingholm Village Hall]&lt;br /&gt;
:* [[Udemy Playwright: Web Automation Testing From Zero to Hero]]&lt;br /&gt;
&lt;br /&gt;
=== [[Water Services Reform, DIA - Senior Test Automation Engineer]] (Nov-2023 - Jan-2024) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#Maven|Maven]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#Tidal. Wave|Tidal. Wave]], [[Skills#IntelliJ|IntelliJ]], &amp;lt;br/&amp;gt;[[Skills#Web App Testing|Web App Testing]], [[Skills#Azure DevOps (TFS)|Azure DevOps]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting through [https://ttcglobal.com TTC Global]. Test Automation team, Three Waters Project, developing a UI Automation suite in Java using the [https://wave.tidalcode.dev/ Tidal. wave] Selenium automation library&lt;br /&gt;
&lt;br /&gt;
=== [[Westpac NZ - Senior Automation Quality Engineer]] (Apr-2021 - Nov-2023) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#API Testing|API's]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#Web App Testing|Web]], [[Skills#Observability Concepts|Observability]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Java|Java]], &amp;lt;br /&amp;gt;[[Skills#Cucumber (BDD)|Cucumber]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#JavaScript|JavaScript]], [[Skills#React|React]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#Linux|Linux]], [[Skills#Docker|Docker]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], &amp;lt;br /&amp;gt;[[Skills#Jira, Confluence|Jira, Confluence, Zephyr]], [[Skills#Splunk|Splunk]], [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins, Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Served as a roving Automation Quality Engineer, addressing testing and automation needs across multiple teams. Conducted testing and automation for mobile apps (Appium &amp;amp; XCUITest), a D365 web UI (Java, Selenium, POM's), and various APIs (Java, REST Assured). Also contributed as a platform engineer supporting Splunk, and developed a React web app for visualising test environments (Node.js, React, mermaid.js).&lt;br /&gt;
&lt;br /&gt;
=== [[FirstAML - Test Analyst]] (Oct-2020 - Mar-2021) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman]], [[Skills#AML/CFT Sector|AML/CFT]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Data Privacy|Data Privacy]], [[Skills#GraphQL|GraphQL]], AWS&lt;br /&gt;
|}&lt;br /&gt;
: Served as a quality coach for a startup company developing a ReactJS Web App for the AML/CFT (Anti-Money Laundering/Countering Financing of Terrorism) sector.&lt;br /&gt;
&lt;br /&gt;
=== [[Weather Radar NZ limited - Weather Radar Systems Engineer]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Physics - Weather Radar Systems, Lasers, Fibre-optics|Weather Radar Systems]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], &amp;lt;br /&amp;gt;[[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Testing]], [[Skills#C++, Arduino, ESP32|Arduino]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 4 days/week. Retrofitting legacy weather radars with embedded Arduino micro controllers. Designing new electronics, PCB's, maintaining power waveguide systems, and performing signal analysis.&lt;br /&gt;
&lt;br /&gt;
=== [[Grappler- Agile Quality Analyst]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman, Newman]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Google Cloud Platform]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 1 day/week. Developed a small solution to run a Postman collection in Google Cloud Platform and a simple Web UI (Node.js, Express.js) to trigger test runs and display HTML test reports.&lt;br /&gt;
&lt;br /&gt;
=== [[Fiserv Auckland - Intermediate Software Test Engineer]] (Jan-2017 - Apr-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#Programming &amp;amp; Automation|Automation]], [[Skills#API Testing|API Testing]], [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#Splunk|Splunk]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jira, Confluence|Jira, Confluence]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Native Mobile App functional and accessibility testing. API testing and automation, using Postman/Newman, Specflow with C#, JavaScript (Postman, Node.js, Express.js), Splunk for dashboards, TFS &amp;amp; Powershell for System deployment automation. Created the Postman Testrunner Framework (PTF) for automated API integration checks and environment health monitoring.&lt;br /&gt;
&lt;br /&gt;
=== [[Trade Me - Senior Software Test Analyst]] (Dec-2014 - Aug-2016) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Context Driven Testing|Context Driven Testing]], [[Skills#Exploratory Testing (Session &amp;amp; Thread Based)|Exploratory Testing]], [[Skills#Agile Squad Master|Agile]], [[Skills#Testability Concepts|Testability]], [[Skills#Accessibility Testing|Accessibility]], &amp;lt;br /&amp;gt;[[Skills#Observability Concepts|Observability]], [[Skills#Jira, Confluence|Jira, Confluence]], DB, [[Skills#Web App Testing|Web App]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#API Testing|API Testing]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#Splunk|Splunk]], [[Skills#SoapUI, ReadyAPI|ReadyAPI]], [[Skills#Metrics Driven Development (A/B Testing)|A/B Testing]], [[Skills#XMind|XMind]], [[Skills#Staff Mentoring &amp;amp; Induction|Onboarding]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]]&lt;br /&gt;
|}&lt;br /&gt;
: Context-driven exploratory testing for software changes to the iconic [https://www.trademe.co.nz/ Trade Me] website, focussing on the [https://www.trademe.co.nz/a/motors Motors] page &amp;amp; features. My responsibilities included testing DBs, UIs, APIs, and mobile apps, leading deployments, conducting test planning and peer reviews, utilising BDD and visual test tools. I gained experience with implementing agile methods, Splunk, ReadyAPI, XMind, Jira, and Confluence. I also enjoyed onboarding new staff and contributing to the test and agile guilds.&lt;br /&gt;
&lt;br /&gt;
=== [[Pre-2014 Roles]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing]], VB, [[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Dev &amp;amp; Test]], [[Skills#Manufacturing Resource Planning|MRP II]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], Logistics, Networking, [[Skills#Teaching &amp;amp; Tutoring|Training &amp;amp; Tutoring]], &amp;lt;br /&amp;gt;[[Skills#C++, Arduino, ESP32|C++]], Customer &amp;amp; Tech Support, Production Planning, Documentation, Specifications, Sales Forecasting&lt;br /&gt;
|}&lt;br /&gt;
: [[Pre-2014 Roles#LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014)|Software Tester]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)|Logistics Manager]], [[Pre-2014 Roles#Primary Caregiver (Sep-2003 - Jul-2005)|Caregiver]], [[Pre-2014 Roles#Bioengineering Institute - Software Engineer (Sep 2002 - Aug 2003)|Software Engineer]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)|Development &amp;amp; Support Engineer]], [[Pre-2014 Roles#Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)|Production Scheduler]], [[Pre-2014 Roles#University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time)|Physics Tutor]]&lt;br /&gt;
&lt;br /&gt;
== Related wiki pages ==&lt;br /&gt;
=== [[References_-_Full_List|References]] ===&lt;br /&gt;
:[[References_-_Full_List#Dept. of Internal Affairs (TTC)| TTC]], [[References_-_Full_List#Westpac| Westpac ]], [[References_-_Full_List#Fiserv| Fiserv ]], [[References_-_Full_List#| Trade Me Motors]]&lt;br /&gt;
&lt;br /&gt;
=== GitHub Profile ===&lt;br /&gt;
: [[My GitHub Projects]]&lt;br /&gt;
&lt;br /&gt;
=== [[Volunteering]] ===&lt;br /&gt;
: [https://www.neighbourly.co.nz/organisation/laingholm-district-citizens-association Laingholm &amp;amp; Districts Citizens Association], [[Ministry of Testing - Auckland Branch|Ministry of Testing]], Eastern Suburbs AFC, Glendowie Boating Club, MOTAT, Eastern Suburbs Montessori Primary School&lt;br /&gt;
&lt;br /&gt;
=== [[Professional Development]] ===&lt;br /&gt;
: Conferences, workshops, meetups etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Education]] ===&lt;br /&gt;
: University of Auckland: ME(Elec) 1993&lt;br /&gt;
&lt;br /&gt;
=== [[Presentations, Posts, and blogs]] ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==What I'm reading, watching, listening, learning, and trying out in 2024==&lt;br /&gt;
&lt;br /&gt;
===Learning===&lt;br /&gt;
* [https://www.udemy.com/course/playwright-from-zero-to-hero Udemy Playwright: Web Automation Testing From Zero to Hero]&lt;br /&gt;
: I'm going to try use this to test some of my CV Wiki site. &lt;br /&gt;
: See [[Udemy Playwright: Web Automation Testing From Zero to Hero|my notes]] as well as GitHub [https://github.com/VincentDirks/Playwright-Udemy-Course repo #1], and [https://github.com/VincentDirks/Playwright-Udemy-Course-2 repo #2]&lt;br /&gt;
&lt;br /&gt;
===My Personal [[Observability Project]]===&lt;br /&gt;
* [https://expressjs.com/en/starter/hello-world.html Express.js basic hello world] and my [https://github.com/VincentDirks/node.js-in-the-cloud node.js-in-the-cloud] repo&lt;br /&gt;
* [https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker Kubernetes vs. Docker] by Josh Campbell at Atlassian &amp;lt;br&amp;gt;&lt;br /&gt;
:I want to learn the difference between these technologies to see how it might apply to my [[Observability Project]]&lt;br /&gt;
&lt;br /&gt;
* Setting up Docker Desktop at home to run the [https://github.com/Splunk/docker-Splunk Docker Splunk Image]&lt;br /&gt;
&lt;br /&gt;
=== Test Community Events ===&lt;br /&gt;
* Attended [https://nztestingconf.nz/ NZTestingConf 2024] in Wellington. Presentations: &lt;br /&gt;
** Shay Naiki, QA Manager @ Alphero: Creating a collaborative culture in the testing world: lessons from life in a digital agency&lt;br /&gt;
** Nevetha Mani, Product Human @ Hectre: Off the beaten path: rethinking quality in the startup world&lt;br /&gt;
** Emma Procter &amp;amp; Jonathan Shirley, @ PikPok: Finding the fun: researching and playtesting games at PikPok&lt;br /&gt;
** Patricio Miner, Content Creator @ Free Range Testers: ETL: the testing niche you've never thought of&lt;br /&gt;
** Toby Martin, QA Practice Lead @ Pushpay: Stop automating, start investigating: a guide to slowing down to speed up &lt;br /&gt;
** Ryan Bevens, QA Community Manager @ Potentia: Diary of a reluctant recruiter: your value as a tester&lt;br /&gt;
&lt;br /&gt;
===Interesting Reads===&lt;br /&gt;
* '''[https://www.satisfice.com/download/a-context-driven-approach-to-automation-in-testing A Context Driven Approach to Automation in Testing]''' By James Bach and Michael Bolton&lt;br /&gt;
:Quote: ''&amp;quot;dynamically evaluating context and selecting, designing, or adjusting our actions to solve the problems that we encounter.&amp;quot;''&lt;br /&gt;
* '''[https://www.satisfice.com/blog/archives/4947 Round Earth Test Strategy]''' by James Bach&lt;br /&gt;
:Interesting alternative to the ''&amp;quot;Test Automation Pyramid&amp;quot;''. &lt;br /&gt;
:Quote: ''There are testing problems to consider at every level, &amp;quot;Quality above requires quality below&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
===[[Archive What I'm Reading, Watching, Listing, Learning, and Trying Out|Archive]]===&lt;br /&gt;
:Old pre-2024 entries&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1374</id>
		<title>Curriculum Vitae - Vincent Dirks</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1374"/>
		<updated>2024-08-05T03:03:42Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Programming and Automation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
| Vincent Dirks&lt;br /&gt;
|-&lt;br /&gt;
! e-mail&lt;br /&gt;
| [mailto:vincent@dirksonline.net?Subject=Enquiry%20from%20CV%20Wiki vincent@dirksonline.net] &lt;br /&gt;
|-&lt;br /&gt;
! Mob&lt;br /&gt;
| 021-0269-6216&lt;br /&gt;
|-&lt;br /&gt;
! LinkedIn&lt;br /&gt;
| [https://nz.linkedin.com/in/vincent-dirks-937aa557 nz.linkedin.com]&lt;br /&gt;
|-&lt;br /&gt;
! Location&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Parau Parau], West Auckland&lt;br /&gt;
|-&lt;br /&gt;
! Download&lt;br /&gt;
| [https://dirksonline.net/CV/2024%20Curriculum%20Vitae%20-%20Vincent%20Dirks.pdf Curriculum Vitae pdf]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vincent Dirks - [[What's in a title?|Software Quality Engineer]] ==&lt;br /&gt;
As a versatile Software Quality Engineer, I aim to understand the nuances of the product, team dynamics, technological landscapes, and organisational structures so that I can adapt and contribute effectively. I specialise in adapting to diverse contexts, and look beyond traditional testing methodologies to consider the design of the whole quality ecosystem necessary for delivering quality software solutions efficiently.&lt;br /&gt;
&lt;br /&gt;
== [[Skills]] ==&lt;br /&gt;
=== [[Skills#Testing|Testing Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Context Driven Testing&lt;br /&gt;
* API Testing&lt;br /&gt;
* Testing Native Mobile Apps&lt;br /&gt;
* Testing Web Apps &lt;br /&gt;
* Testing Firmware/Embedded systems&lt;br /&gt;
* Testability Concepts&lt;br /&gt;
| &lt;br /&gt;
* Observability Concepts&lt;br /&gt;
* Exploratory Testing (Session &amp;amp; Thread Based)&lt;br /&gt;
* Visual Modelling&lt;br /&gt;
* Metrics Driven Development (A/B Testing)&lt;br /&gt;
* Accessibility Testing&lt;br /&gt;
* Data Privacy&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Programming and Automation Skills ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#JavaScript|JavaScript]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Java|Java]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Other|Other]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Node.js, npm&lt;br /&gt;
* Express.js&lt;br /&gt;
* React&lt;br /&gt;
* Jest&lt;br /&gt;
* Cypress.io&lt;br /&gt;
* Webdriver.io&lt;br /&gt;
|&lt;br /&gt;
* [https://maven.apache.org/ Maven], [https://junit.org/ JUnit], [https://testng.org/ TestNG]&lt;br /&gt;
* [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD])&lt;br /&gt;
* [https://rest-assured.io/ REST-assured]&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs)&lt;br /&gt;
* [https://wave.tidalcode.dev/ Tidal. Wave]&lt;br /&gt;
|&lt;br /&gt;
* C#, Specflow (BDD)&lt;br /&gt;
* SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SSMS]&lt;br /&gt;
* Appium&lt;br /&gt;
* XCUITest&lt;br /&gt;
* GraphQL&lt;br /&gt;
* C++: Arduino, ESP32&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [https://www.splunk.com/ Splunk]&lt;br /&gt;
* Postman, Newman&lt;br /&gt;
* VS Code, IntelliJ, Visual Studio&lt;br /&gt;
* Github, Bitbucket&lt;br /&gt;
* Docker, Linux&lt;br /&gt;
|&lt;br /&gt;
* [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
* Jenkins, Azure DevOps (TFS), Google Cloud Platform&lt;br /&gt;
* Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting&lt;br /&gt;
* [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence], [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale], [https://xmind.app/ XMind]&lt;br /&gt;
* [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Banking and Finance Sector&lt;br /&gt;
* AML/CFT Sector&lt;br /&gt;
* Online Auction Platforms&lt;br /&gt;
* Vehicle Leasing systems&lt;br /&gt;
* Platform Engineering&lt;br /&gt;
* Staff Mentoring &amp;amp; Induction&lt;br /&gt;
| &lt;br /&gt;
* Agile (Scrum, Kanban, SAFe, Squad Master)&lt;br /&gt;
* Microservices Architecture&lt;br /&gt;
* Manufacturing Resource Planning - Logistics Manager&lt;br /&gt;
* Physics - Weather Radar Systems, Lasers, Fibre-optics&lt;br /&gt;
* Electrical &amp;amp; Electronic Engineering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Work Experience == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== [[Upskilling &amp;amp; Community Roles 2024]] (May-2024 - Current) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Playwright|Playwright]], &lt;br /&gt;
|}&lt;br /&gt;
: Upskilling whilst looking for work, breathing life back into the [https://www.meetup.com/Ministry-of-Testing-Auckland Ministry of Testing - Auckland meetup group], and managing the [https://laingholm.org.nz/ Laingholm Village Hall]&lt;br /&gt;
:* [[Udemy Playwright: Web Automation Testing From Zero to Hero]]&lt;br /&gt;
&lt;br /&gt;
=== [[Water Services Reform, DIA - Senior Test Automation Engineer]] (Nov-2023 - Jan-2024) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#Maven|Maven]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#Tidal. Wave|Tidal. Wave]], [[Skills#IntelliJ|IntelliJ]], &amp;lt;br/&amp;gt;[[Skills#Web App Testing|Web App Testing]], [[Skills#Azure DevOps (TFS)|Azure DevOps]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting through [https://ttcglobal.com TTC Global]. Test Automation team, Three Waters Project, developing a UI Automation suite in Java using the [https://wave.tidalcode.dev/ Tidal. wave] Selenium automation library&lt;br /&gt;
&lt;br /&gt;
=== [[Westpac NZ - Senior Automation Quality Engineer]] (Apr-2021 - Nov-2023) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#API Testing|API's]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#Web App Testing|Web]], [[Skills#Observability Concepts|Observability]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Java|Java]], &amp;lt;br /&amp;gt;[[Skills#Cucumber (BDD)|Cucumber]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#JavaScript|JavaScript]], [[Skills#React|React]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#Linux|Linux]], [[Skills#Docker|Docker]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], &amp;lt;br /&amp;gt;[[Skills#Jira, Confluence|Jira, Confluence, Zephyr]], [[Skills#Splunk|Splunk]], [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins, Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Served as a roving Automation Quality Engineer, addressing testing and automation needs across multiple teams. Conducted testing and automation for mobile apps (Appium &amp;amp; XCUITest), a D365 web UI (Java, Selenium, POM's), and various APIs (Java, REST Assured). Also contributed as a platform engineer supporting Splunk, and developed a React web app for visualising test environments (Node.js, React, mermaid.js).&lt;br /&gt;
&lt;br /&gt;
=== [[FirstAML - Test Analyst]] (Oct-2020 - Mar-2021) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman]], [[Skills#AML/CFT Sector|AML/CFT]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Data Privacy|Data Privacy]], [[Skills#GraphQL|GraphQL]], AWS&lt;br /&gt;
|}&lt;br /&gt;
: Served as a quality coach for a startup company developing a ReactJS Web App for the AML/CFT (Anti-Money Laundering/Countering Financing of Terrorism) sector.&lt;br /&gt;
&lt;br /&gt;
=== [[Weather Radar NZ limited - Weather Radar Systems Engineer]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Physics - Weather Radar Systems, Lasers, Fibre-optics|Weather Radar Systems]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], &amp;lt;br /&amp;gt;[[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Testing]], [[Skills#C++, Arduino, ESP32|Arduino]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 4 days/week. Retrofitting legacy weather radars with embedded Arduino micro controllers. Designing new electronics, PCB's, maintaining power waveguide systems, and performing signal analysis.&lt;br /&gt;
&lt;br /&gt;
=== [[Grappler- Agile Quality Analyst]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman, Newman]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Google Cloud Platform]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 1 day/week. Developed a small solution to run a Postman collection in Google Cloud Platform and a simple Web UI (Node.js, Express.js) to trigger test runs and display HTML test reports.&lt;br /&gt;
&lt;br /&gt;
=== [[Fiserv Auckland - Intermediate Software Test Engineer]] (Jan-2017 - Apr-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#Programming &amp;amp; Automation|Automation]], [[Skills#API Testing|API Testing]], [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#Splunk|Splunk]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jira, Confluence|Jira, Confluence]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Native Mobile App functional and accessibility testing. API testing and automation, using Postman/Newman, Specflow with C#, JavaScript (Postman, Node.js, Express.js), Splunk for dashboards, TFS &amp;amp; Powershell for System deployment automation. Created the Postman Testrunner Framework (PTF) for automated API integration checks and environment health monitoring.&lt;br /&gt;
&lt;br /&gt;
=== [[Trade Me - Senior Software Test Analyst]] (Dec-2014 - Aug-2016) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Context Driven Testing|Context Driven Testing]], [[Skills#Exploratory Testing (Session &amp;amp; Thread Based)|Exploratory Testing]], [[Skills#Agile Squad Master|Agile]], [[Skills#Testability Concepts|Testability]], [[Skills#Accessibility Testing|Accessibility]], &amp;lt;br /&amp;gt;[[Skills#Observability Concepts|Observability]], [[Skills#Jira, Confluence|Jira, Confluence]], DB, [[Skills#Web App Testing|Web App]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#API Testing|API Testing]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#Splunk|Splunk]], [[Skills#SoapUI, ReadyAPI|ReadyAPI]], [[Skills#Metrics Driven Development (A/B Testing)|A/B Testing]], [[Skills#XMind|XMind]], [[Skills#Staff Mentoring &amp;amp; Induction|Onboarding]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]]&lt;br /&gt;
|}&lt;br /&gt;
: Context-driven exploratory testing for software changes to the iconic [https://www.trademe.co.nz/ Trade Me] website, focussing on the [https://www.trademe.co.nz/a/motors Motors] page &amp;amp; features. My responsibilities included testing DBs, UIs, APIs, and mobile apps, leading deployments, conducting test planning and peer reviews, utilising BDD and visual test tools. I gained experience with implementing agile methods, Splunk, ReadyAPI, XMind, Jira, and Confluence. I also enjoyed onboarding new staff and contributing to the test and agile guilds.&lt;br /&gt;
&lt;br /&gt;
=== [[Pre-2014 Roles]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing]], VB, [[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Dev &amp;amp; Test]], [[Skills#Manufacturing Resource Planning|MRP II]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], Logistics, Networking, [[Skills#Teaching &amp;amp; Tutoring|Training &amp;amp; Tutoring]], &amp;lt;br /&amp;gt;[[Skills#C++, Arduino, ESP32|C++]], Customer &amp;amp; Tech Support, Production Planning, Documentation, Specifications, Sales Forecasting&lt;br /&gt;
|}&lt;br /&gt;
: [[Pre-2014 Roles#LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014)|Software Tester]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)|Logistics Manager]], [[Pre-2014 Roles#Primary Caregiver (Sep-2003 - Jul-2005)|Caregiver]], [[Pre-2014 Roles#Bioengineering Institute - Software Engineer (Sep 2002 - Aug 2003)|Software Engineer]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)|Development &amp;amp; Support Engineer]], [[Pre-2014 Roles#Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)|Production Scheduler]], [[Pre-2014 Roles#University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time)|Physics Tutor]]&lt;br /&gt;
&lt;br /&gt;
== Related wiki pages ==&lt;br /&gt;
=== [[References_-_Full_List|References]] ===&lt;br /&gt;
:[[References_-_Full_List#Dept. of Internal Affairs (TTC)| TTC]], [[References_-_Full_List#Westpac| Westpac ]], [[References_-_Full_List#Fiserv| Fiserv ]], [[References_-_Full_List#| Trade Me Motors]]&lt;br /&gt;
&lt;br /&gt;
=== GitHub Profile ===&lt;br /&gt;
: [[My GitHub Projects]]&lt;br /&gt;
&lt;br /&gt;
=== [[Volunteering]] ===&lt;br /&gt;
: [https://www.neighbourly.co.nz/organisation/laingholm-district-citizens-association Laingholm &amp;amp; Districts Citizens Association], [[Ministry of Testing - Auckland Branch|Ministry of Testing]], Eastern Suburbs AFC, Glendowie Boating Club, MOTAT, Eastern Suburbs Montessori Primary School&lt;br /&gt;
&lt;br /&gt;
=== [[Professional Development]] ===&lt;br /&gt;
: Conferences, workshops, meetups etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Education]] ===&lt;br /&gt;
: University of Auckland: ME(Elec) 1993&lt;br /&gt;
&lt;br /&gt;
=== [[Presentations, Posts, and blogs]] ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==What I'm reading, watching, listening, learning, and trying out in 2024==&lt;br /&gt;
&lt;br /&gt;
===Learning===&lt;br /&gt;
* [https://www.udemy.com/course/playwright-from-zero-to-hero Udemy Playwright: Web Automation Testing From Zero to Hero]&lt;br /&gt;
: I'm going to try use this to test some of my CV Wiki site. &lt;br /&gt;
: See [[Udemy Playwright: Web Automation Testing From Zero to Hero|my notes]] as well as GitHub [https://github.com/VincentDirks/Playwright-Udemy-Course repo #1], and [https://github.com/VincentDirks/Playwright-Udemy-Course-2 repo #2]&lt;br /&gt;
&lt;br /&gt;
===My Personal [[Observability Project]]===&lt;br /&gt;
* [https://expressjs.com/en/starter/hello-world.html Express.js basic hello world] and my [https://github.com/VincentDirks/node.js-in-the-cloud node.js-in-the-cloud] repo&lt;br /&gt;
* [https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker Kubernetes vs. Docker] by Josh Campbell at Atlassian &amp;lt;br&amp;gt;&lt;br /&gt;
:I want to learn the difference between these technologies to see how it might apply to my [[Observability Project]]&lt;br /&gt;
&lt;br /&gt;
* Setting up Docker Desktop at home to run the [https://github.com/Splunk/docker-Splunk Docker Splunk Image]&lt;br /&gt;
&lt;br /&gt;
=== Test Community Events ===&lt;br /&gt;
* Attended [https://nztestingconf.nz/ NZTestingConf 2024] in Wellington. Presentations: &lt;br /&gt;
** Shay Naiki, QA Manager @ Alphero: Creating a collaborative culture in the testing world: lessons from life in a digital agency&lt;br /&gt;
** Nevetha Mani, Product Human @ Hectre: Off the beaten path: rethinking quality in the startup world&lt;br /&gt;
** Emma Procter &amp;amp; Jonathan Shirley, @ PikPok: Finding the fun: researching and playtesting games at PikPok&lt;br /&gt;
** Patricio Miner, Content Creator @ Free Range Testers: ETL: the testing niche you've never thought of&lt;br /&gt;
** Toby Martin, QA Practice Lead @ Pushpay: Stop automating, start investigating: a guide to slowing down to speed up &lt;br /&gt;
** Ryan Bevens, QA Community Manager @ Potentia: Diary of a reluctant recruiter: your value as a tester&lt;br /&gt;
&lt;br /&gt;
===Interesting Reads===&lt;br /&gt;
* '''[https://www.satisfice.com/download/a-context-driven-approach-to-automation-in-testing A Context Driven Approach to Automation in Testing]''' By James Bach and Michael Bolton&lt;br /&gt;
:Quote: ''&amp;quot;dynamically evaluating context and selecting, designing, or adjusting our actions to solve the problems that we encounter.&amp;quot;''&lt;br /&gt;
* '''[https://www.satisfice.com/blog/archives/4947 Round Earth Test Strategy]''' by James Bach&lt;br /&gt;
:Interesting alternative to the ''&amp;quot;Test Automation Pyramid&amp;quot;''. &lt;br /&gt;
:Quote: ''There are testing problems to consider at every level, &amp;quot;Quality above requires quality below&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
===[[Archive What I'm Reading, Watching, Listing, Learning, and Trying Out|Archive]]===&lt;br /&gt;
:Old pre-2024 entries&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1373</id>
		<title>Curriculum Vitae - Vincent Dirks</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1373"/>
		<updated>2024-08-05T03:03:30Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
| Vincent Dirks&lt;br /&gt;
|-&lt;br /&gt;
! e-mail&lt;br /&gt;
| [mailto:vincent@dirksonline.net?Subject=Enquiry%20from%20CV%20Wiki vincent@dirksonline.net] &lt;br /&gt;
|-&lt;br /&gt;
! Mob&lt;br /&gt;
| 021-0269-6216&lt;br /&gt;
|-&lt;br /&gt;
! LinkedIn&lt;br /&gt;
| [https://nz.linkedin.com/in/vincent-dirks-937aa557 nz.linkedin.com]&lt;br /&gt;
|-&lt;br /&gt;
! Location&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Parau Parau], West Auckland&lt;br /&gt;
|-&lt;br /&gt;
! Download&lt;br /&gt;
| [https://dirksonline.net/CV/2024%20Curriculum%20Vitae%20-%20Vincent%20Dirks.pdf Curriculum Vitae pdf]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vincent Dirks - [[What's in a title?|Software Quality Engineer]] ==&lt;br /&gt;
As a versatile Software Quality Engineer, I aim to understand the nuances of the product, team dynamics, technological landscapes, and organisational structures so that I can adapt and contribute effectively. I specialise in adapting to diverse contexts, and look beyond traditional testing methodologies to consider the design of the whole quality ecosystem necessary for delivering quality software solutions efficiently.&lt;br /&gt;
&lt;br /&gt;
== [[Skills]] ==&lt;br /&gt;
=== [[Skills#Testing|Testing Skills]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Context Driven Testing&lt;br /&gt;
* API Testing&lt;br /&gt;
* Testing Native Mobile Apps&lt;br /&gt;
* Testing Web Apps &lt;br /&gt;
* Testing Firmware/Embedded systems&lt;br /&gt;
* Testability Concepts&lt;br /&gt;
| &lt;br /&gt;
* Observability Concepts&lt;br /&gt;
* Exploratory Testing (Session &amp;amp; Thread Based)&lt;br /&gt;
* Visual Modelling&lt;br /&gt;
* Metrics Driven Development (A/B Testing)&lt;br /&gt;
* Accessibility Testing&lt;br /&gt;
* Data Privacy&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Programming and Automation ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#JavaScript|JavaScript]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Java|Java]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Other|Other]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Node.js, npm&lt;br /&gt;
* Express.js&lt;br /&gt;
* React&lt;br /&gt;
* Jest&lt;br /&gt;
* Cypress.io&lt;br /&gt;
* Webdriver.io&lt;br /&gt;
|&lt;br /&gt;
* [https://maven.apache.org/ Maven], [https://junit.org/ JUnit], [https://testng.org/ TestNG]&lt;br /&gt;
* [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD])&lt;br /&gt;
* [https://rest-assured.io/ REST-assured]&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs)&lt;br /&gt;
* [https://wave.tidalcode.dev/ Tidal. Wave]&lt;br /&gt;
|&lt;br /&gt;
* C#, Specflow (BDD)&lt;br /&gt;
* SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SSMS]&lt;br /&gt;
* Appium&lt;br /&gt;
* XCUITest&lt;br /&gt;
* GraphQL&lt;br /&gt;
* C++: Arduino, ESP32&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [https://www.splunk.com/ Splunk]&lt;br /&gt;
* Postman, Newman&lt;br /&gt;
* VS Code, IntelliJ, Visual Studio&lt;br /&gt;
* Github, Bitbucket&lt;br /&gt;
* Docker, Linux&lt;br /&gt;
|&lt;br /&gt;
* [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
* Jenkins, Azure DevOps (TFS), Google Cloud Platform&lt;br /&gt;
* Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting&lt;br /&gt;
* [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence], [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale], [https://xmind.app/ XMind]&lt;br /&gt;
* [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Banking and Finance Sector&lt;br /&gt;
* AML/CFT Sector&lt;br /&gt;
* Online Auction Platforms&lt;br /&gt;
* Vehicle Leasing systems&lt;br /&gt;
* Platform Engineering&lt;br /&gt;
* Staff Mentoring &amp;amp; Induction&lt;br /&gt;
| &lt;br /&gt;
* Agile (Scrum, Kanban, SAFe, Squad Master)&lt;br /&gt;
* Microservices Architecture&lt;br /&gt;
* Manufacturing Resource Planning - Logistics Manager&lt;br /&gt;
* Physics - Weather Radar Systems, Lasers, Fibre-optics&lt;br /&gt;
* Electrical &amp;amp; Electronic Engineering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Work Experience == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== [[Upskilling &amp;amp; Community Roles 2024]] (May-2024 - Current) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Playwright|Playwright]], &lt;br /&gt;
|}&lt;br /&gt;
: Upskilling whilst looking for work, breathing life back into the [https://www.meetup.com/Ministry-of-Testing-Auckland Ministry of Testing - Auckland meetup group], and managing the [https://laingholm.org.nz/ Laingholm Village Hall]&lt;br /&gt;
:* [[Udemy Playwright: Web Automation Testing From Zero to Hero]]&lt;br /&gt;
&lt;br /&gt;
=== [[Water Services Reform, DIA - Senior Test Automation Engineer]] (Nov-2023 - Jan-2024) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#Maven|Maven]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#Tidal. Wave|Tidal. Wave]], [[Skills#IntelliJ|IntelliJ]], &amp;lt;br/&amp;gt;[[Skills#Web App Testing|Web App Testing]], [[Skills#Azure DevOps (TFS)|Azure DevOps]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting through [https://ttcglobal.com TTC Global]. Test Automation team, Three Waters Project, developing a UI Automation suite in Java using the [https://wave.tidalcode.dev/ Tidal. wave] Selenium automation library&lt;br /&gt;
&lt;br /&gt;
=== [[Westpac NZ - Senior Automation Quality Engineer]] (Apr-2021 - Nov-2023) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#API Testing|API's]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#Web App Testing|Web]], [[Skills#Observability Concepts|Observability]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Java|Java]], &amp;lt;br /&amp;gt;[[Skills#Cucumber (BDD)|Cucumber]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#JavaScript|JavaScript]], [[Skills#React|React]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#Linux|Linux]], [[Skills#Docker|Docker]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], &amp;lt;br /&amp;gt;[[Skills#Jira, Confluence|Jira, Confluence, Zephyr]], [[Skills#Splunk|Splunk]], [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins, Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Served as a roving Automation Quality Engineer, addressing testing and automation needs across multiple teams. Conducted testing and automation for mobile apps (Appium &amp;amp; XCUITest), a D365 web UI (Java, Selenium, POM's), and various APIs (Java, REST Assured). Also contributed as a platform engineer supporting Splunk, and developed a React web app for visualising test environments (Node.js, React, mermaid.js).&lt;br /&gt;
&lt;br /&gt;
=== [[FirstAML - Test Analyst]] (Oct-2020 - Mar-2021) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman]], [[Skills#AML/CFT Sector|AML/CFT]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Data Privacy|Data Privacy]], [[Skills#GraphQL|GraphQL]], AWS&lt;br /&gt;
|}&lt;br /&gt;
: Served as a quality coach for a startup company developing a ReactJS Web App for the AML/CFT (Anti-Money Laundering/Countering Financing of Terrorism) sector.&lt;br /&gt;
&lt;br /&gt;
=== [[Weather Radar NZ limited - Weather Radar Systems Engineer]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Physics - Weather Radar Systems, Lasers, Fibre-optics|Weather Radar Systems]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], &amp;lt;br /&amp;gt;[[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Testing]], [[Skills#C++, Arduino, ESP32|Arduino]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 4 days/week. Retrofitting legacy weather radars with embedded Arduino micro controllers. Designing new electronics, PCB's, maintaining power waveguide systems, and performing signal analysis.&lt;br /&gt;
&lt;br /&gt;
=== [[Grappler- Agile Quality Analyst]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman, Newman]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Google Cloud Platform]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 1 day/week. Developed a small solution to run a Postman collection in Google Cloud Platform and a simple Web UI (Node.js, Express.js) to trigger test runs and display HTML test reports.&lt;br /&gt;
&lt;br /&gt;
=== [[Fiserv Auckland - Intermediate Software Test Engineer]] (Jan-2017 - Apr-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#Programming &amp;amp; Automation|Automation]], [[Skills#API Testing|API Testing]], [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#Splunk|Splunk]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jira, Confluence|Jira, Confluence]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Native Mobile App functional and accessibility testing. API testing and automation, using Postman/Newman, Specflow with C#, JavaScript (Postman, Node.js, Express.js), Splunk for dashboards, TFS &amp;amp; Powershell for System deployment automation. Created the Postman Testrunner Framework (PTF) for automated API integration checks and environment health monitoring.&lt;br /&gt;
&lt;br /&gt;
=== [[Trade Me - Senior Software Test Analyst]] (Dec-2014 - Aug-2016) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Context Driven Testing|Context Driven Testing]], [[Skills#Exploratory Testing (Session &amp;amp; Thread Based)|Exploratory Testing]], [[Skills#Agile Squad Master|Agile]], [[Skills#Testability Concepts|Testability]], [[Skills#Accessibility Testing|Accessibility]], &amp;lt;br /&amp;gt;[[Skills#Observability Concepts|Observability]], [[Skills#Jira, Confluence|Jira, Confluence]], DB, [[Skills#Web App Testing|Web App]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#API Testing|API Testing]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#Splunk|Splunk]], [[Skills#SoapUI, ReadyAPI|ReadyAPI]], [[Skills#Metrics Driven Development (A/B Testing)|A/B Testing]], [[Skills#XMind|XMind]], [[Skills#Staff Mentoring &amp;amp; Induction|Onboarding]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]]&lt;br /&gt;
|}&lt;br /&gt;
: Context-driven exploratory testing for software changes to the iconic [https://www.trademe.co.nz/ Trade Me] website, focussing on the [https://www.trademe.co.nz/a/motors Motors] page &amp;amp; features. My responsibilities included testing DBs, UIs, APIs, and mobile apps, leading deployments, conducting test planning and peer reviews, utilising BDD and visual test tools. I gained experience with implementing agile methods, Splunk, ReadyAPI, XMind, Jira, and Confluence. I also enjoyed onboarding new staff and contributing to the test and agile guilds.&lt;br /&gt;
&lt;br /&gt;
=== [[Pre-2014 Roles]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing]], VB, [[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Dev &amp;amp; Test]], [[Skills#Manufacturing Resource Planning|MRP II]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], Logistics, Networking, [[Skills#Teaching &amp;amp; Tutoring|Training &amp;amp; Tutoring]], &amp;lt;br /&amp;gt;[[Skills#C++, Arduino, ESP32|C++]], Customer &amp;amp; Tech Support, Production Planning, Documentation, Specifications, Sales Forecasting&lt;br /&gt;
|}&lt;br /&gt;
: [[Pre-2014 Roles#LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014)|Software Tester]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)|Logistics Manager]], [[Pre-2014 Roles#Primary Caregiver (Sep-2003 - Jul-2005)|Caregiver]], [[Pre-2014 Roles#Bioengineering Institute - Software Engineer (Sep 2002 - Aug 2003)|Software Engineer]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)|Development &amp;amp; Support Engineer]], [[Pre-2014 Roles#Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)|Production Scheduler]], [[Pre-2014 Roles#University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time)|Physics Tutor]]&lt;br /&gt;
&lt;br /&gt;
== Related wiki pages ==&lt;br /&gt;
=== [[References_-_Full_List|References]] ===&lt;br /&gt;
:[[References_-_Full_List#Dept. of Internal Affairs (TTC)| TTC]], [[References_-_Full_List#Westpac| Westpac ]], [[References_-_Full_List#Fiserv| Fiserv ]], [[References_-_Full_List#| Trade Me Motors]]&lt;br /&gt;
&lt;br /&gt;
=== GitHub Profile ===&lt;br /&gt;
: [[My GitHub Projects]]&lt;br /&gt;
&lt;br /&gt;
=== [[Volunteering]] ===&lt;br /&gt;
: [https://www.neighbourly.co.nz/organisation/laingholm-district-citizens-association Laingholm &amp;amp; Districts Citizens Association], [[Ministry of Testing - Auckland Branch|Ministry of Testing]], Eastern Suburbs AFC, Glendowie Boating Club, MOTAT, Eastern Suburbs Montessori Primary School&lt;br /&gt;
&lt;br /&gt;
=== [[Professional Development]] ===&lt;br /&gt;
: Conferences, workshops, meetups etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Education]] ===&lt;br /&gt;
: University of Auckland: ME(Elec) 1993&lt;br /&gt;
&lt;br /&gt;
=== [[Presentations, Posts, and blogs]] ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==What I'm reading, watching, listening, learning, and trying out in 2024==&lt;br /&gt;
&lt;br /&gt;
===Learning===&lt;br /&gt;
* [https://www.udemy.com/course/playwright-from-zero-to-hero Udemy Playwright: Web Automation Testing From Zero to Hero]&lt;br /&gt;
: I'm going to try use this to test some of my CV Wiki site. &lt;br /&gt;
: See [[Udemy Playwright: Web Automation Testing From Zero to Hero|my notes]] as well as GitHub [https://github.com/VincentDirks/Playwright-Udemy-Course repo #1], and [https://github.com/VincentDirks/Playwright-Udemy-Course-2 repo #2]&lt;br /&gt;
&lt;br /&gt;
===My Personal [[Observability Project]]===&lt;br /&gt;
* [https://expressjs.com/en/starter/hello-world.html Express.js basic hello world] and my [https://github.com/VincentDirks/node.js-in-the-cloud node.js-in-the-cloud] repo&lt;br /&gt;
* [https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker Kubernetes vs. Docker] by Josh Campbell at Atlassian &amp;lt;br&amp;gt;&lt;br /&gt;
:I want to learn the difference between these technologies to see how it might apply to my [[Observability Project]]&lt;br /&gt;
&lt;br /&gt;
* Setting up Docker Desktop at home to run the [https://github.com/Splunk/docker-Splunk Docker Splunk Image]&lt;br /&gt;
&lt;br /&gt;
=== Test Community Events ===&lt;br /&gt;
* Attended [https://nztestingconf.nz/ NZTestingConf 2024] in Wellington. Presentations: &lt;br /&gt;
** Shay Naiki, QA Manager @ Alphero: Creating a collaborative culture in the testing world: lessons from life in a digital agency&lt;br /&gt;
** Nevetha Mani, Product Human @ Hectre: Off the beaten path: rethinking quality in the startup world&lt;br /&gt;
** Emma Procter &amp;amp; Jonathan Shirley, @ PikPok: Finding the fun: researching and playtesting games at PikPok&lt;br /&gt;
** Patricio Miner, Content Creator @ Free Range Testers: ETL: the testing niche you've never thought of&lt;br /&gt;
** Toby Martin, QA Practice Lead @ Pushpay: Stop automating, start investigating: a guide to slowing down to speed up &lt;br /&gt;
** Ryan Bevens, QA Community Manager @ Potentia: Diary of a reluctant recruiter: your value as a tester&lt;br /&gt;
&lt;br /&gt;
===Interesting Reads===&lt;br /&gt;
* '''[https://www.satisfice.com/download/a-context-driven-approach-to-automation-in-testing A Context Driven Approach to Automation in Testing]''' By James Bach and Michael Bolton&lt;br /&gt;
:Quote: ''&amp;quot;dynamically evaluating context and selecting, designing, or adjusting our actions to solve the problems that we encounter.&amp;quot;''&lt;br /&gt;
* '''[https://www.satisfice.com/blog/archives/4947 Round Earth Test Strategy]''' by James Bach&lt;br /&gt;
:Interesting alternative to the ''&amp;quot;Test Automation Pyramid&amp;quot;''. &lt;br /&gt;
:Quote: ''There are testing problems to consider at every level, &amp;quot;Quality above requires quality below&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
===[[Archive What I'm Reading, Watching, Listing, Learning, and Trying Out|Archive]]===&lt;br /&gt;
:Old pre-2024 entries&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1372</id>
		<title>Curriculum Vitae - Vincent Dirks</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1372"/>
		<updated>2024-08-05T03:02:33Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Upskilling &amp;amp; Community Roles 2024 (May-2024 - Current) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
| Vincent Dirks&lt;br /&gt;
|-&lt;br /&gt;
! e-mail&lt;br /&gt;
| [mailto:vincent@dirksonline.net?Subject=Enquiry%20from%20CV%20Wiki vincent@dirksonline.net] &lt;br /&gt;
|-&lt;br /&gt;
! Mob&lt;br /&gt;
| 021-0269-6216&lt;br /&gt;
|-&lt;br /&gt;
! LinkedIn&lt;br /&gt;
| [https://nz.linkedin.com/in/vincent-dirks-937aa557 nz.linkedin.com]&lt;br /&gt;
|-&lt;br /&gt;
! Location&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Parau Parau], West Auckland&lt;br /&gt;
|-&lt;br /&gt;
! Download&lt;br /&gt;
| [https://dirksonline.net/CV/2024%20Curriculum%20Vitae%20-%20Vincent%20Dirks.pdf Curriculum Vitae pdf]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vincent Dirks - [[What's in a title?|Software Quality Engineer]] ==&lt;br /&gt;
As a versatile Software Quality Engineer, I aim to understand the nuances of the product, team dynamics, technological landscapes, and organisational structures so that I can adapt and contribute effectively. I specialise in adapting to diverse contexts, and look beyond traditional testing methodologies to consider the design of the whole quality ecosystem necessary for delivering quality software solutions efficiently.&lt;br /&gt;
&lt;br /&gt;
== [[Skills]] ==&lt;br /&gt;
=== [[Skills#Testing|Testing]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Context Driven Testing&lt;br /&gt;
* API Testing&lt;br /&gt;
* Testing Native Mobile Apps&lt;br /&gt;
* Testing Web Apps &lt;br /&gt;
* Testing Firmware/Embedded systems&lt;br /&gt;
* Testability Concepts&lt;br /&gt;
| &lt;br /&gt;
* Observability Concepts&lt;br /&gt;
* Exploratory Testing (Session &amp;amp; Thread Based)&lt;br /&gt;
* Visual Modelling&lt;br /&gt;
* Metrics Driven Development (A/B Testing)&lt;br /&gt;
* Accessibility Testing&lt;br /&gt;
* Data Privacy&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Programming and Automation ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#JavaScript|JavaScript]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Java|Java]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Other|Other]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Node.js, npm&lt;br /&gt;
* Express.js&lt;br /&gt;
* React&lt;br /&gt;
* Jest&lt;br /&gt;
* Cypress.io&lt;br /&gt;
* Webdriver.io&lt;br /&gt;
|&lt;br /&gt;
* [https://maven.apache.org/ Maven], [https://junit.org/ JUnit], [https://testng.org/ TestNG]&lt;br /&gt;
* [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD])&lt;br /&gt;
* [https://rest-assured.io/ REST-assured]&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs)&lt;br /&gt;
* [https://wave.tidalcode.dev/ Tidal. Wave]&lt;br /&gt;
|&lt;br /&gt;
* C#, Specflow (BDD)&lt;br /&gt;
* SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SSMS]&lt;br /&gt;
* Appium&lt;br /&gt;
* XCUITest&lt;br /&gt;
* GraphQL&lt;br /&gt;
* C++: Arduino, ESP32&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [https://www.splunk.com/ Splunk]&lt;br /&gt;
* Postman, Newman&lt;br /&gt;
* VS Code, IntelliJ, Visual Studio&lt;br /&gt;
* Github, Bitbucket&lt;br /&gt;
* Docker, Linux&lt;br /&gt;
|&lt;br /&gt;
* [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
* Jenkins, Azure DevOps (TFS), Google Cloud Platform&lt;br /&gt;
* Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting&lt;br /&gt;
* [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence], [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale], [https://xmind.app/ XMind]&lt;br /&gt;
* [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Banking and Finance Sector&lt;br /&gt;
* AML/CFT Sector&lt;br /&gt;
* Online Auction Platforms&lt;br /&gt;
* Vehicle Leasing systems&lt;br /&gt;
* Platform Engineering&lt;br /&gt;
* Staff Mentoring &amp;amp; Induction&lt;br /&gt;
| &lt;br /&gt;
* Agile (Scrum, Kanban, SAFe, Squad Master)&lt;br /&gt;
* Microservices Architecture&lt;br /&gt;
* Manufacturing Resource Planning - Logistics Manager&lt;br /&gt;
* Physics - Weather Radar Systems, Lasers, Fibre-optics&lt;br /&gt;
* Electrical &amp;amp; Electronic Engineering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Work Experience == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== [[Upskilling &amp;amp; Community Roles 2024]] (May-2024 - Current) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Playwright|Playwright]], &lt;br /&gt;
|}&lt;br /&gt;
: Upskilling whilst looking for work, breathing life back into the [https://www.meetup.com/Ministry-of-Testing-Auckland Ministry of Testing - Auckland meetup group], and managing the [https://laingholm.org.nz/ Laingholm Village Hall]&lt;br /&gt;
:* [[Udemy Playwright: Web Automation Testing From Zero to Hero]]&lt;br /&gt;
&lt;br /&gt;
=== [[Water Services Reform, DIA - Senior Test Automation Engineer]] (Nov-2023 - Jan-2024) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#Maven|Maven]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#Tidal. Wave|Tidal. Wave]], [[Skills#IntelliJ|IntelliJ]], &amp;lt;br/&amp;gt;[[Skills#Web App Testing|Web App Testing]], [[Skills#Azure DevOps (TFS)|Azure DevOps]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting through [https://ttcglobal.com TTC Global]. Test Automation team, Three Waters Project, developing a UI Automation suite in Java using the [https://wave.tidalcode.dev/ Tidal. wave] Selenium automation library&lt;br /&gt;
&lt;br /&gt;
=== [[Westpac NZ - Senior Automation Quality Engineer]] (Apr-2021 - Nov-2023) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#API Testing|API's]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#Web App Testing|Web]], [[Skills#Observability Concepts|Observability]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Java|Java]], &amp;lt;br /&amp;gt;[[Skills#Cucumber (BDD)|Cucumber]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#JavaScript|JavaScript]], [[Skills#React|React]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#Linux|Linux]], [[Skills#Docker|Docker]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], &amp;lt;br /&amp;gt;[[Skills#Jira, Confluence|Jira, Confluence, Zephyr]], [[Skills#Splunk|Splunk]], [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins, Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Served as a roving Automation Quality Engineer, addressing testing and automation needs across multiple teams. Conducted testing and automation for mobile apps (Appium &amp;amp; XCUITest), a D365 web UI (Java, Selenium, POM's), and various APIs (Java, REST Assured). Also contributed as a platform engineer supporting Splunk, and developed a React web app for visualising test environments (Node.js, React, mermaid.js).&lt;br /&gt;
&lt;br /&gt;
=== [[FirstAML - Test Analyst]] (Oct-2020 - Mar-2021) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman]], [[Skills#AML/CFT Sector|AML/CFT]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Data Privacy|Data Privacy]], [[Skills#GraphQL|GraphQL]], AWS&lt;br /&gt;
|}&lt;br /&gt;
: Served as a quality coach for a startup company developing a ReactJS Web App for the AML/CFT (Anti-Money Laundering/Countering Financing of Terrorism) sector.&lt;br /&gt;
&lt;br /&gt;
=== [[Weather Radar NZ limited - Weather Radar Systems Engineer]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Physics - Weather Radar Systems, Lasers, Fibre-optics|Weather Radar Systems]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], &amp;lt;br /&amp;gt;[[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Testing]], [[Skills#C++, Arduino, ESP32|Arduino]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 4 days/week. Retrofitting legacy weather radars with embedded Arduino micro controllers. Designing new electronics, PCB's, maintaining power waveguide systems, and performing signal analysis.&lt;br /&gt;
&lt;br /&gt;
=== [[Grappler- Agile Quality Analyst]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman, Newman]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Google Cloud Platform]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 1 day/week. Developed a small solution to run a Postman collection in Google Cloud Platform and a simple Web UI (Node.js, Express.js) to trigger test runs and display HTML test reports.&lt;br /&gt;
&lt;br /&gt;
=== [[Fiserv Auckland - Intermediate Software Test Engineer]] (Jan-2017 - Apr-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#Programming &amp;amp; Automation|Automation]], [[Skills#API Testing|API Testing]], [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#Splunk|Splunk]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jira, Confluence|Jira, Confluence]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Native Mobile App functional and accessibility testing. API testing and automation, using Postman/Newman, Specflow with C#, JavaScript (Postman, Node.js, Express.js), Splunk for dashboards, TFS &amp;amp; Powershell for System deployment automation. Created the Postman Testrunner Framework (PTF) for automated API integration checks and environment health monitoring.&lt;br /&gt;
&lt;br /&gt;
=== [[Trade Me - Senior Software Test Analyst]] (Dec-2014 - Aug-2016) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Context Driven Testing|Context Driven Testing]], [[Skills#Exploratory Testing (Session &amp;amp; Thread Based)|Exploratory Testing]], [[Skills#Agile Squad Master|Agile]], [[Skills#Testability Concepts|Testability]], [[Skills#Accessibility Testing|Accessibility]], &amp;lt;br /&amp;gt;[[Skills#Observability Concepts|Observability]], [[Skills#Jira, Confluence|Jira, Confluence]], DB, [[Skills#Web App Testing|Web App]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#API Testing|API Testing]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#Splunk|Splunk]], [[Skills#SoapUI, ReadyAPI|ReadyAPI]], [[Skills#Metrics Driven Development (A/B Testing)|A/B Testing]], [[Skills#XMind|XMind]], [[Skills#Staff Mentoring &amp;amp; Induction|Onboarding]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]]&lt;br /&gt;
|}&lt;br /&gt;
: Context-driven exploratory testing for software changes to the iconic [https://www.trademe.co.nz/ Trade Me] website, focussing on the [https://www.trademe.co.nz/a/motors Motors] page &amp;amp; features. My responsibilities included testing DBs, UIs, APIs, and mobile apps, leading deployments, conducting test planning and peer reviews, utilising BDD and visual test tools. I gained experience with implementing agile methods, Splunk, ReadyAPI, XMind, Jira, and Confluence. I also enjoyed onboarding new staff and contributing to the test and agile guilds.&lt;br /&gt;
&lt;br /&gt;
=== [[Pre-2014 Roles]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing]], VB, [[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Dev &amp;amp; Test]], [[Skills#Manufacturing Resource Planning|MRP II]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], Logistics, Networking, [[Skills#Teaching &amp;amp; Tutoring|Training &amp;amp; Tutoring]], &amp;lt;br /&amp;gt;[[Skills#C++, Arduino, ESP32|C++]], Customer &amp;amp; Tech Support, Production Planning, Documentation, Specifications, Sales Forecasting&lt;br /&gt;
|}&lt;br /&gt;
: [[Pre-2014 Roles#LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014)|Software Tester]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)|Logistics Manager]], [[Pre-2014 Roles#Primary Caregiver (Sep-2003 - Jul-2005)|Caregiver]], [[Pre-2014 Roles#Bioengineering Institute - Software Engineer (Sep 2002 - Aug 2003)|Software Engineer]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)|Development &amp;amp; Support Engineer]], [[Pre-2014 Roles#Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)|Production Scheduler]], [[Pre-2014 Roles#University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time)|Physics Tutor]]&lt;br /&gt;
&lt;br /&gt;
== Related wiki pages ==&lt;br /&gt;
=== [[References_-_Full_List|References]] ===&lt;br /&gt;
:[[References_-_Full_List#Dept. of Internal Affairs (TTC)| TTC]], [[References_-_Full_List#Westpac| Westpac ]], [[References_-_Full_List#Fiserv| Fiserv ]], [[References_-_Full_List#| Trade Me Motors]]&lt;br /&gt;
&lt;br /&gt;
=== GitHub Profile ===&lt;br /&gt;
: [[My GitHub Projects]]&lt;br /&gt;
&lt;br /&gt;
=== [[Volunteering]] ===&lt;br /&gt;
: [https://www.neighbourly.co.nz/organisation/laingholm-district-citizens-association Laingholm &amp;amp; Districts Citizens Association], [[Ministry of Testing - Auckland Branch|Ministry of Testing]], Eastern Suburbs AFC, Glendowie Boating Club, MOTAT, Eastern Suburbs Montessori Primary School&lt;br /&gt;
&lt;br /&gt;
=== [[Professional Development]] ===&lt;br /&gt;
: Conferences, workshops, meetups etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Education]] ===&lt;br /&gt;
: University of Auckland: ME(Elec) 1993&lt;br /&gt;
&lt;br /&gt;
=== [[Presentations, Posts, and blogs]] ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==What I'm reading, watching, listening, learning, and trying out in 2024==&lt;br /&gt;
&lt;br /&gt;
===Learning===&lt;br /&gt;
* [https://www.udemy.com/course/playwright-from-zero-to-hero Udemy Playwright: Web Automation Testing From Zero to Hero]&lt;br /&gt;
: I'm going to try use this to test some of my CV Wiki site. &lt;br /&gt;
: See [[Udemy Playwright: Web Automation Testing From Zero to Hero|my notes]] as well as GitHub [https://github.com/VincentDirks/Playwright-Udemy-Course repo #1], and [https://github.com/VincentDirks/Playwright-Udemy-Course-2 repo #2]&lt;br /&gt;
&lt;br /&gt;
===My Personal [[Observability Project]]===&lt;br /&gt;
* [https://expressjs.com/en/starter/hello-world.html Express.js basic hello world] and my [https://github.com/VincentDirks/node.js-in-the-cloud node.js-in-the-cloud] repo&lt;br /&gt;
* [https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker Kubernetes vs. Docker] by Josh Campbell at Atlassian &amp;lt;br&amp;gt;&lt;br /&gt;
:I want to learn the difference between these technologies to see how it might apply to my [[Observability Project]]&lt;br /&gt;
&lt;br /&gt;
* Setting up Docker Desktop at home to run the [https://github.com/Splunk/docker-Splunk Docker Splunk Image]&lt;br /&gt;
&lt;br /&gt;
=== Test Community Events ===&lt;br /&gt;
* Attended [https://nztestingconf.nz/ NZTestingConf 2024] in Wellington. Presentations: &lt;br /&gt;
** Shay Naiki, QA Manager @ Alphero: Creating a collaborative culture in the testing world: lessons from life in a digital agency&lt;br /&gt;
** Nevetha Mani, Product Human @ Hectre: Off the beaten path: rethinking quality in the startup world&lt;br /&gt;
** Emma Procter &amp;amp; Jonathan Shirley, @ PikPok: Finding the fun: researching and playtesting games at PikPok&lt;br /&gt;
** Patricio Miner, Content Creator @ Free Range Testers: ETL: the testing niche you've never thought of&lt;br /&gt;
** Toby Martin, QA Practice Lead @ Pushpay: Stop automating, start investigating: a guide to slowing down to speed up &lt;br /&gt;
** Ryan Bevens, QA Community Manager @ Potentia: Diary of a reluctant recruiter: your value as a tester&lt;br /&gt;
&lt;br /&gt;
===Interesting Reads===&lt;br /&gt;
* '''[https://www.satisfice.com/download/a-context-driven-approach-to-automation-in-testing A Context Driven Approach to Automation in Testing]''' By James Bach and Michael Bolton&lt;br /&gt;
:Quote: ''&amp;quot;dynamically evaluating context and selecting, designing, or adjusting our actions to solve the problems that we encounter.&amp;quot;''&lt;br /&gt;
* '''[https://www.satisfice.com/blog/archives/4947 Round Earth Test Strategy]''' by James Bach&lt;br /&gt;
:Interesting alternative to the ''&amp;quot;Test Automation Pyramid&amp;quot;''. &lt;br /&gt;
:Quote: ''There are testing problems to consider at every level, &amp;quot;Quality above requires quality below&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
===[[Archive What I'm Reading, Watching, Listing, Learning, and Trying Out|Archive]]===&lt;br /&gt;
:Old pre-2024 entries&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Udemy_Playwright:_Web_Automation_Testing_From_Zero_to_Hero&amp;diff=1371</id>
		<title>Udemy Playwright: Web Automation Testing From Zero to Hero</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Udemy_Playwright:_Web_Automation_Testing_From_Zero_to_Hero&amp;diff=1371"/>
		<updated>2024-08-05T02:59:37Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:2%; left:0.25%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
* Udemy: [https://www.udemy.com/course/playwright-from-zero-to-hero Playwright: Web Automation Testing From Zero to Hero]&lt;br /&gt;
&lt;br /&gt;
* My GitHub Playwright Udemy Course [https://github.com/VincentDirks/Playwright-Udemy-Course my repo #1] &amp;amp; [https://github.com/VincentDirks/Playwright-Udemy-Course-2 my repo #2]&lt;br /&gt;
&lt;br /&gt;
* Started implementing a [https://github.com/VincentDirks/Playwright-my-cvwiki suite for this CV Wiki]&lt;br /&gt;
&lt;br /&gt;
Note: This page is now massive, but it's handy to have it all in one place so that I can use ctrl-f to find notes... I'll be using this page as my cheatsheet for Playwright&lt;br /&gt;
&lt;br /&gt;
== Section 1: Preparation ==&lt;br /&gt;
=== Playwright vs Cypress ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! Playwright Pros.&lt;br /&gt;
! Cypress Pros.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
*Faster test execution&lt;br /&gt;
*OOTB free parallel execution&lt;br /&gt;
*Multiple languages (JS/TS, Python, Java, C#&lt;br /&gt;
*Multiple Tabs&lt;br /&gt;
*Better iFrames&lt;br /&gt;
*similar to Selenium&lt;br /&gt;
|&lt;br /&gt;
*Less code - fast to write&lt;br /&gt;
*Better auto-wait mechanism&lt;br /&gt;
*Better documentation&lt;br /&gt;
*Better testrunner (time machine)&lt;br /&gt;
*Dashboard service&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Development Environment Configuration ===&lt;br /&gt;
* node.js =&amp;gt; updated =&amp;gt; done&lt;br /&gt;
* Git =&amp;gt; updated =&amp;gt; done&lt;br /&gt;
* VS Code =&amp;gt; updated =&amp;gt; done&lt;br /&gt;
* Playwright extn for VS Code =&amp;gt; installed&lt;br /&gt;
&lt;br /&gt;
=== Clone Test App ===&lt;br /&gt;
* From https://github.com/bondar-artem/pw-practice-app&lt;br /&gt;
* Cloned it in VS Code&lt;br /&gt;
* &amp;lt;code&amp;gt;npm install --force&amp;lt;/code&amp;gt;&lt;br /&gt;
: --force needed to accept various warnings&lt;br /&gt;
* &amp;lt;code&amp;gt;npm start&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;http://localhost:4200/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Section 2: JavaScript Fundamentals ==&lt;br /&gt;
I'm familiar with JavaScript - I'm fast forwarding through this without keeping notes&lt;br /&gt;
&lt;br /&gt;
== Section 3: Playwright Hands-On Overview ==&lt;br /&gt;
* create new folder &amp;amp; &amp;lt;code&amp;gt;npm init playwright@latest&amp;lt;/code&amp;gt;&lt;br /&gt;
* install browsers &amp;lt;code&amp;gt;npx playwright install&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Ways to Run &amp;amp; Debug ===&lt;br /&gt;
* CLI Test Executions &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
npx playwright test&lt;br /&gt;
npx playwright test example.spec.ts --project=chromium --headed&lt;br /&gt;
npx playwright test -g &amp;quot;has title&amp;quot;&lt;br /&gt;
npx playwright show-report&lt;br /&gt;
CI=true npx playwright test&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Test Execution with UI - ''OMG this debug UI is cool!''&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;npx playwright test --ui&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Test Execution with trace on&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
npx playwright test --project=chromium --trace on&lt;br /&gt;
npx playwright show-report&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: =&amp;gt; you can now open the trace from the report (which looks similar to the ui tool above)&lt;br /&gt;
: trace can be generated from CI/CD pipeline too, and then you can view the results saved in a zip file with a trace viewer&lt;br /&gt;
&lt;br /&gt;
* Test Execution with debug&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
npx playwright test --project=chromium --debug&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: this opens the Playwright inspector showing the code, debugging controls, and console information&lt;br /&gt;
: and the browser window&lt;br /&gt;
&lt;br /&gt;
* Test execution with VS Code Extension =&amp;gt; Test Explorer&lt;br /&gt;
: Navigate to the test you want to debug&lt;br /&gt;
: set any breakpoint(s)&lt;br /&gt;
: VS Code shows the code, debugging controls, and console information&lt;br /&gt;
&lt;br /&gt;
=== Tests Structure ===&lt;br /&gt;
==== First Test ====&lt;br /&gt;
# In VS Code&lt;br /&gt;
# Open PW-PRACTICE-APP &lt;br /&gt;
# run &amp;lt;code&amp;gt;npm init playwright@latest --force&amp;lt;/code&amp;gt;&lt;br /&gt;
:* force is needed to avoid errors&lt;br /&gt;
:* package.json updated with new dev dependencies&lt;br /&gt;
:* playwright.config.ts is created as well as other files&lt;br /&gt;
# delete test-examples folder - it's not needed&lt;br /&gt;
# delete test/example.spec.ts file - it's not needed&lt;br /&gt;
# create file firsTest.spec.ts&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;import {test} from '@playwright/test'&lt;br /&gt;
test('the first test', async ({page}) =&amp;gt; {&lt;br /&gt;
    await page.goto('http://localhost:4200/')&lt;br /&gt;
    await page.getByText('Forms').click()&lt;br /&gt;
    await page.getByText('Form Layouts').click()&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notice the &amp;lt;code&amp;gt;page&amp;lt;/code&amp;gt; fixture, it has a lot of useful methods, eg. &amp;lt;code&amp;gt;page.goto('url')&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;page.getByText('label')&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Hooks &amp;amp; Control Flow ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tes.describe(' a test suite'...)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;test.beforeEach()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;test.beforeAll()&amp;lt;/code&amp;gt;&lt;br /&gt;
:: can be used outside as well as inside a suite&lt;br /&gt;
* &amp;lt;code&amp;gt;.only(..)&amp;lt;/code&amp;gt; can be used on tests as well as suites&lt;br /&gt;
* &amp;lt;code&amp;gt;test.afterEach()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;test.afterAll()&amp;lt;/code&amp;gt; &lt;br /&gt;
:: try to avoid using the after... hooks, better to do it in the before... hooks&lt;br /&gt;
&lt;br /&gt;
== Section 4: Interaction with Web Elements ==&lt;br /&gt;
=== Understanding DOM and Terminology - Review HTML terms === &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;parent&amp;gt;&lt;br /&gt;
   &amp;lt;html_tag_name html-attribute=&amp;quot;a value&amp;quot; class=&amp;quot;class1 class2&amp;quot; id=&amp;quot;unique&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;child&amp;gt;&lt;br /&gt;
        ... html text value&lt;br /&gt;
      &amp;lt;/child&amp;gt;&lt;br /&gt;
   &amp;lt;/html_tag_name&amp;gt;&lt;br /&gt;
   &amp;lt;sibling&amp;gt;&amp;lt;/sibling&amp;gt;&lt;br /&gt;
&amp;lt;/parent&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Locator Syntax Rules ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
    page.locator('input') //finds all of them&lt;br /&gt;
    page.locator('#inputEmail1') // by id&lt;br /&gt;
    page.locator('.shape-rectangle')     //by class value&lt;br /&gt;
    page.locator('[placeholder=&amp;quot;Email&amp;quot;]')     // by attribute&lt;br /&gt;
    page.locator('[class=&amp;quot;input-full-width size-medium status-basic shape-rectangle nb-transition cdk-focused cdk-mouse-focused&amp;quot;]')     // by class value (full)&lt;br /&gt;
    page.locator('input[placeholder=&amp;quot;Email&amp;quot;][nbinput].shape-rectangle')     // combine selectors&lt;br /&gt;
    page.locator('//*[@id=&amp;quot;inputEmail1&amp;quot;]')     // XPath (NOT Recommended because it's testing implementation rather than user visible aspects)&lt;br /&gt;
    page.locator(':text(&amp;quot;Using&amp;quot;)')  // by partial text match&lt;br /&gt;
    page.locator(':text-is(&amp;quot;Using the Grid&amp;quot;)')     // by exact text match&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: &lt;br /&gt;
&lt;br /&gt;
If you had previously run the test, and the associated browser window is still open, then when the cursor is on a code line with &amp;lt;code&amp;gt;page.locator(...)&amp;lt;/code&amp;gt; it highlights the elements selected by the locator ''(very cool!)''&amp;lt;br&amp;gt;&lt;br /&gt;
It's blue when a single element is selected, and orange when multiple elements match the locator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;page.locator(...)&amp;lt;/code&amp;gt; will always return all matching elements, can use &amp;lt;code&amp;gt;.first()&amp;lt;/code&amp;gt; to refine to first element to perform an action. &lt;br /&gt;
&lt;br /&gt;
use &amp;lt;code&amp;gt;npx playwright test --ui&amp;lt;/code&amp;gt; and click the watch icon so that test auto-re-runs when you edit the code ''(I love this)''&lt;br /&gt;
&lt;br /&gt;
=== User Facing Locators ===&lt;br /&gt;
&lt;br /&gt;
[https://playwright.dev/docs/best-practices Playwright Best Practices]&lt;br /&gt;
&lt;br /&gt;
* Test user-visible behaviour&lt;br /&gt;
** tests should typically only see/interact with rendered output&lt;br /&gt;
** mimic user behaviour&lt;br /&gt;
&lt;br /&gt;
* page.getByRole(...)&lt;br /&gt;
** See ARIA roles and attributes (google it?)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  await page.getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;Email&amp;quot; }).first().click()&lt;br /&gt;
  await page.getByRole(&amp;quot;button&amp;quot;, { name: &amp;quot;Sign in&amp;quot; }).first().click()&lt;br /&gt;
  await page.getByLabel(&amp;quot;Email&amp;quot;).first().click()&lt;br /&gt;
  await page.getByPlaceholder('Jane Doe').click()&lt;br /&gt;
  await page.getByText('Using the Grid').click()&lt;br /&gt;
  await page.getByTestId('SignIn').click() // this expects html attribute=&amp;gt;  data-testid=&amp;quot;SignIn&amp;quot;&lt;br /&gt;
  await page.getByTitle('IoT Dashboard').click()&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Child Elements ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;test(&amp;quot;Locating child elements&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  await page.locator('nb-card nb-radio :text-is(&amp;quot;Option 1&amp;quot;)').click()&lt;br /&gt;
  await page.locator('nb-card').locator('nb-radio').locator(':text-is(&amp;quot;Option 2&amp;quot;)').click() // this is nicer than line above&lt;br /&gt;
  await page.locator('nb-card').getByRole('button', {name: &amp;quot;Sign In&amp;quot;}).first().click() // avoid first last, and nth because the lists enveriably change&lt;br /&gt;
  await page.locator('nb-card').nth(3).getByRole('button').click()&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parent Elements ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test(&amp;quot;Locating parent elements&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  await page&lt;br /&gt;
    .locator(&amp;quot;nb-card&amp;quot;, { hasText: &amp;quot;Using the Grid&amp;quot; })&lt;br /&gt;
    .getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;Email&amp;quot; })&lt;br /&gt;
    .click()&lt;br /&gt;
  await page&lt;br /&gt;
    .locator(&amp;quot;nb-card&amp;quot;, { has: page.locator(&amp;quot;#inputEmail1&amp;quot;) })&lt;br /&gt;
    .getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;Email&amp;quot; })&lt;br /&gt;
    .click()&lt;br /&gt;
  await page&lt;br /&gt;
    .locator(&amp;quot;nb-card&amp;quot;)&lt;br /&gt;
    .filter({ hasText: &amp;quot;Basic Form&amp;quot; })&lt;br /&gt;
    .getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;Email&amp;quot; })&lt;br /&gt;
    .click()&lt;br /&gt;
  await page&lt;br /&gt;
    .locator(&amp;quot;nb-card&amp;quot;)&lt;br /&gt;
    .filter({ has: page.locator(&amp;quot;nb-checkbox&amp;quot;) })&lt;br /&gt;
    .filter({ hasText: &amp;quot;Sign in&amp;quot; })&lt;br /&gt;
    .getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;Email&amp;quot; })&lt;br /&gt;
    .click()&lt;br /&gt;
  await page&lt;br /&gt;
    .locator(':text-is(&amp;quot;Using the Grid&amp;quot;)')&lt;br /&gt;
    .locator(&amp;quot;..&amp;quot;)&lt;br /&gt;
    .getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;Email&amp;quot; })&lt;br /&gt;
    .click()&lt;br /&gt;
&lt;br /&gt;
  await page&lt;br /&gt;
    .getByText(&amp;quot;Using the Grid&amp;quot;)&lt;br /&gt;
    .locator(&amp;quot;..&amp;quot;)&lt;br /&gt;
    .getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;Email&amp;quot; })&lt;br /&gt;
    .click()&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I think I like best the last one, where you select something that looks like a heading to the user, and then go to the parent that contains the selected element, and the element you want to locate. &lt;br /&gt;
&lt;br /&gt;
=== Reusing Locators ===&lt;br /&gt;
Stop copying and pasting code ....&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  const testEmailAddress = &amp;quot;test@test.com&amp;quot;&lt;br /&gt;
  const basicForm = page.locator(&amp;quot;nb-card&amp;quot;).filter({ hasText: &amp;quot;Basic Form&amp;quot; })&lt;br /&gt;
  const emailField = basicForm.getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;Email&amp;quot; })&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  await emailField.fill(testEmailAddress)&lt;br /&gt;
  await basicForm.getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;Password&amp;quot; }).fill(&amp;quot;Welcome123&amp;quot;)&lt;br /&gt;
  await basicForm.getByRole(&amp;quot;button&amp;quot;).click()&lt;br /&gt;
&lt;br /&gt;
  await expect(emailField).toHaveValue(testEmailAddress)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Extracting Values ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  // Single test value&lt;br /&gt;
  const basicForm = page.locator(&amp;quot;nb-card&amp;quot;).filter({ hasText: &amp;quot;Basic Form&amp;quot; })&lt;br /&gt;
  const buttonText = await basicForm.locator('button').textContent()&lt;br /&gt;
  expect(buttonText).toEqual(&amp;quot;Submit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  // Array of text values&lt;br /&gt;
  const allRadioButtonLabels = await page.locator('nb-radio').allTextContents()&lt;br /&gt;
  expect(allRadioButtonLabels).toContain('Option 1')&lt;br /&gt;
&lt;br /&gt;
   // input value&lt;br /&gt;
   const emailField = basicForm.getByRole('textbox', {name: 'Email'})&lt;br /&gt;
   await emailField.fill('test@test.com')&lt;br /&gt;
   const emailValue = await emailField.inputValue()&lt;br /&gt;
   expect(emailValue).toEqual('test@test.com')&lt;br /&gt;
&lt;br /&gt;
   // attribute&lt;br /&gt;
   const placeholderValue = await emailField.getAttribute('placeholder')&lt;br /&gt;
   expect(placeholderValue).toEqual('Email')&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Assertions ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;  // General assertions&lt;br /&gt;
  const value = 5&lt;br /&gt;
  expect(value).toEqual(5)&lt;br /&gt;
&lt;br /&gt;
  const basicFormButton = page&lt;br /&gt;
    .locator(&amp;quot;nb-card&amp;quot;)&lt;br /&gt;
    .filter({ hasText: &amp;quot;Basic Form&amp;quot; })&lt;br /&gt;
    .locator(&amp;quot;button&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  const text = await basicFormButton.textContent()&lt;br /&gt;
  expect(text).toEqual(&amp;quot;Submit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  // locator assertion&lt;br /&gt;
  await expect(basicFormButton).toHaveText(&amp;quot;Submit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  // soft assertion (continues even if it fails)&lt;br /&gt;
  await expect.soft(basicFormButton).toHaveText(&amp;quot;Submit&amp;quot;)&lt;br /&gt;
  await basicFormButton.click()&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Auto-waiting ===&lt;br /&gt;
* [https://playwright.dev/docs/actionability Playwright docs]&lt;br /&gt;
&lt;br /&gt;
There are some different wait topologies&lt;br /&gt;
&lt;br /&gt;
some auto-wait for 30s by default (but configurable&lt;br /&gt;
&lt;br /&gt;
expect() waits for only 5s&lt;br /&gt;
&lt;br /&gt;
some do not wait at all&lt;br /&gt;
&lt;br /&gt;
and there's a bunch of alternative waitFor methods, eg. wait for a response to an API call&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test.beforeEach(async ({ page }) =&amp;gt; {&lt;br /&gt;
  await page.goto(&amp;quot;http://uitestingplayground.com/ajax&amp;quot;)&lt;br /&gt;
  await page.getByText(&amp;quot;Button Triggering AJAX Request&amp;quot;).click()&lt;br /&gt;
})&lt;br /&gt;
&lt;br /&gt;
test(&amp;quot;Auto Waiting&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  const successButton = page.locator(&amp;quot;.bg-success&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  //   const text = await successButton.textContent()  // waits automatically (upto default 30s)&lt;br /&gt;
  //   expect(text).toEqual('Data loaded with AJAX get request.')&lt;br /&gt;
&lt;br /&gt;
  //   await successButton.waitFor({state: 'attached'}) // waits upto default 30s&lt;br /&gt;
  //   const text2 = await successButton.allTextContents() // fails doesn't wait by itself (must use waitFor(...))&lt;br /&gt;
  //   expect(text2).toContain('Data loaded with AJAX get request.')&lt;br /&gt;
&lt;br /&gt;
  await expect(successButton).toHaveText(&amp;quot;Data loaded with AJAX get request.&amp;quot;, {&lt;br /&gt;
    timeout: 20000,&lt;br /&gt;
  }) // waits default  upto 5s, unless overridden&lt;br /&gt;
})&lt;br /&gt;
&lt;br /&gt;
test(&amp;quot;alternative waits&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  const successButton = page.locator(&amp;quot;.bg-success&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  // wait for element&lt;br /&gt;
  //await page.waitForSelector(&amp;quot;.bg-success&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  // wait for particular response&lt;br /&gt;
  //await page.waitForResponse('http://uitestingplayground.com/ajaxdata')&lt;br /&gt;
&lt;br /&gt;
  // wait for network calls to be completed (NOT RECOMMENDED)&lt;br /&gt;
  await page.waitForLoadState(&amp;quot;networkidle&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  const text2 = await successButton.allTextContents()&lt;br /&gt;
  expect(text2).toContain(&amp;quot;Data loaded with AJAX get request.&amp;quot;)&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Timeouts ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test(&amp;quot;timeouts&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  //test.setTimeout(10000)&lt;br /&gt;
  test.slow()&lt;br /&gt;
  const successButton = page.locator(&amp;quot;.bg-success&amp;quot;)&lt;br /&gt;
  await successButton.click()&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are three layers to timeouts&lt;br /&gt;
&lt;br /&gt;
==== 1. Global Timeout ====&lt;br /&gt;
time limit for whole test suite to run&lt;br /&gt;
: default: no limit&lt;br /&gt;
&lt;br /&gt;
==== 2. Test Timeout====&lt;br /&gt;
Within the global timeout, it is the time limit for a single test&lt;br /&gt;
: default: 30000ms&lt;br /&gt;
&lt;br /&gt;
==== 3. Action, Navigation, Expect====&lt;br /&gt;
Within the global and test timeout there are the following timeouts&lt;br /&gt;
&lt;br /&gt;
* Action = click(), fill(), textContent() etc&lt;br /&gt;
: default: no limit &lt;br /&gt;
&lt;br /&gt;
* Navigation = page.goto(url...)&lt;br /&gt;
: default: no limit&lt;br /&gt;
&lt;br /&gt;
* Expect = locator assertions&lt;br /&gt;
: default: 5000ms&lt;br /&gt;
: Note: regular expect assertions execute immediately, only locator exceptions will wait.&lt;br /&gt;
: You can override the expect timeout &amp;lt;code&amp;gt;await expect(element).toHaveText(&amp;quot;some text&amp;quot;, { timeout: 20000 })&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Overrides inside test case ====&lt;br /&gt;
Use &amp;lt;code&amp;gt;test.slow()&amp;lt;/code&amp;gt; to extend timeout to 3x configured value, or &amp;lt;code&amp;gt;test.setTimeout(10000)&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
==== Project Timeout settings in &amp;lt;code&amp;gt;playwright.config.ts&amp;lt;/code&amp;gt;====&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export default defineConfig({&lt;br /&gt;
  timeout: 10000,   // test case max run time&lt;br /&gt;
  globalTimeout: 60000,  // entire test run max run time&lt;br /&gt;
  expect:{&lt;br /&gt;
    timeout: 2000, // sets locator assertion timeout&lt;br /&gt;
  },&lt;br /&gt;
  /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */&lt;br /&gt;
  use: {&lt;br /&gt;
    actionTimeout: 5000,&lt;br /&gt;
    navigationTimeout: 5000,&lt;br /&gt;
  },&lt;br /&gt;
  ...&lt;br /&gt;
});&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Timeout settings for a whole spec.ts file ====&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test.beforeEach(async ({ page }, testInfo) =&amp;gt; {&lt;br /&gt;
  await page.goto(&amp;quot;http://uitestingplayground.com/ajax&amp;quot;)&lt;br /&gt;
  await page.getByText(&amp;quot;Button Triggering AJAX Request&amp;quot;).click()&lt;br /&gt;
  testInfo.setTimeout(testInfo.timeout + 2000)&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Section 5: UI Components ==&lt;br /&gt;
=== Input Fields ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  await usingTheGridEmailInput.fill('test@test.com')&lt;br /&gt;
  await usingTheGridEmailInput.clear()&lt;br /&gt;
  await usingTheGridEmailInput.pressSequentially('test2@test.com', {delay:500})&lt;br /&gt;
&lt;br /&gt;
  // generic assertion&lt;br /&gt;
  const inputValue = await usingTheGridEmailInput.inputValue()&lt;br /&gt;
  expect(inputValue).toEqual('test2@test.com')&lt;br /&gt;
&lt;br /&gt;
  // locator assertion&lt;br /&gt;
  await expect(usingTheGridEmailInput).toHaveValue('test2@test.com')&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Radio Buttons ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
//await usingTheGridForm.getByLabel('Option 1').check({force:true})&lt;br /&gt;
await usingTheGridForm&lt;br /&gt;
    .getByRole(&amp;quot;radio&amp;quot;, { name: &amp;quot;Option 1&amp;quot; })&lt;br /&gt;
    .check({ force: true })&lt;br /&gt;
&lt;br /&gt;
const radioStatus = await usingTheGridForm&lt;br /&gt;
    .getByRole(&amp;quot;radio&amp;quot;, { name: &amp;quot;Option 1&amp;quot; })&lt;br /&gt;
    .isChecked()&lt;br /&gt;
expect(radioStatus).toBeTruthy()&lt;br /&gt;
&lt;br /&gt;
await expect(&lt;br /&gt;
    usingTheGridForm.getByRole(&amp;quot;radio&amp;quot;, { name: &amp;quot;Option 1&amp;quot; })&lt;br /&gt;
).toBeChecked()&lt;br /&gt;
&lt;br /&gt;
await usingTheGridForm&lt;br /&gt;
    .getByRole(&amp;quot;radio&amp;quot;, { name: &amp;quot;Option 2&amp;quot; })&lt;br /&gt;
    .check({ force: true })&lt;br /&gt;
&lt;br /&gt;
expect(&lt;br /&gt;
    await usingTheGridForm&lt;br /&gt;
    .getByRole(&amp;quot;radio&amp;quot;, { name: &amp;quot;Option 1&amp;quot; })&lt;br /&gt;
    .isChecked()&lt;br /&gt;
).toBeFalsy()&lt;br /&gt;
expect(&lt;br /&gt;
    await usingTheGridForm&lt;br /&gt;
        .getByRole(&amp;quot;radio&amp;quot;, { name: &amp;quot;Option 2&amp;quot; })&lt;br /&gt;
        .isChecked()&lt;br /&gt;
).toBeTruthy()&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: force needed because &amp;lt;code&amp;gt;class=&amp;quot;native-input visually-hidden&amp;quot;&amp;lt;/code&amp;gt; ie. the element is hidden, and force suspends Playwright's the actionability checks (ie. Visible, Stable, Receives Events, Enabled)&lt;br /&gt;
&lt;br /&gt;
=== Checkboxes ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
await page.getByText(&amp;quot;Modal &amp;amp; Overlays&amp;quot;).click()&lt;br /&gt;
await page.locator(&amp;quot;.menu-item&amp;quot;).getByText(&amp;quot;Toastr&amp;quot;).click()&lt;br /&gt;
await page&lt;br /&gt;
  .getByRole(&amp;quot;checkbox&amp;quot;, { name: &amp;quot;Hide on click&amp;quot; })&lt;br /&gt;
  .uncheck({ force: true })&lt;br /&gt;
await page&lt;br /&gt;
  .getByRole(&amp;quot;checkbox&amp;quot;, { name: &amp;quot;Prevent arising of duplicate toast&amp;quot; })&lt;br /&gt;
  .check({ force: true })&lt;br /&gt;
&lt;br /&gt;
const checkBoxes = page.getByRole(&amp;quot;checkbox&amp;quot;)&lt;br /&gt;
for (const checkbox of await checkBoxes.all()) {&lt;br /&gt;
  await checkbox.uncheck({ force: true })&lt;br /&gt;
  expect(await checkbox.isChecked()).toBeFalsy()&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: force needed because &amp;lt;code&amp;gt;class=&amp;quot;native-input visually-hidden&amp;quot;&amp;lt;/code&amp;gt; ie. the element is hidden, and force suspends Playwright's the actionability checks (ie. Visible, Stable, Receives Events, Enabled) &lt;br /&gt;
&lt;br /&gt;
Also I couldn't get &amp;lt;code&amp;gt;const checkBoxes = await page.getByRole(&amp;quot;checkbox&amp;quot;).all()&amp;lt;/code&amp;gt; and then use array &amp;lt;code&amp;gt;forEach(...)&amp;lt;/code&amp;gt; to work, not sure why ... but using the for loop is documented in the method tooltip ...&lt;br /&gt;
&lt;br /&gt;
=== Lists &amp;amp; Dropdowns ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test(&amp;quot;lists and dropdowns&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  const dropDownMenu = page.locator(&amp;quot;ngx-header nb-select&amp;quot;)&lt;br /&gt;
  await dropDownMenu.click()&lt;br /&gt;
&lt;br /&gt;
  page.getByRole(&amp;quot;list&amp;quot;) // for &amp;lt;ul&amp;gt; =&amp;gt; parent list container&lt;br /&gt;
  page.getByRole(&amp;quot;listitem&amp;quot;) // for &amp;lt;li&amp;gt; =&amp;gt; not always used&lt;br /&gt;
&lt;br /&gt;
  // const optionList = page.getByRole('list').locator('nb-option')&lt;br /&gt;
&lt;br /&gt;
  const optionList = page.locator(&amp;quot;nb-option-list nb-option&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  await expect(optionList).toHaveText([&amp;quot;Light&amp;quot;, &amp;quot;Dark&amp;quot;, &amp;quot;Cosmic&amp;quot;, &amp;quot;Corporate&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
  await optionList.filter({ hasText: &amp;quot;Cosmic&amp;quot; }).click()&lt;br /&gt;
&lt;br /&gt;
  const header = page.locator(&amp;quot;nb-layout-header&amp;quot;)&lt;br /&gt;
  await expect(header).toHaveCSS(&amp;quot;background-color&amp;quot;, &amp;quot;rgb(50, 50, 89)&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  const colors = {&lt;br /&gt;
    Light: &amp;quot;rgb(255, 255, 255)&amp;quot;,&lt;br /&gt;
    Dark: &amp;quot;rgb(34, 43, 69)&amp;quot;,&lt;br /&gt;
    Cosmic: &amp;quot;rgb(50, 50, 89)&amp;quot;,&lt;br /&gt;
    Corporate: &amp;quot;rgb(255, 255, 255)&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (const color in colors) {&lt;br /&gt;
    await dropDownMenu.click()&lt;br /&gt;
    await optionList.filter({ hasText: color }).click()&lt;br /&gt;
    await expect(header).toHaveCSS(&amp;quot;background-color&amp;quot;, colors[color])&lt;br /&gt;
  }&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tooltips ===&lt;br /&gt;
To see the tooltip you may need to go to the dev tools, sources tab, and press F8 (on windows) to pause the debugger whilst showing the tooltip. This will now allow you to investigate the frozen DOM. &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test(&amp;quot;tooltip&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  await page.getByText(&amp;quot;Modal &amp;amp; Overlays&amp;quot;).click()&lt;br /&gt;
  await page.locator(&amp;quot;.menu-item&amp;quot;).getByText(&amp;quot;Tooltip&amp;quot;).click()&lt;br /&gt;
  const toolTipCard = page.locator(&amp;quot;nb-card&amp;quot;, { hasText: &amp;quot;Tooltip Placements&amp;quot; })&lt;br /&gt;
  await toolTipCard.locator(&amp;quot;button&amp;quot;, { hasText: &amp;quot;TOP&amp;quot; }).hover()&lt;br /&gt;
&lt;br /&gt;
  page.getByRole('tooltip')  // only works if the tooltip role was added to the element&lt;br /&gt;
  const tooltip = await page.locator('nb-tooltip').textContent()&lt;br /&gt;
  expect(tooltip).toEqual('This is a tooltip')&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dailog Boxes ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;test(&amp;quot;Dialog box&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  await page.getByText(&amp;quot;Tables &amp;amp; Data&amp;quot;).click()&lt;br /&gt;
  await page.locator(&amp;quot;.menu-item&amp;quot;).getByText(&amp;quot;Smart Table&amp;quot;).click()&lt;br /&gt;
&lt;br /&gt;
  page.on(&amp;quot;dialog&amp;quot;, (dialog) =&amp;gt; {&lt;br /&gt;
    expect(dialog.message()).toEqual(&amp;quot;Are you sure you want to delete?&amp;quot;)&lt;br /&gt;
    dialog.accept()&lt;br /&gt;
  })&lt;br /&gt;
&lt;br /&gt;
  const email = &amp;quot;mdo@gmail.com&amp;quot;&lt;br /&gt;
  await page&lt;br /&gt;
    .getByRole(&amp;quot;table&amp;quot;)&lt;br /&gt;
    .locator(&amp;quot;tr&amp;quot;, { hasText: email })&lt;br /&gt;
    .locator(&amp;quot;.nb-trash&amp;quot;)&lt;br /&gt;
    .click()&lt;br /&gt;
&lt;br /&gt;
  await expect(page.locator(&amp;quot;table tr&amp;quot;).first()).not.toHaveText(email)&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Tables ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test(&amp;quot;Web Table&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  await page.getByText(&amp;quot;Tables &amp;amp; Data&amp;quot;).click()&lt;br /&gt;
  await page.locator(&amp;quot;.menu-item&amp;quot;).getByText(&amp;quot;Smart Table&amp;quot;).click()&lt;br /&gt;
&lt;br /&gt;
  // 1 locate a row by a unique value&lt;br /&gt;
  const targetRow = page.getByRole(&amp;quot;row&amp;quot;, { name: &amp;quot;twitter@outlook.com&amp;quot; })&lt;br /&gt;
  await targetRow.locator(&amp;quot;.nb-edit&amp;quot;).click()&lt;br /&gt;
  await page.locator(&amp;quot;input-editor&amp;quot;).getByPlaceholder(&amp;quot;Age&amp;quot;).clear()&lt;br /&gt;
  await page.locator(&amp;quot;input-editor&amp;quot;).getByPlaceholder(&amp;quot;Age&amp;quot;).fill(&amp;quot;35&amp;quot;)&lt;br /&gt;
  await page.locator(&amp;quot;.nb-checkmark&amp;quot;).click()&lt;br /&gt;
&lt;br /&gt;
  // 2 get a row by a value in specific column&lt;br /&gt;
  await page.locator(&amp;quot;.ng2-smart-pagination-nav&amp;quot;).getByText(&amp;quot;2&amp;quot;).click()&lt;br /&gt;
  const targetRowById = page.getByRole('row', {name:'11'}).filter({has: page.locator('td').nth(1).getByText('11')})&lt;br /&gt;
  await targetRowById.locator('.nb-edit').click()&lt;br /&gt;
  await page.locator(&amp;quot;input-editor&amp;quot;).getByPlaceholder(&amp;quot;E-mail&amp;quot;).clear()&lt;br /&gt;
  await page.locator(&amp;quot;input-editor&amp;quot;).getByPlaceholder(&amp;quot;E-Mail&amp;quot;).fill(&amp;quot;test@test.com&amp;quot;)&lt;br /&gt;
  await page.locator(&amp;quot;.nb-checkmark&amp;quot;).click()&lt;br /&gt;
  await expect(targetRowById.locator('td').nth(5)).toHaveText('test@test.com')&lt;br /&gt;
&lt;br /&gt;
  // 3 test filter of the  table&lt;br /&gt;
  const ages = [&amp;quot;20&amp;quot;, &amp;quot;30&amp;quot;, &amp;quot;40&amp;quot;, &amp;quot;200&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
  for (let age of ages) {&lt;br /&gt;
    await page.locator(&amp;quot;input-filter&amp;quot;).getByPlaceholder(&amp;quot;Age&amp;quot;).clear()&lt;br /&gt;
    await page.locator(&amp;quot;input-filter&amp;quot;).getByPlaceholder(&amp;quot;Age&amp;quot;).fill(age)&lt;br /&gt;
    await page.waitForTimeout(500) // it takes a moment to refresh the list&lt;br /&gt;
&lt;br /&gt;
    const ageRows = page.locator(&amp;quot;tbody tr&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    for (let row of await ageRows.all()) {&lt;br /&gt;
      const cellValue = await row.locator(&amp;quot;td&amp;quot;).last().textContent()&lt;br /&gt;
      if (age == &amp;quot;200&amp;quot;) {&lt;br /&gt;
        expect(await page.getByRole(&amp;quot;table&amp;quot;).textContent()).toContain(&lt;br /&gt;
          &amp;quot;No data found&amp;quot;&lt;br /&gt;
        )&lt;br /&gt;
      } else {&lt;br /&gt;
        expect(cellValue).toEqual(age)&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not sure I like how one scenario is testing multiple things, and particularly // 3 where the last filter scenario expects to find no data, compared to the first three that do have rows...&lt;br /&gt;
&lt;br /&gt;
=== Date Picker ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test(&amp;quot;Date Picker&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  await page.getByText(&amp;quot;Forms&amp;quot;).click()&lt;br /&gt;
  await page.locator(&amp;quot;.menu-item&amp;quot;).getByText(&amp;quot;Datepicker&amp;quot;).click()&lt;br /&gt;
&lt;br /&gt;
  const calendarInputfield = page.getByPlaceholder(&amp;quot;Form Picker&amp;quot;)&lt;br /&gt;
  await calendarInputfield.click()&lt;br /&gt;
&lt;br /&gt;
  let date = new Date()&lt;br /&gt;
  date.setDate(date.getDate() + 500) &lt;br /&gt;
  const expectedDate = date.getDate().toString()&lt;br /&gt;
  const expectedMonthShort = date.toLocaleString(&amp;quot;En-US&amp;quot;, { month: &amp;quot;short&amp;quot; })&lt;br /&gt;
  const expectedMonthLong = date.toLocaleString(&amp;quot;En-US&amp;quot;, { month: &amp;quot;long&amp;quot; })&lt;br /&gt;
  const expectedYear = date.getFullYear()&lt;br /&gt;
  const formattedDate = `${expectedMonthShort} ${expectedDate}, ${expectedYear}`&lt;br /&gt;
&lt;br /&gt;
  let calendarMonthAndYear = await page&lt;br /&gt;
    .locator(&amp;quot;nb-calendar-view-mode&amp;quot;)&lt;br /&gt;
    .textContent()&lt;br /&gt;
  const expectedMonthAndYear = ` ${expectedMonthLong} ${expectedYear} `&lt;br /&gt;
&lt;br /&gt;
  while (!calendarMonthAndYear.includes(expectedMonthAndYear)) {&lt;br /&gt;
    await page.locator(&amp;quot;.next-month&amp;quot;).click()&lt;br /&gt;
    //    await page.locator('nb-calendar-pageable-navigation [data-name=&amp;quot;chevron-right&amp;quot;]').click()&lt;br /&gt;
    calendarMonthAndYear = await page&lt;br /&gt;
      .locator(&amp;quot;nb-calendar-view-mode&amp;quot;)&lt;br /&gt;
      .textContent()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  await page&lt;br /&gt;
    .locator('[class=&amp;quot;day-cell ng-star-inserted&amp;quot;]')&lt;br /&gt;
    .getByText(expectedDate, { exact: true })&lt;br /&gt;
    .click()&lt;br /&gt;
&lt;br /&gt;
  await expect(calendarInputfield).toHaveValue(formattedDate)&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* be careful when adding to a date, it may wrap to the next month&lt;br /&gt;
* things I don't quite like here&lt;br /&gt;
** all the date string variables, and using the &amp;lt;code&amp;gt;expected&amp;lt;/code&amp;gt; prefixes&lt;br /&gt;
** this check &amp;quot;sometimes&amp;quot; checks the next month button. but not always - these should be two separate checks (test cases)&lt;br /&gt;
** the code duplication for &amp;lt;code&amp;gt;calendarMonthAndYear = ...&amp;lt;/code&amp;gt;&lt;br /&gt;
** the course uses &amp;lt;code&amp;gt;'nb-calendar-pageable-navigation [data-name=&amp;quot;chevron-right&amp;quot;]'&amp;lt;/code&amp;gt; when &amp;lt;code&amp;gt;&amp;quot;.next-month&amp;quot;&amp;lt;/code&amp;gt; is cleaner and more readable&lt;br /&gt;
** the while loop is dangerous, it assumes that &amp;lt;code&amp;gt;calendarMonthAndYear.includes(expectedMonthAndYear)&amp;lt;/code&amp;gt; will be true at some point. &lt;br /&gt;
:::Consider what would happen if the format of the displayed text is changed (eg. the developer changes it to use a short month...) &lt;br /&gt;
:::I think a for loop with conditional exit break would be better, &lt;br /&gt;
:::and using two separate checks, for short month, and then year, would be more resilient. &lt;br /&gt;
&lt;br /&gt;
With suggested changes&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test(&amp;quot;Date Picker&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  await page.getByText(&amp;quot;Forms&amp;quot;).click()&lt;br /&gt;
  await page.locator(&amp;quot;.menu-item&amp;quot;).getByText(&amp;quot;Datepicker&amp;quot;).click()&lt;br /&gt;
&lt;br /&gt;
  const calendarInputfield = page.getByPlaceholder(&amp;quot;Form Picker&amp;quot;)&lt;br /&gt;
  await calendarInputfield.click()&lt;br /&gt;
&lt;br /&gt;
  let selectDate = new Date()&lt;br /&gt;
  const addDays = 500&lt;br /&gt;
  selectDate.setDate(selectDate.getDate() + addDays)&lt;br /&gt;
  const selectDayOfMonth = selectDate.getDate().toString() // value of &amp;quot;1&amp;quot; to &amp;quot;31&amp;quot;&lt;br /&gt;
  const selectMonth = selectDate.toLocaleString(&amp;quot;En-US&amp;quot;, { month: &amp;quot;short&amp;quot; })&lt;br /&gt;
  const selectYear = selectDate.getFullYear().toString()&lt;br /&gt;
  const formattedSelectDate = `${selectMonth} ${selectDayOfMonth}, ${selectYear}`&lt;br /&gt;
&lt;br /&gt;
  for (let i = 0; i &amp;lt; addDays / 28; i++) { // divide by shortest month&lt;br /&gt;
    let calendarMonthAndYear = await page&lt;br /&gt;
      .locator(&amp;quot;nb-calendar-view-mode&amp;quot;)&lt;br /&gt;
      .textContent()&lt;br /&gt;
&lt;br /&gt;
    if (&lt;br /&gt;
      calendarMonthAndYear.includes(selectMonth) &amp;amp;&amp;amp;&lt;br /&gt;
      calendarMonthAndYear.includes(selectYear)&lt;br /&gt;
    ) {&lt;br /&gt;
      break&lt;br /&gt;
    } else {&lt;br /&gt;
      await page.locator(&amp;quot;.next-month&amp;quot;).click()&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  await page&lt;br /&gt;
    .locator('[class=&amp;quot;day-cell ng-star-inserted&amp;quot;]') &lt;br /&gt;
    .getByText(selectDayOfMonth, { exact: true })&lt;br /&gt;
    .click()&lt;br /&gt;
    // locator has to be exact match, partial matches would include days from prev and next months&lt;br /&gt;
&lt;br /&gt;
  await expect(calendarInputfield).toHaveValue(formattedSelectDate)&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sliders ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test(&amp;quot;Sliders&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  // Update attribute&lt;br /&gt;
  // const tempGaugeDraggerHandle = page.locator('[tabtitle=&amp;quot;Temperature&amp;quot;] ngx-temperature-dragger circle')&lt;br /&gt;
  // await tempGaugeDraggerHandle.evaluate(node =&amp;gt; {&lt;br /&gt;
  //     node.setAttribute('cx',&amp;quot;232.103&amp;quot;)&lt;br /&gt;
  //     node.setAttribute('cy',&amp;quot;232.103&amp;quot;)&lt;br /&gt;
  // })&lt;br /&gt;
  // await tempGaugeDraggerHandle.click()&lt;br /&gt;
&lt;br /&gt;
  // mouse movement&lt;br /&gt;
  const tempGauge = page.locator(&lt;br /&gt;
    '[tabtitle=&amp;quot;Temperature&amp;quot;] ngx-temperature-dragger'&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
  tempGauge.scrollIntoViewIfNeeded()&lt;br /&gt;
  // probably also need to make sure that the bowser window is big enough to show the whole UI control&lt;br /&gt;
&lt;br /&gt;
  const box = await tempGauge.boundingBox()&lt;br /&gt;
&lt;br /&gt;
  const c = {&lt;br /&gt;
    x: box.x + box.width / 2,&lt;br /&gt;
    y: box.y + box.height / 2,&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  await page.mouse.move(c.x, c.y)&lt;br /&gt;
  await page.mouse.down()&lt;br /&gt;
  await page.mouse.move(c.x + 100, c.y)&lt;br /&gt;
  await page.mouse.move(c.x + 100, c.y + 100)&lt;br /&gt;
  await page.mouse.up()&lt;br /&gt;
&lt;br /&gt;
  await page.mouse.click(c.x + 100, c.y + 100)&lt;br /&gt;
  // this was needed to get the scenario to run in Playwright UI mode viewer&lt;br /&gt;
&lt;br /&gt;
  await expect(tempGauge).toContainText(&amp;quot;30&amp;quot;)&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* Had some issues with browser window being too small and interfering with scrolling and mouse actions&lt;br /&gt;
* also the UI Mode view doesn't show the temperature UI component correctly, and didn't seem to update the value shown. I added a &amp;lt;code&amp;gt;page.mouse.click(...location...)&amp;lt;/code&amp;gt; at the end to fix this.&lt;br /&gt;
&lt;br /&gt;
=== Drag &amp;amp; Drop with iFrames ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test(&amp;quot;drag and drop with iframe&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  await page.goto(&amp;quot;https://www.globalsqa.com/demo-site/draganddrop/&amp;quot;)&lt;br /&gt;
  const frame = page.frameLocator('[rel-title=&amp;quot;Photo Manager&amp;quot;] iframe')&lt;br /&gt;
&lt;br /&gt;
  await frame&lt;br /&gt;
    .locator(&amp;quot;li&amp;quot;, { hasText: &amp;quot;High Tatras 2&amp;quot; })&lt;br /&gt;
    .dragTo(frame.locator(&amp;quot;#trash&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
  // more precise control&lt;br /&gt;
  await frame.locator(&amp;quot;li&amp;quot;, { hasText: &amp;quot;High Tatras 4&amp;quot; }).hover()&lt;br /&gt;
  await page.mouse.down()&lt;br /&gt;
  await frame.locator(&amp;quot;#trash&amp;quot;).hover()&lt;br /&gt;
  await page.mouse.up()&lt;br /&gt;
&lt;br /&gt;
  await expect(frame.locator(&amp;quot;#trash li h5&amp;quot;)).toHaveText([&lt;br /&gt;
    &amp;quot;High Tatras 2&amp;quot;,&lt;br /&gt;
    &amp;quot;High Tatras 4&amp;quot;,&lt;br /&gt;
  ])&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Section 6: Page Object Model ==&lt;br /&gt;
=== Intro ===&lt;br /&gt;
* design pattern to improve maintainability and reusability&lt;br /&gt;
* there's no industry standard way to do it though&lt;br /&gt;
* Core concepts&lt;br /&gt;
** each page has a class&lt;br /&gt;
** with methods for operations&lt;br /&gt;
* Two Important Principles&lt;br /&gt;
** DRY - don't repeat yourself&lt;br /&gt;
** KISS - keep it simple stupid&lt;br /&gt;
* Two Good Practices&lt;br /&gt;
** Descriptive naming&lt;br /&gt;
** &amp;lt;s&amp;gt;Avoid tiny methods&amp;lt;/s&amp;gt; =&amp;gt; I don't agree, especially if this leads to code repetition. &lt;br /&gt;
&lt;br /&gt;
Note: &lt;br /&gt;
&lt;br /&gt;
For me I like POM's to encapsulate the page (or component) so that the object knows&lt;br /&gt;
* how to find things it contains&lt;br /&gt;
* how to do things that it implements&lt;br /&gt;
&lt;br /&gt;
with the end result being that code consuming the object interacts with it in a way that feels and reads like a real user might.&lt;br /&gt;
&lt;br /&gt;
=== First Page Object ===&lt;br /&gt;
new file '''&amp;lt;code&amp;gt;page-objects\navigationPage.ts&amp;lt;/code&amp;gt;'''&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import { Page } from &amp;quot;@playwright/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export class NavigationPage {&lt;br /&gt;
  readonly page: Page&lt;br /&gt;
&lt;br /&gt;
  constructor(page: Page) {&lt;br /&gt;
    this.page = page&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  async formLayoutsPage() {&lt;br /&gt;
    await this.page.getByText(&amp;quot;Forms&amp;quot;).click()&lt;br /&gt;
    await this.page.getByText(&amp;quot;Form Layouts&amp;quot;).click()&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
new file '''&amp;lt;code&amp;gt;tests\usePageObjects.spec.ts&amp;lt;/code&amp;gt;'''&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import { expect, test } from &amp;quot;@playwright/test&amp;quot;&lt;br /&gt;
import { NavigationPage } from &amp;quot;../page-objects/navigationPage&amp;quot;&lt;br /&gt;
&lt;br /&gt;
test.beforeEach(async ({ page }, testInfo) =&amp;gt; {&lt;br /&gt;
  await page.goto(&amp;quot;http://localhost:4200/&amp;quot;)&lt;br /&gt;
})&lt;br /&gt;
&lt;br /&gt;
test(&amp;quot;navigate to form page&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  const navigateTo = new NavigationPage(page)&lt;br /&gt;
  await navigateTo.formLayoutsPage()&lt;br /&gt;
&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
I don't like a lot of the naming here, &lt;br /&gt;
* navigationPage -&amp;gt; navigationMenu&lt;br /&gt;
* formLayoutsPage -&amp;gt; clickFormLayouts&lt;br /&gt;
* navigateTo -&amp;gt; navigationMenu&lt;br /&gt;
&lt;br /&gt;
=== Navigation Page Object ===&lt;br /&gt;
As per above section, but adding/modifying&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  async datePickerPage() {&lt;br /&gt;
    await this.selectGroupMenuItem(&amp;quot;Forms&amp;quot;)&lt;br /&gt;
    await this.page.locator(&amp;quot;.menu-item&amp;quot;).getByText(&amp;quot;Datepicker&amp;quot;).click()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* other menu items */&lt;br /&gt;
&lt;br /&gt;
  private async selectGroupMenuItem(groupItemtitle: string) {&lt;br /&gt;
    const groupMenuItem = this.page.getByTitle(groupItemtitle)&lt;br /&gt;
    const expandedState = await groupMenuItem.getAttribute(&amp;quot;aria-expanded&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    if (expandedState == &amp;quot;false&amp;quot;) {&lt;br /&gt;
      await groupMenuItem.click()&lt;br /&gt;
    }&lt;br /&gt;
  }&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Locators in Page Objects ===&lt;br /&gt;
Modifying the previous example&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  readonly formLayoutsMenuItem: Locator&lt;br /&gt;
  readonly datePickerMenuItem: Locator&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
  constructor(page: Page) {&lt;br /&gt;
    this.page = page&lt;br /&gt;
    this.formLayoutsMenuItem = page.getByText(&amp;quot;Form Layouts&amp;quot;)&lt;br /&gt;
    this.datePickerMenuItem = page.locator(&amp;quot;.menu-item&amp;quot;).getByText(&amp;quot;Datepicker&amp;quot;)&lt;br /&gt;
    ...&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  async formLayoutsPage() {&lt;br /&gt;
    await this.selectGroupMenuItem(&amp;quot;Forms&amp;quot;)&lt;br /&gt;
    await this.formLayoutsMenuItem.click()&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Presenter pointed out that you can end up with long lists of fields, and constructor lines, resulting in hard to review and maintain code. You're probably better off just leaving them hard coded in the action methods.&lt;br /&gt;
&lt;br /&gt;
=== Parameterised Methods ===&lt;br /&gt;
File: &amp;lt;code&amp;gt;tests\usepageObjects.spec.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import { expect, test } from &amp;quot;@playwright/test&amp;quot;&lt;br /&gt;
import { NavigationPage } from &amp;quot;../page-objects/navigationPage&amp;quot;&lt;br /&gt;
import { FormLayoutsPage } from &amp;quot;../page-objects/formLayoutsPage&amp;quot;&lt;br /&gt;
&lt;br /&gt;
test.beforeEach(async ({ page }, testInfo) =&amp;gt; {&lt;br /&gt;
  await page.goto(&amp;quot;http://localhost:4200/&amp;quot;)&lt;br /&gt;
})&lt;br /&gt;
&lt;br /&gt;
test(&amp;quot;navigate to all pages&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  const navigateTo = new NavigationPage(page)&lt;br /&gt;
  await navigateTo.formLayoutsPage()&lt;br /&gt;
  await navigateTo.datePickerPage()&lt;br /&gt;
  await navigateTo.smartTablepage()&lt;br /&gt;
  await navigateTo.toastrPage()&lt;br /&gt;
  await navigateTo.tooltipPage()&lt;br /&gt;
})&lt;br /&gt;
&lt;br /&gt;
test(&amp;quot;parameterised methods&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  const navigateTo = new NavigationPage(page)&lt;br /&gt;
  const onFormLayoutsPage = new FormLayoutsPage(page)&lt;br /&gt;
&lt;br /&gt;
  await navigateTo.formLayoutsPage()&lt;br /&gt;
  await onFormLayoutsPage.submitUsingTheGridFormWithCredentialsAndSelectOption(&lt;br /&gt;
    &amp;quot;test@test.com&amp;quot;,&lt;br /&gt;
    &amp;quot;Welcome1&amp;quot;,&lt;br /&gt;
    &amp;quot;Option 2&amp;quot;&lt;br /&gt;
  )&lt;br /&gt;
  await onFormLayoutsPage.submitInLineFormWithNameEmailAndCheckbox(&lt;br /&gt;
    &amp;quot;John Smith&amp;quot;,&lt;br /&gt;
    &amp;quot;john@test.com&amp;quot;,&lt;br /&gt;
    true&lt;br /&gt;
  )&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: &amp;lt;code&amp;gt;page-objects\formLayoutsPage.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import { Page } from &amp;quot;@playwright/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export class FormLayoutsPage {&lt;br /&gt;
  private readonly page: Page&lt;br /&gt;
  constructor(page: Page) {&lt;br /&gt;
    this.page = page&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  async submitUsingTheGridFormWithCredentialsAndSelectOption(&lt;br /&gt;
    email: string,&lt;br /&gt;
    password: string,&lt;br /&gt;
    optionText: string&lt;br /&gt;
  ) {&lt;br /&gt;
    const usingTheGridForm = this.page.locator(&amp;quot;nb-card&amp;quot;, {&lt;br /&gt;
      hasText: &amp;quot;Using the Grid&amp;quot;,&lt;br /&gt;
    })&lt;br /&gt;
    await usingTheGridForm.getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;Email&amp;quot; }).fill(email)&lt;br /&gt;
    await usingTheGridForm&lt;br /&gt;
      .getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;Password&amp;quot; })&lt;br /&gt;
      .fill(password)&lt;br /&gt;
    await usingTheGridForm&lt;br /&gt;
      .getByRole(&amp;quot;radio&amp;quot;, { name: optionText })&lt;br /&gt;
      .check({ force: true })&lt;br /&gt;
&lt;br /&gt;
    await usingTheGridForm.getByRole(&amp;quot;button&amp;quot;).click()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /**&lt;br /&gt;
   * This method fills out the inline form with user details&lt;br /&gt;
   * &lt;br /&gt;
   * @param name - first and last name&lt;br /&gt;
   * @param email - valid email for the test user&lt;br /&gt;
   * @param rememberMe - if the user session is to be saved&lt;br /&gt;
   */&lt;br /&gt;
  async submitInLineFormWithNameEmailAndCheckbox(&lt;br /&gt;
    name: string,&lt;br /&gt;
    email: string,&lt;br /&gt;
    rememberMe: boolean&lt;br /&gt;
  ) {&lt;br /&gt;
    const inlineForm = this.page.locator(&amp;quot;nb-card&amp;quot;, {&lt;br /&gt;
      hasText: &amp;quot;Inline form&amp;quot;,&lt;br /&gt;
    })&lt;br /&gt;
    await inlineForm.getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;Jane Doe&amp;quot; }).fill(name)&lt;br /&gt;
    await inlineForm.getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;Email&amp;quot; }).fill(email)&lt;br /&gt;
&lt;br /&gt;
    rememberMe &amp;amp;&amp;amp;&lt;br /&gt;
      (await inlineForm.getByRole(&amp;quot;checkbox&amp;quot;).check({ force: true }))&lt;br /&gt;
&lt;br /&gt;
    await inlineForm.getByRole(&amp;quot;button&amp;quot;).click()&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Date Picker Page Object ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test(&amp;quot;DatePickerPage Object&amp;quot;, async ({page}) =&amp;gt; {&lt;br /&gt;
  const navigateTo = new NavigationPage(page)&lt;br /&gt;
  const onDatepickerPage = new DatePickerPage(page)&lt;br /&gt;
&lt;br /&gt;
  await navigateTo.datePickerPage()&lt;br /&gt;
  await onDatepickerPage.selectCommonDatePickerDateFromToday(10)&lt;br /&gt;
  await onDatepickerPage.selectDatePickerWithRangeFromToday(6 ,15)&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: &amp;lt;code&amp;gt;page-objects\datePickerPage.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import { Page, expect } from &amp;quot;@playwright/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export class DatePickerPage {&lt;br /&gt;
  private readonly page: Page&lt;br /&gt;
&lt;br /&gt;
  constructor(page: Page) {&lt;br /&gt;
    this.page = page&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  async selectCommonDatePickerDateFromToday(numberOfDaysFromToday: number) {&lt;br /&gt;
    const calendarInputfield = this.page.getByPlaceholder(&amp;quot;Form Picker&amp;quot;)&lt;br /&gt;
    await calendarInputfield.click()&lt;br /&gt;
&lt;br /&gt;
    const formattedSelectDate = await this.selectDateInTheCalendar(&lt;br /&gt;
      numberOfDaysFromToday&lt;br /&gt;
    )&lt;br /&gt;
&lt;br /&gt;
    await expect(calendarInputfield).toHaveValue(formattedSelectDate)&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  async selectDatePickerWithRangeFromToday(&lt;br /&gt;
    startDayFromToday: number,&lt;br /&gt;
    endDayFromToday: number&lt;br /&gt;
  ) {&lt;br /&gt;
    if(startDayFromToday &amp;gt; endDayFromToday) throw new Error('startDayFromToday must not be after endDayFromToday')&lt;br /&gt;
&lt;br /&gt;
    const calendarInputfield = this.page.getByPlaceholder(&amp;quot;Range Picker&amp;quot;)&lt;br /&gt;
    await calendarInputfield.click()&lt;br /&gt;
&lt;br /&gt;
    const formattedStartDate = await this.selectDateInTheCalendar(&lt;br /&gt;
      startDayFromToday&lt;br /&gt;
    )&lt;br /&gt;
    const formattedEndDate = await this.selectDateInTheCalendar(endDayFromToday)&lt;br /&gt;
&lt;br /&gt;
    await expect(calendarInputfield).toHaveValue(`${formattedStartDate} - ${formattedEndDate}`)&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  private async selectDateInTheCalendar(numberOfDaysFromToday: number) {&lt;br /&gt;
    let selectDate = new Date()&lt;br /&gt;
    selectDate.setDate(selectDate.getDate() + numberOfDaysFromToday)&lt;br /&gt;
    const selectDayOfMonth = selectDate.getDate().toString() // value of &amp;quot;1&amp;quot; to &amp;quot;31&amp;quot;&lt;br /&gt;
    const selectMonth = selectDate.toLocaleString(&amp;quot;En-US&amp;quot;, { month: &amp;quot;short&amp;quot; })&lt;br /&gt;
    const selectYear = selectDate.getFullYear().toString()&lt;br /&gt;
    const formattedSelectDate = `${selectMonth} ${selectDayOfMonth}, ${selectYear}`&lt;br /&gt;
&lt;br /&gt;
    // check if selectDate is in this month, or whether we need to click next to a future month&lt;br /&gt;
    for (let i = 0; i &amp;lt; numberOfDaysFromToday / 28; i++) {&lt;br /&gt;
      // divide by shortest month&lt;br /&gt;
      let calendarMonthAndYear = await this.page&lt;br /&gt;
        .locator(&amp;quot;nb-calendar-view-mode&amp;quot;)&lt;br /&gt;
        .textContent()&lt;br /&gt;
&lt;br /&gt;
      if (&lt;br /&gt;
        calendarMonthAndYear.includes(selectMonth) &amp;amp;&amp;amp;&lt;br /&gt;
        calendarMonthAndYear.includes(selectYear)&lt;br /&gt;
      ) {&lt;br /&gt;
        break&lt;br /&gt;
      } else {&lt;br /&gt;
        await this.page.locator(&amp;quot;.next-month&amp;quot;).click()&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    await this.page&lt;br /&gt;
      .locator('.day-cell.ng-star-inserted:not(.bounding-month)')&lt;br /&gt;
    .getByText(selectDayOfMonth, { exact: true })&lt;br /&gt;
      .click()&lt;br /&gt;
    // locator has to be exact match, partial matches would include days from prev and next months&lt;br /&gt;
&lt;br /&gt;
    return formattedSelectDate&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes: &lt;br /&gt;
* I feel that the page object should not have &amp;lt;code&amp;gt;expect(...)&amp;lt;/code&amp;gt; in it, IMHO these ought to be in the tests themselves, with possibly helper methods in the page object to obtain the values to assert on.&lt;br /&gt;
* I added a little input validation to check startDayFromToday is not be after endDayFromToday&lt;br /&gt;
* Not sure I like a few of the names used, e.g. method name &amp;lt;code&amp;gt;selectDatePickerWithRangeFromToday(...)&amp;lt;/code&amp;gt; is not entirely self evident what it is, and I'd probably just want to use Date object for start and end input parameters, rather than the number of days from today.&lt;br /&gt;
&lt;br /&gt;
=== Page Objects Manager ===&lt;br /&gt;
File: &amp;lt;code&amp;gt;page-objects\pageManager.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import { Page, expect } from &amp;quot;@playwright/test&amp;quot;&lt;br /&gt;
import { NavigationPage } from &amp;quot;../page-objects/navigationPage&amp;quot;&lt;br /&gt;
import { FormLayoutsPage } from &amp;quot;../page-objects/formLayoutsPage&amp;quot;&lt;br /&gt;
import { DatePickerPage } from &amp;quot;../page-objects/datePickerPage&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export class PageManager {&lt;br /&gt;
  private readonly page: Page&lt;br /&gt;
  private readonly navigationPage: NavigationPage&lt;br /&gt;
  private readonly formLayoutsPage: FormLayoutsPage&lt;br /&gt;
  private readonly datePickerPage: DatePickerPage&lt;br /&gt;
&lt;br /&gt;
  constructor(page: Page) {&lt;br /&gt;
    this.page = page&lt;br /&gt;
    this.navigationPage = new NavigationPage(this.page)&lt;br /&gt;
    this.formLayoutsPage = new FormLayoutsPage(this.page)&lt;br /&gt;
    this.datePickerPage = new DatePickerPage(this.page)&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  navigateTo = () =&amp;gt; this.navigationPage&lt;br /&gt;
  onFormLayoutsPage = () =&amp;gt; this.formLayoutsPage&lt;br /&gt;
  onDatePickerPage = () =&amp;gt; this.datePickerPage&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* I swapped to using arrow notation for specifying the PageManager's methods. (Make it a lot more concise and has less verbiage) &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test(&amp;quot;Page Manger&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  const pm = new PageManager(page)&lt;br /&gt;
&lt;br /&gt;
  await pm.navigateTo().formLayoutsPage()&lt;br /&gt;
  await pm.onFormLayoutsPage().submitUsingTheGridFormWithCredentialsAndSelectOption(&lt;br /&gt;
    &amp;quot;test@test.com&amp;quot;,&lt;br /&gt;
    &amp;quot;Welcome1&amp;quot;,&lt;br /&gt;
    &amp;quot;Option 2&amp;quot;&lt;br /&gt;
  )&lt;br /&gt;
  await pm.onFormLayoutsPage().submitInLineFormWithNameEmailAndCheckbox(&lt;br /&gt;
    &amp;quot;John Smith&amp;quot;,&lt;br /&gt;
    &amp;quot;john@test.com&amp;quot;,&lt;br /&gt;
    true&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
  await pm.navigateTo().datePickerPage()&lt;br /&gt;
  await pm.onDatePickerPage().selectCommonDatePickerDateFromToday(10)&lt;br /&gt;
  await pm.onDatePickerPage().selectDatePickerWithRangeFromToday(6 ,15)&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Page Objects Helper Base ===&lt;br /&gt;
File &amp;lt;code&amp;gt;page-objects\helperBase.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import { Page } from &amp;quot;@playwright/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export class HelperBase {&lt;br /&gt;
  readonly page: Page&lt;br /&gt;
&lt;br /&gt;
  constructor(page: Page) {&lt;br /&gt;
    this.page = page&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  async waitForNumberOfSeconds(timeInSeconds: number) {&lt;br /&gt;
    await this.page.waitForTimeout(timeInSeconds * 1000)&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File &amp;lt;code&amp;gt;page-objects\navigationPage.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
async formLayoutsPage() {&lt;br /&gt;
    await this.selectGroupMenuItem(&amp;quot;Forms&amp;quot;)&lt;br /&gt;
    await this.page.getByText(&amp;quot;Form Layouts&amp;quot;).click()&lt;br /&gt;
    await this.waitForNumberOfSeconds(2)&lt;br /&gt;
  }&lt;br /&gt;
...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which is used in &amp;lt;code&amp;gt;tests\usePageObjects.spec.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test(&amp;quot;Page Manger&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  const pm = new PageManager(page)&lt;br /&gt;
&lt;br /&gt;
  await pm.navigateTo().formLayoutsPage()&lt;br /&gt;
  await pm&lt;br /&gt;
    .onFormLayoutsPage()&lt;br /&gt;
    .submitUsingTheGridFormWithCredentialsAndSelectOption(&lt;br /&gt;
      &amp;quot;test@test.com&amp;quot;,&lt;br /&gt;
      &amp;quot;Welcome1&amp;quot;,&lt;br /&gt;
      &amp;quot;Option 2&amp;quot;&lt;br /&gt;
    )&lt;br /&gt;
  await pm&lt;br /&gt;
    .onFormLayoutsPage()&lt;br /&gt;
    .submitInLineFormWithNameEmailAndCheckbox(&lt;br /&gt;
      &amp;quot;John Smith&amp;quot;,&lt;br /&gt;
      &amp;quot;john@test.com&amp;quot;,&lt;br /&gt;
      true&lt;br /&gt;
    )&lt;br /&gt;
&lt;br /&gt;
  await pm.navigateTo().datePickerPage()&lt;br /&gt;
  await pm.onDatePickerPage().selectCommonDatePickerDateFromToday(10)&lt;br /&gt;
  await pm.onDatePickerPage().selectDatePickerWithRangeFromToday(6, 15)&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Section 7: Working With APIs ==&lt;br /&gt;
=== What is an API? ===&lt;br /&gt;
I'm reasonably familiar with API's. Just making some cursory notes for this lesson.&lt;br /&gt;
&lt;br /&gt;
Methods&lt;br /&gt;
* GET&lt;br /&gt;
* POST&lt;br /&gt;
* PUT&lt;br /&gt;
* DELETE&lt;br /&gt;
&lt;br /&gt;
Parts&lt;br /&gt;
* URL&lt;br /&gt;
* Headers&lt;br /&gt;
* Method&lt;br /&gt;
* Body&lt;br /&gt;
&lt;br /&gt;
Response Status Codes&lt;br /&gt;
* 200's - Success&lt;br /&gt;
* 300's - Redirection&lt;br /&gt;
* 400's - Client Error&lt;br /&gt;
* 500's - Server Error&lt;br /&gt;
&lt;br /&gt;
Playwright API Mocking&lt;br /&gt;
* powerful&lt;br /&gt;
* fast&lt;br /&gt;
* risky when API contracts are changing&lt;br /&gt;
&lt;br /&gt;
=== Setup New Project ===&lt;br /&gt;
* goto https://conduit.bondaracademy.com/&lt;br /&gt;
** open dev tools to observe network traffic&lt;br /&gt;
** create account&lt;br /&gt;
** create an article&lt;br /&gt;
** delete the article&lt;br /&gt;
*download &amp;amp; install Postman&lt;br /&gt;
&lt;br /&gt;
*VS Code&lt;br /&gt;
** Create new project folder &amp;lt;code&amp;gt;~/Repositories/PlaywrightUdemyCourse/pw-APITest-app&amp;lt;/code&amp;gt;&lt;br /&gt;
** open new terminal and run &amp;lt;code&amp;gt;npm init playwright@latest&amp;lt;/code&amp;gt;&lt;br /&gt;
** delete &amp;lt;code&amp;gt;test-examples&amp;lt;/code&amp;gt; folder&lt;br /&gt;
** rename &amp;lt;code&amp;gt;tests\example.spec.ts&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;tests\workingWithAPI.spec.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mocking an API Response ===&lt;br /&gt;
* Goto https://conduit.bondaracademy.com/&lt;br /&gt;
* check network tab in dev tools&lt;br /&gt;
* mocking the tags api call&lt;br /&gt;
file &amp;lt;code&amp;gt;tests\workingWithAPI.spec.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import { test, expect } from &amp;quot;@playwright/test&amp;quot;&lt;br /&gt;
import ressponseBody from &amp;quot;../test-data/tags.json&amp;quot;&lt;br /&gt;
&lt;br /&gt;
test.beforeEach(async ({ page }) =&amp;gt; {&lt;br /&gt;
  await page.route(&lt;br /&gt;
    &amp;quot;*/**/api/tags&amp;quot;,&lt;br /&gt;
    async (route) =&amp;gt; {&lt;br /&gt;
      await route.fulfill({&lt;br /&gt;
        body: JSON.stringify(ressponseBody),&lt;br /&gt;
      })&lt;br /&gt;
    }&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
  await page.goto(&amp;quot;https://conduit.bondaracademy.com/&amp;quot;)&lt;br /&gt;
})&lt;br /&gt;
&lt;br /&gt;
test(&amp;quot;has title&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  await expect(page.locator(&amp;quot;.navbar-brand&amp;quot;)).toHaveText(&amp;quot;conduit&amp;quot;)&lt;br /&gt;
  await expect(&lt;br /&gt;
    page.locator(&amp;quot;.tag-default.tag-pill&amp;quot;, { hasText: &amp;quot;Playwright&amp;quot; })&lt;br /&gt;
  ).toBeVisible()&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
file &amp;lt;code&amp;gt;test-data\tags.json&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;tags&amp;quot;: [&amp;quot;Automation&amp;quot;, &amp;quot;Playwright&amp;quot;]&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Modifying an API Response ===&lt;br /&gt;
Add the following code the the previous &amp;lt;code&amp;gt;test.beforeEach(...)&amp;lt;/code&amp;gt; call&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  await page.route(&amp;quot;*/**/api/articles*&amp;quot;, async (route) =&amp;gt; {&lt;br /&gt;
    const response = await route.fetch()&lt;br /&gt;
    const responseBody = await response.json()&lt;br /&gt;
    responseBody.articles[0].title = &amp;quot;This is a test title&amp;quot;&lt;br /&gt;
    responseBody.articles[0].description = &amp;quot;This is a description&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    await route.fulfill({ body: JSON.stringify(responseBody) })&lt;br /&gt;
  })&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Performing API Requests ===&lt;br /&gt;
To test the delete article function we need to first use the API to &lt;br /&gt;
* Login to obtain access token&lt;br /&gt;
* create an article&lt;br /&gt;
And then we can use web ui to &lt;br /&gt;
* Login&lt;br /&gt;
* go to Global Feed tab&lt;br /&gt;
* find &amp;amp; click the article we created&lt;br /&gt;
* delete the article&lt;br /&gt;
* refresh the Global Feed tab&lt;br /&gt;
* Confirm the article is no longer listed&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test(&amp;quot;Delete Article&amp;quot;, async ({ page, request }) =&amp;gt; {&lt;br /&gt;
  const response = await request.post(&lt;br /&gt;
    &amp;quot;https://conduit-api.bondaracademy.com/api/users/login&amp;quot;,&lt;br /&gt;
    {&lt;br /&gt;
      data: {&lt;br /&gt;
        user: {&lt;br /&gt;
          email: &amp;quot;conduit@dirksonline.net&amp;quot;,&lt;br /&gt;
          password: &amp;quot;qB85R86#ZMKME$jVEVq#vJMDr*A!cJk&amp;quot;,&lt;br /&gt;
        },&lt;br /&gt;
      },&lt;br /&gt;
    }&lt;br /&gt;
  )&lt;br /&gt;
  const responseBody = await response.json()&lt;br /&gt;
  const accessToken = responseBody.user.token&lt;br /&gt;
&lt;br /&gt;
  const articleResponse = await request.post(&lt;br /&gt;
    &amp;quot;https://conduit-api.bondaracademy.com/api/articles/&amp;quot;,&lt;br /&gt;
    {&lt;br /&gt;
      data: {&lt;br /&gt;
        article: {&lt;br /&gt;
          title: &amp;quot;Test Title&amp;quot;,&lt;br /&gt;
          description: &amp;quot;Test description&amp;quot;,&lt;br /&gt;
          body: &amp;quot;Test body&amp;quot;,&lt;br /&gt;
          tagList: [],&lt;br /&gt;
        },&lt;br /&gt;
      },&lt;br /&gt;
      headers: {&lt;br /&gt;
        Authorization: `Token ${accessToken}`,&lt;br /&gt;
      },&lt;br /&gt;
    }&lt;br /&gt;
  )&lt;br /&gt;
  expect(articleResponse.status()).toEqual(201)&lt;br /&gt;
&lt;br /&gt;
  await page.getByText('Global Feed').click()&lt;br /&gt;
  await page.getByText('Test Title').click()&lt;br /&gt;
  await page.getByRole('button',{name:'Delete Article'}).first().click()&lt;br /&gt;
  await page.getByText('Global Feed').click()&lt;br /&gt;
  await expect(page.locator(&amp;quot;app-article-list h1&amp;quot;).first()).not.toContainText(&lt;br /&gt;
    &amp;quot;Test Title&amp;quot;&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Intercept Browser API Response ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test(&amp;quot;create article&amp;quot;, async ({ page, request }) =&amp;gt; {&lt;br /&gt;
  // Use the web ui to create the article&lt;br /&gt;
  await page.getByText(&amp;quot;New Article&amp;quot;).click()&lt;br /&gt;
  await page&lt;br /&gt;
    .getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;Article Title&amp;quot; })&lt;br /&gt;
    .fill(&amp;quot;Playwright is awesome&amp;quot;)&lt;br /&gt;
  await page&lt;br /&gt;
    .getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;What's this article about?&amp;quot; })&lt;br /&gt;
    .fill(&amp;quot;About Playwright&amp;quot;)&lt;br /&gt;
  await page&lt;br /&gt;
    .getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;Write your article (in markdown)&amp;quot; })&lt;br /&gt;
    .fill(&amp;quot;We like to use Playwright for automation&amp;quot;)&lt;br /&gt;
  await page.getByRole(&amp;quot;button&amp;quot;, { name: &amp;quot;Publish Article&amp;quot; }).click()&lt;br /&gt;
&lt;br /&gt;
  // intercept the API response to extract the slug which is needed for clean up later&lt;br /&gt;
  const articleResponse = await page.waitForResponse(&lt;br /&gt;
    &amp;quot;https://conduit-api.bondaracademy.com/api/articles/&amp;quot;&lt;br /&gt;
  )&lt;br /&gt;
  const articleresponseBody = await articleResponse.json()&lt;br /&gt;
  const slugID = articleresponseBody.article.slug&lt;br /&gt;
&lt;br /&gt;
  // Assert that article was created&lt;br /&gt;
  await expect(page.locator(&amp;quot;.article-page h1&amp;quot;)).toContainText(&lt;br /&gt;
    &amp;quot;Playwright is awesome&amp;quot;&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
  // Go to global feed&lt;br /&gt;
  await page.getByText(&amp;quot;Home&amp;quot;).click()&lt;br /&gt;
  await page.getByText(&amp;quot;Global Feed&amp;quot;).click()&lt;br /&gt;
&lt;br /&gt;
  // Assert new article is listed&lt;br /&gt;
  await expect(page.locator(&amp;quot;app-article-list h1&amp;quot;).first()).toContainText(&lt;br /&gt;
    &amp;quot;Playwright is awesome&amp;quot;&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
  // Clean up&lt;br /&gt;
  // Obtain access token for API call&lt;br /&gt;
  const response = await request.post(&lt;br /&gt;
    &amp;quot;https://conduit-api.bondaracademy.com/api/users/login&amp;quot;,&lt;br /&gt;
    {&lt;br /&gt;
      data: {&lt;br /&gt;
        user: {&lt;br /&gt;
          email: &amp;quot;conduit@dirksonline.net&amp;quot;,&lt;br /&gt;
          password: &amp;quot;qB85R86#ZMKME$jVEVq#vJMDr*A!cJk&amp;quot;,&lt;br /&gt;
        },&lt;br /&gt;
      },&lt;br /&gt;
    }&lt;br /&gt;
  )&lt;br /&gt;
  const responseBody = await response.json()&lt;br /&gt;
  const accessToken = responseBody.user.token&lt;br /&gt;
&lt;br /&gt;
  // delete the article using the slug extracted earlier&lt;br /&gt;
  const articleDeleteResponse = await request.delete(&lt;br /&gt;
    `https://conduit-api.bondaracademy.com/api/articles/${slugID}`,&lt;br /&gt;
    {&lt;br /&gt;
      headers: {&lt;br /&gt;
        Authorization: `Token ${accessToken}`,&lt;br /&gt;
      },&lt;br /&gt;
    }&lt;br /&gt;
  )&lt;br /&gt;
  expect(articleDeleteResponse.status()).toEqual(204)&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes: &lt;br /&gt;
* should really only login once and re-use the access token&lt;br /&gt;
* should be refactored using page objects to improve readability&lt;br /&gt;
&lt;br /&gt;
=== Sharing Authentication State ===&lt;br /&gt;
Create new folder &amp;lt;code&amp;gt;.auth&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create new file &amp;lt;code&amp;gt;tests\auth.setup.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import { test as setup } from &amp;quot;@playwright/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
const authfile = &amp;quot;.auth/user.json&amp;quot;&lt;br /&gt;
&lt;br /&gt;
setup(&amp;quot;authentication&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  await page.goto(&amp;quot;https://conduit.bondaracademy.com/&amp;quot;)&lt;br /&gt;
  await page.getByText(&amp;quot;Sign in&amp;quot;).click()&lt;br /&gt;
  await page&lt;br /&gt;
    .getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;Email&amp;quot; })&lt;br /&gt;
    .fill(&amp;quot;conduit@dirksonline.net&amp;quot;)&lt;br /&gt;
  await page&lt;br /&gt;
    .getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;Password&amp;quot; })&lt;br /&gt;
    .fill(&amp;quot;qB85R86#ZMKME$jVEVq#vJMDr*A!cJk&amp;quot;)&lt;br /&gt;
  await page.getByRole(&amp;quot;button&amp;quot;).click()&lt;br /&gt;
&lt;br /&gt;
  await page.waitForResponse('https://conduit-api.bondaracademy.com/api/tags')&lt;br /&gt;
                              &lt;br /&gt;
  await page.context().storageState({ path: authfile })&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In file&amp;lt;code&amp;gt;playwright.config.ts&amp;lt;/code&amp;gt; update &amp;lt;code&amp;gt;projects&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  /* Configure projects for major browsers */&lt;br /&gt;
  projects: [&lt;br /&gt;
    { name: &amp;quot;setup&amp;quot;, testMatch: &amp;quot;auth.setup.ts&amp;quot; },&lt;br /&gt;
    {&lt;br /&gt;
      name: &amp;quot;chromium&amp;quot;,&lt;br /&gt;
      use: { ...devices[&amp;quot;Desktop Chrome&amp;quot;], storageState: &amp;quot;.auth/user.json&amp;quot; },&lt;br /&gt;
      dependencies: [&amp;quot;setup&amp;quot;],&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      name: &amp;quot;firefox&amp;quot;,&lt;br /&gt;
      use: { ...devices[&amp;quot;Desktop Firefox&amp;quot;], storageState: &amp;quot;.auth/user.json&amp;quot; },&lt;br /&gt;
      dependencies: [&amp;quot;setup&amp;quot;],&lt;br /&gt;
    },&lt;br /&gt;
&lt;br /&gt;
    {&lt;br /&gt;
      name: &amp;quot;webkit&amp;quot;,&lt;br /&gt;
      use: { ...devices[&amp;quot;Desktop Safari&amp;quot;], storageState: &amp;quot;.auth/user.json&amp;quot; },&lt;br /&gt;
      dependencies: [&amp;quot;setup&amp;quot;],&lt;br /&gt;
    },&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Delete the login steps from &amp;lt;code&amp;gt;test.beforeEach(...)&amp;lt;/code&amp;gt;, but leave the &amp;lt;code&amp;gt;page.goto(...)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes: &lt;br /&gt;
* this all seems a little spooky, I'd prefer something in a beforeXXX(...) hook that saves something that is recalled .... will need to look a bit deeper into the &amp;lt;code&amp;gt;page.context().storageState()&amp;lt;/code&amp;gt; stuff&lt;br /&gt;
* something is broken in v1.44.0 and needed to down grade to 1.43.0 (&lt;br /&gt;
** update package.json &amp;quot;@playwright/test&amp;quot;: &amp;quot;1.43.0&amp;quot;&lt;br /&gt;
** delete package-lock.json&lt;br /&gt;
** run &amp;lt;code&amp;gt;npm install&amp;lt;/code&amp;gt;&lt;br /&gt;
** run &amp;lt;code&amp;gt;npx playwright install&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API Authentication ===&lt;br /&gt;
File &amp;lt;code&amp;gt;tests/auth.setup.ts&amp;lt;/code&amp;gt; change to use API and save to file &amp;lt;code&amp;gt;.auth\user.json&amp;lt;/code&amp;gt; env variable &amp;lt;code&amp;gt;ACCESS_TOKEN&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
setup(&amp;quot;authentication&amp;quot;, async ({ request }) =&amp;gt; {&lt;br /&gt;
  const response = await request.post(&lt;br /&gt;
    &amp;quot;https://conduit-api.bondaracademy.com/api/users/login&amp;quot;,&lt;br /&gt;
    {&lt;br /&gt;
      data: {&lt;br /&gt;
        user: {&lt;br /&gt;
          email: &amp;quot;conduit@dirksonline.net&amp;quot;,&lt;br /&gt;
          password: &amp;quot;qB85R86#ZMKME$jVEVq#vJMDr*A!cJk&amp;quot;,&lt;br /&gt;
        },&lt;br /&gt;
      },&lt;br /&gt;
    }&lt;br /&gt;
  )&lt;br /&gt;
  const responseBody = await response.json()&lt;br /&gt;
  const accessToken = responseBody.user.token&lt;br /&gt;
  user.origins[0].localStorage[0].value = accessToken&lt;br /&gt;
  fs.writeFileSync(authfile, JSON.stringify(user))&lt;br /&gt;
  process.env['ACCESS_TOKEN'] = accessToken&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File &amp;lt;code&amp;gt;tests/workingWithAPI.spec.ts&amp;lt;/code&amp;gt; remove all code for obtaining access token, and for specifying the access token header&lt;br /&gt;
&lt;br /&gt;
File &amp;lt;code&amp;gt;playwright.config.ts&amp;lt;/code&amp;gt; add &amp;lt;code&amp;gt;extraHTTPHeaders&amp;lt;/code&amp;gt; node&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export default defineConfig({&lt;br /&gt;
  ...  &lt;br /&gt;
  use: {&lt;br /&gt;
    ...&lt;br /&gt;
    extraHTTPHeaders: {&lt;br /&gt;
      'Authorization': `Token ${process.env.ACCESS_TOKEN}`&lt;br /&gt;
    }&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes: &lt;br /&gt;
* tried playwright@1.44.1 which still gives issues with the setup settings/file etc. continued using 1.43.0&lt;br /&gt;
* This relies on &amp;lt;code&amp;gt;.auth\user.json&amp;lt;/code&amp;gt; existing with the correct format, but it is in .gitignore so a clean clone of repo will not work&lt;br /&gt;
* I do like how this now removes a lot of boiler code from test cases. &lt;br /&gt;
* I wonder, given that the auth header is now always included via the env variable, is the &amp;lt;code&amp;gt;.auth\user.json&amp;lt;/code&amp;gt; still needed? (Might also need removing storageState values from the &amp;lt;code&amp;gt;playwright.config.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Section 8: Advanced ==&lt;br /&gt;
=== npm Scripts and CLI Commands ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
npx playwright test usePageObjects.spec.ts --project=chromium&lt;br /&gt;
npx playwright show-report&lt;br /&gt;
npx playwright test usePageObjects.spec.ts --project=firefox&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In file: &amp;lt;code&amp;gt;package.json&amp;lt;/code&amp;gt; add these to scripts node&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;quot;pageObjects-chrome&amp;quot;: &amp;quot;npx playwright test usePageObjects.spec.ts --project=chromium&amp;quot;,&lt;br /&gt;
&amp;quot;pageObjects-firefox&amp;quot;: &amp;quot;npx playwright test usePageObjects.spec.ts --project=firefox&amp;quot;,&lt;br /&gt;
&amp;quot;pageObjects-all&amp;quot;: &amp;quot;npm run pageObjects-chrome &amp;amp; npm run pageObjects-firefox&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
npm run pageObjects-chrome&lt;br /&gt;
npm run pageObjects-firefox&lt;br /&gt;
npm run pageObjects-all&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* &amp;amp;&amp;amp; runs sequentially&lt;br /&gt;
* &amp;amp; runs parallely&lt;br /&gt;
* On windows npm scripts are executed in cmd.exe by default, use this to change it to bash &amp;lt;code&amp;gt;npm config set script-shell &amp;quot;C:/Program Files/Git/bin/bash.exe&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test Data Generator ===&lt;br /&gt;
Install faker with &amp;lt;code&amp;gt;npm i @faker-js/faker --save-dev --force&amp;lt;/code&amp;gt; (force because it has several CVE's)&lt;br /&gt;
&lt;br /&gt;
Update test in &amp;lt;code&amp;gt;tests\usePageObjects.spec.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test(&amp;quot;Page Manger&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  const pm = new PageManager(page)&lt;br /&gt;
  const randomFullName = faker.person.fullName({&lt;br /&gt;
    // sex: &amp;quot;male&amp;quot;,       // specify sex (optional)&lt;br /&gt;
    // lastName: &amp;quot;Johns&amp;quot;, // specify last name (optional)&lt;br /&gt;
  })&lt;br /&gt;
  const randomEmail = `${randomFullName.replace(/ /g, &amp;quot;&amp;quot;)}${faker.number.int(&lt;br /&gt;
    1000&lt;br /&gt;
  )}@test.com`&lt;br /&gt;
&lt;br /&gt;
  await pm.navigateTo().formLayoutsPage()&lt;br /&gt;
  await pm&lt;br /&gt;
    .onFormLayoutsPage()&lt;br /&gt;
    .submitUsingTheGridFormWithCredentialsAndSelectOption(&lt;br /&gt;
      &amp;quot;test@test.com&amp;quot;,&lt;br /&gt;
      &amp;quot;Welcome1&amp;quot;,&lt;br /&gt;
      &amp;quot;Option 2&amp;quot;&lt;br /&gt;
    )&lt;br /&gt;
  await pm&lt;br /&gt;
    .onFormLayoutsPage()&lt;br /&gt;
    .submitInLineFormWithNameEmailAndCheckbox(randomFullName, randomEmail, true)&lt;br /&gt;
&lt;br /&gt;
  await pm.navigateTo().datePickerPage()&lt;br /&gt;
  await pm.onDatePickerPage().selectCommonDatePickerDateFromToday(10)&lt;br /&gt;
  await pm.onDatePickerPage().selectDatePickerWithRangeFromToday(6, 15)&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* The faker fullName() method can sometimes add title prefixes, suffixes, etc., which look very odd in email addresses ....&lt;br /&gt;
&lt;br /&gt;
=== Test Retries ===&lt;br /&gt;
* workers are clean incognito browser windows&lt;br /&gt;
* worker is re-used after completing a passing test&lt;br /&gt;
* a new worker is started after a failed test&lt;br /&gt;
* with retries on the failed test is retried in the new worker&lt;br /&gt;
* with retries off the next test is started in the new worker&lt;br /&gt;
&lt;br /&gt;
In file &amp;lt;code&amp;gt;playwright.config.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export default defineConfig({&lt;br /&gt;
  ...&lt;br /&gt;
  /* Retry on CI only */&lt;br /&gt;
  retries: process.env.CI ? 2 : 1,&lt;br /&gt;
  use: {&lt;br /&gt;
    ...&lt;br /&gt;
    /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */&lt;br /&gt;
    trace: &amp;quot;on-first-retry&amp;quot;, //['on-first-retry', 'on-all-retries', 'off', 'on', 'retain-on-failure']&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In file &amp;lt;code&amp;gt;tests\uiComponents.spec.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test.describe.only(&amp;quot;Forms Layouts page&amp;quot;, () =&amp;gt; {&lt;br /&gt;
  test.describe.configure({ retries: 2,  })&lt;br /&gt;
&lt;br /&gt;
  test.beforeEach(async ({ page }, testInfo) =&amp;gt; {&lt;br /&gt;
    if(testInfo.retry){&lt;br /&gt;
      // can clean up from previous failed attempt&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
  })&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes: &lt;br /&gt;
* Having trace on-first-retry is very cool&lt;br /&gt;
&lt;br /&gt;
=== Parallel Execution ===&lt;br /&gt;
* worker per &amp;lt;code&amp;gt;*.spec.ts&amp;lt;/code&amp;gt; file&lt;br /&gt;
* inside &amp;lt;code&amp;gt;*.spec.ts&amp;lt;/code&amp;gt; files test cases are execute sequentially&lt;br /&gt;
&lt;br /&gt;
In file &amp;lt;code&amp;gt;playwright.config.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
fullyParallel: false,&lt;br /&gt;
workers: process.env.CI ? 1 : undefined,&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fullyParallel&amp;lt;/code&amp;gt; is used to guide within a spec file &lt;br /&gt;
* undefined workers allows playwright to decide, usually one per spec file&lt;br /&gt;
&lt;br /&gt;
Can override config values inside &amp;lt;code&amp;gt;*.spec.ts&amp;lt;/code&amp;gt; files &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test.describe.configure({mode:'parallel'}) // spec file root level&lt;br /&gt;
...&lt;br /&gt;
test.describe.parallel(&amp;quot;Forms Layouts page&amp;quot;, () =&amp;gt; { // in test suite&lt;br /&gt;
...&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Screenshots and Videos ===&lt;br /&gt;
&lt;br /&gt;
In Code&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
await page.screenshot({ path: &amp;quot;screenshots/formsLayoutsPage.png&amp;quot; })&lt;br /&gt;
&lt;br /&gt;
const buffer = await page.screenshot()&lt;br /&gt;
console.log(buffer.toString('base64'))&lt;br /&gt;
&lt;br /&gt;
await page.locator(&amp;quot;nb-card&amp;quot;, {hasText: &amp;quot;Inline form&amp;quot; }).screenshot({ path: &amp;quot;screenshots/inlineForm.png&amp;quot; })&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In file &amp;lt;code&amp;gt;playwright.config.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export default defineConfig({&lt;br /&gt;
  ...&lt;br /&gt;
  /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */&lt;br /&gt;
  use: {&lt;br /&gt;
    ...&lt;br /&gt;
    video: 'on',&lt;br /&gt;
    .. or ..&lt;br /&gt;
    video: {&lt;br /&gt;
      mode: &amp;quot;on&amp;quot;,&lt;br /&gt;
      size: { width: 1920, height: 1080 },&lt;br /&gt;
    },&lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  /* Configure projects for major browsers */&lt;br /&gt;
  projects: [&lt;br /&gt;
    {&lt;br /&gt;
      name: &amp;quot;chromium&amp;quot;,&lt;br /&gt;
      use: {&lt;br /&gt;
        ...devices[&amp;quot;Desktop Chrome&amp;quot;],&lt;br /&gt;
        viewport: { width: 1920, height: 1080 },&lt;br /&gt;
      },&lt;br /&gt;
    },&lt;br /&gt;
  ...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Environment Variables ===&lt;br /&gt;
There are many ways to specify environment specific values&lt;br /&gt;
&lt;br /&gt;
In file &amp;lt;code&amp;gt;playwright.config.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export default defineConfig&amp;lt;TestOptions&amp;gt;({&lt;br /&gt;
  ...&lt;br /&gt;
  use: {&lt;br /&gt;
    /* Base URL to use in actions like `await page.goto('/')`. */&lt;br /&gt;
    baseURL: 'http://localhost:4200',&lt;br /&gt;
    .. or ..&lt;br /&gt;
    baseURL: process.env.DEV ? 'http://the.dev.env.com'&lt;br /&gt;
     : process.env.STAGING ? 'http://the.staging.env.com' &lt;br /&gt;
     : 'http://localhost:4200',&lt;br /&gt;
  ...&lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
.. or ..&lt;br /&gt;
  /* Configure projects for major browsers */&lt;br /&gt;
  projects: [&lt;br /&gt;
    {&lt;br /&gt;
      name: &amp;quot;Dev&amp;quot;,&lt;br /&gt;
      use: {&lt;br /&gt;
        baseURL: 'http://the.dev.env.com',        &lt;br /&gt;
      },&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      name: &amp;quot;Staging&amp;quot;,&lt;br /&gt;
      use: {&lt;br /&gt;
        baseURL: 'http://the.staging.env.com',        &lt;br /&gt;
      },&lt;br /&gt;
    },&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or Extend&lt;br /&gt;
Create file &amp;lt;code&amp;gt;test-options.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import {test as base} from '@playwright/test'&lt;br /&gt;
&lt;br /&gt;
export type TestOptions = {&lt;br /&gt;
    globalsQaURL: string&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
export const test = base.extend&amp;lt;TestOptions&amp;gt;({&lt;br /&gt;
    globalsQaURL: ['', {option:true}]&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import type { TestOptions } from &amp;quot;./test-options&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
export default defineConfig&amp;lt;TestOptions&amp;gt;({&lt;br /&gt;
  ...&lt;br /&gt;
  use: {&lt;br /&gt;
    ...&lt;br /&gt;
    globalsQaURL: 'https://www.globalsqa.com/demo-site/draganddrop/',&lt;br /&gt;
    ...&lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
.. or ..&lt;br /&gt;
  /* Configure projects for major browsers */&lt;br /&gt;
  projects: [&lt;br /&gt;
    {&lt;br /&gt;
      name: &amp;quot;Dev&amp;quot;,&lt;br /&gt;
      use: {&lt;br /&gt;
        ...&lt;br /&gt;
        globalsQaURL: 'https://dev.globalsqa.com/demo-site/draganddrop/',&lt;br /&gt;
        ...&lt;br /&gt;
      },&lt;br /&gt;
    },&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then in &amp;lt;code&amp;gt;*.spec.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test(&amp;quot;drag and drop with iframe&amp;quot;, async ({ page, globalsQaURL }) =&amp;gt; {&lt;br /&gt;
  await page.goto(globalsQaURL)&lt;br /&gt;
  ...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;lt;code&amp;gt;process.env&amp;lt;/code&amp;gt; OS environment variables (but there'll be shell and OS variations though) &lt;br /&gt;
Assuming bash shell. &lt;br /&gt;
Specify variable in file &amp;lt;code&amp;gt;package.json&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  &amp;quot;scripts&amp;quot;: {&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;quot;pageObjects-chrome&amp;quot;: &amp;quot;npx playwright test usePageObjects.spec.ts --project=chromium&amp;quot;,&lt;br /&gt;
    &amp;quot;autoWait-dev&amp;quot;: &amp;quot;URL=http://uitestingplayground.com/ajax npm run pageObjects-chrome&amp;quot;&lt;br /&gt;
  },&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then in &amp;lt;code&amp;gt;*.spec.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test.beforeEach(async ({ page }) =&amp;gt; {&lt;br /&gt;
  await page.goto(process.env.URL)&lt;br /&gt;
  ...&lt;br /&gt;
})&lt;br /&gt;
...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or use a &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file&lt;br /&gt;
In file &amp;lt;code&amp;gt;playwright.config.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
/**&lt;br /&gt;
 * Read environment variables from file.&lt;br /&gt;
 * https://github.com/motdotla/dotenv&lt;br /&gt;
 */&lt;br /&gt;
require('dotenv').config(); //or ...config({ path: '/custom/path/to/.env' })&lt;br /&gt;
...&amp;lt;/nowiki.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
URL=http://uitestingplayground.com/ajax&lt;br /&gt;
TESTUSERNAME=test@test.com&lt;br /&gt;
PASSWORD=Welcome1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Making sure to add &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;.gitignore&amp;lt;/code&amp;gt; to avoid leaking credentials to repo. &lt;br /&gt;
&lt;br /&gt;
I like to create a &amp;lt;code&amp;gt;.env.template&amp;lt;/code&amp;gt; file&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
URL=http://uitestingplayground.com/ajax&lt;br /&gt;
TESTUSERNAME=test@test.com&lt;br /&gt;
PASSWORD=***REPLACE-ME***&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration File ===&lt;br /&gt;
Cleaning up &amp;lt;code&amp;gt;playwright.config.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
* removing default settings&lt;br /&gt;
* removing comments&lt;br /&gt;
&lt;br /&gt;
There are &lt;br /&gt;
* global settings, and &lt;br /&gt;
* global runtime settings in the &amp;lt;code&amp;gt;use:{...}&amp;lt;/code&amp;gt; block. &lt;br /&gt;
&lt;br /&gt;
Then inside the &amp;lt;code&amp;gt;projects[{...},{...} ...]&amp;lt;/code&amp;gt; array each node has a name, and can then override any of the global settings, and runtime settings in a &amp;lt;code&amp;gt;use:{...}&amp;lt;/code&amp;gt; subblock.&lt;br /&gt;
&lt;br /&gt;
You can also create and use entirely separate &amp;lt;code&amp;gt;*.config.ts&amp;lt;/code&amp;gt; files and run them with &amp;lt;code&amp;gt;npx playwright test --config=playwright-prod.config.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also see [https://playwright.dev/docs/test-configuration test configuration] and [https://playwright.dev/docs/test-use-options test use options] in the Playwright documentation.&lt;br /&gt;
&lt;br /&gt;
=== Fixtures ===&lt;br /&gt;
* Power tool to setup the test environment&lt;br /&gt;
* custom fixtures extend the base test object&lt;br /&gt;
* you can auto load fixtures&lt;br /&gt;
* you can create dependencies between fixtures&lt;br /&gt;
* you can also specify tear down code&lt;br /&gt;
&lt;br /&gt;
Update file &amp;lt;code&amp;gt;test-options.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import { test as base } from &amp;quot;@playwright/test&amp;quot;&lt;br /&gt;
import { PageManager } from &amp;quot;./page-objects/pageManager&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export type TestOptions = {&lt;br /&gt;
  globalsQaURL: string&lt;br /&gt;
  formLayoutsPage: string&lt;br /&gt;
  pageManager: PageManager&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
export const test = base.extend&amp;lt;TestOptions&amp;gt;({&lt;br /&gt;
  globalsQaURL: [&amp;quot;&amp;quot;, { option: true }],&lt;br /&gt;
&lt;br /&gt;
  formLayoutsPage: async ({ page }, use) =&amp;gt; {&lt;br /&gt;
    await page.goto(&amp;quot;/&amp;quot;)&lt;br /&gt;
    await page.getByText(&amp;quot;Forms&amp;quot;).click()&lt;br /&gt;
    await page.getByText(&amp;quot;Form Layouts&amp;quot;).click()&lt;br /&gt;
    await use(&amp;quot;&amp;quot;)&lt;br /&gt;
    console.log('Tear Down formLayoutsPage')&lt;br /&gt;
  },&lt;br /&gt;
  // { auto: true }],&lt;br /&gt;
&lt;br /&gt;
  pageManager: async ({ page, formLayoutsPage }, use) =&amp;gt; {  // pageManager depends on formLayoutsPage &lt;br /&gt;
    const pm = new PageManager(page)&lt;br /&gt;
    await use(pm)&lt;br /&gt;
    console.log('Tear Down pageManager')&lt;br /&gt;
  },&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create new file &amp;lt;code&amp;gt;tests\testWithFictures.spec.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import { test } from &amp;quot;../test-options&amp;quot;&lt;br /&gt;
import { faker } from &amp;quot;@faker-js/faker&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//test(&amp;quot;parameterised methods&amp;quot;, async ({ page, formLayoutsPage }) =&amp;gt; { // using formLayoutsPage fixture &lt;br /&gt;
//test(&amp;quot;parameterised methods&amp;quot;, async ({ page }) =&amp;gt; {       // using {auto:true} in formLayoutsPage fixture&lt;br /&gt;
test(&amp;quot;parameterised methods&amp;quot;, async ({ pageManager }) =&amp;gt; {  // using new pageManager fixture&lt;br /&gt;
  const randomFullName = faker.person.fullName()&lt;br /&gt;
  const randomEmail = `${randomFullName.replace(/ /g, &amp;quot;&amp;quot;)}${faker.number.int(&lt;br /&gt;
    1000&lt;br /&gt;
  )}@test.com`&lt;br /&gt;
&lt;br /&gt;
  await pageManager&lt;br /&gt;
    .onFormLayoutsPage()&lt;br /&gt;
    .submitUsingTheGridFormWithCredentialsAndSelectOption(&lt;br /&gt;
      process.env.TESTUSERNAME,&lt;br /&gt;
      process.env.PASSWORD,&lt;br /&gt;
      &amp;quot;Option 2&amp;quot;&lt;br /&gt;
    )&lt;br /&gt;
&lt;br /&gt;
  await pageManager&lt;br /&gt;
    .onFormLayoutsPage()&lt;br /&gt;
    .submitInLineFormWithNameEmailAndCheckbox(randomFullName, randomEmail, true)&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Setup and Teardown ===&lt;br /&gt;
&lt;br /&gt;
1. Create &amp;lt;code&amp;gt;tests\newArticle.setup.ts&amp;lt;/code&amp;gt; to create a new article via API&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import { expect, test as setup } from &amp;quot;@playwright/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
setup(&amp;quot;create new article&amp;quot;, async ({ request }) =&amp;gt; {&lt;br /&gt;
  const articleResponse = await request.post(&lt;br /&gt;
    &amp;quot;https://conduit-api.bondaracademy.com/api/articles/&amp;quot;,&lt;br /&gt;
    {&lt;br /&gt;
      data: {&lt;br /&gt;
        article: {&lt;br /&gt;
          title: &amp;quot;Likes Test Article&amp;quot;,&lt;br /&gt;
          description: &amp;quot;Test description&amp;quot;,&lt;br /&gt;
          body: &amp;quot;Test body&amp;quot;,&lt;br /&gt;
          tagList: [],&lt;br /&gt;
        },&lt;br /&gt;
      },&lt;br /&gt;
    }&lt;br /&gt;
  )&lt;br /&gt;
  expect(articleResponse.status()).toEqual(201)&lt;br /&gt;
&lt;br /&gt;
  const response = await articleResponse.json()&lt;br /&gt;
  const slugId = response.article.slug&lt;br /&gt;
  process.env[&amp;quot;SLUGID&amp;quot;] = slugId&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
2. Create &amp;lt;code&amp;gt;tests\likesCounter.spec.ts&amp;lt;/code&amp;gt; to test the like counter&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
test(&amp;quot;Like counter increase&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  await page.goto(&amp;quot;https://conduit.bondaracademy.com/&amp;quot;)&lt;br /&gt;
  await page.getByText(&amp;quot;Global Feed&amp;quot;).click()&lt;br /&gt;
  const firstLikeButton = page&lt;br /&gt;
    .locator(&amp;quot;app-article-preview&amp;quot;)&lt;br /&gt;
    .first()&lt;br /&gt;
    .locator(&amp;quot;button&amp;quot;)&lt;br /&gt;
  await expect(firstLikeButton).toContainText(&amp;quot;0&amp;quot;)&lt;br /&gt;
  await firstLikeButton.click()&lt;br /&gt;
  await expect(firstLikeButton).toContainText(&amp;quot;1&amp;quot;)&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
3. Create &amp;lt;code&amp;gt;tests\articleCleanUp.setup.ts&amp;lt;/code&amp;gt; to clean up (ie. delete) the article created via API&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
setup(&amp;quot;delete article&amp;quot;, async ({ request }) =&amp;gt; {&lt;br /&gt;
  // Clean up&lt;br /&gt;
  // delete the article using the slug extracted earlier&lt;br /&gt;
  const articleDeleteResponse = await request.delete(&lt;br /&gt;
    `https://conduit-api.bondaracademy.com/api/articles/${process.env.SLUGID}`&lt;br /&gt;
  )&lt;br /&gt;
  expect(articleDeleteResponse.status()).toEqual(204)&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
4. Update &amp;lt;code&amp;gt;playwright.config.ts&amp;lt;/code&amp;gt; to create new projects&lt;br /&gt;
:* articleSetup (with dependency on setup to fetch auth token, and using teardown)&lt;br /&gt;
:* likeCounter (with dependency on articleSetup)&lt;br /&gt;
:* articleCleanUp&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
export default defineConfig({&lt;br /&gt;
  ...&lt;br /&gt;
  projects: [&lt;br /&gt;
    { name: &amp;quot;setup&amp;quot;, testMatch: &amp;quot;auth.setup.ts&amp;quot; },&lt;br /&gt;
    {&lt;br /&gt;
      name: &amp;quot;articleSetup&amp;quot;,&lt;br /&gt;
      testMatch: &amp;quot;newArticle.setup.ts&amp;quot;,&lt;br /&gt;
      dependencies: [&amp;quot;setup&amp;quot;],&lt;br /&gt;
      teardown: &amp;quot;articleCleanUp&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      name: &amp;quot;articleCleanUp&amp;quot;,&lt;br /&gt;
      testMatch: &amp;quot;articleCleanUp.setup.ts&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      name: &amp;quot;likeCounter&amp;quot;,&lt;br /&gt;
      testMatch: &amp;quot;likesCounter.spec.ts&amp;quot;,&lt;br /&gt;
      use: { ...devices[&amp;quot;Desktop Chrome&amp;quot;], storageState: &amp;quot;.auth/user.json&amp;quot; },&lt;br /&gt;
      dependencies: [&amp;quot;articleSetup&amp;quot;],&lt;br /&gt;
    },&lt;br /&gt;
  ],&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Global Setup and Teardown ===&lt;br /&gt;
1. Create file &amp;lt;code&amp;gt;global-setup.ts&amp;lt;/code&amp;gt; with more or less same code as file &amp;lt;code&amp;gt;tests\newArticle.setup.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import { expect, request } from &amp;quot;@playwright/test&amp;quot;&lt;br /&gt;
import user from &amp;quot;./.auth/user.json&amp;quot;&lt;br /&gt;
import fs from &amp;quot;fs&amp;quot;&lt;br /&gt;
&lt;br /&gt;
async function globalSetup() {&lt;br /&gt;
  const authfile = &amp;quot;.auth/user.json&amp;quot;&lt;br /&gt;
  const context = await request.newContext()&lt;br /&gt;
&lt;br /&gt;
  const responseToken = await context.post(...  )&lt;br /&gt;
  const responseBody = await responseToken.json()&lt;br /&gt;
  const accessToken = responseBody.user.token&lt;br /&gt;
&lt;br /&gt;
  user.origins[0].localStorage[0].value = accessToken&lt;br /&gt;
  fs.writeFileSync(authfile, JSON.stringify(user))&lt;br /&gt;
  process.env[&amp;quot;ACCESS_TOKEN&amp;quot;] = accessToken&lt;br /&gt;
&lt;br /&gt;
  const articleResponse = await context.post(...)&lt;br /&gt;
  expect(articleResponse.status()).toEqual(201)&lt;br /&gt;
&lt;br /&gt;
  const articleResponseBody = await articleResponse.json()&lt;br /&gt;
  const slugId = articleResponseBody.article.slug&lt;br /&gt;
  process.env[&amp;quot;SLUGID&amp;quot;] = slugId&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
export default globalSetup&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Create file &amp;lt;code&amp;gt;global-teardown.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import { request, expect } from &amp;quot;@playwright/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
async function globalTeardown() {&lt;br /&gt;
  const context = await request.newContext()&lt;br /&gt;
&lt;br /&gt;
  // Clean up&lt;br /&gt;
  // delete the article using the slug extracted earlier&lt;br /&gt;
  const articleDeleteResponse = await context.delete(&lt;br /&gt;
    `https://conduit-api.bondaracademy.com/api/articles/${process.env.SLUGID}`,&lt;br /&gt;
    {&lt;br /&gt;
      headers: { Authorization: `Token ${process.env.ACCESS_TOKEN}` },&lt;br /&gt;
    }&lt;br /&gt;
  )&lt;br /&gt;
  expect(articleDeleteResponse.status()).toEqual(204)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
export default globalTeardown&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Create file &amp;lt;code&amp;gt;tests\likesCounterGlobal.spec.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import { test, expect, request } from &amp;quot;@playwright/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
test(&amp;quot;Like counter increase&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  await page.goto(&amp;quot;https://conduit.bondaracademy.com/&amp;quot;)&lt;br /&gt;
  await page.getByText(&amp;quot;Global Feed&amp;quot;).click()&lt;br /&gt;
  const firstLikeButton = page&lt;br /&gt;
    .locator(&amp;quot;app-article-preview&amp;quot;)&lt;br /&gt;
    .first()&lt;br /&gt;
    .locator(&amp;quot;button&amp;quot;)&lt;br /&gt;
  await expect(firstLikeButton).toContainText(&amp;quot;0&amp;quot;)&lt;br /&gt;
  await firstLikeButton.click()&lt;br /&gt;
  await expect(firstLikeButton).toContainText(&amp;quot;1&amp;quot;)&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Update file &amp;lt;code&amp;gt;playwright.config.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export default defineConfig({&lt;br /&gt;
  ...&lt;br /&gt;
  globalSetup: require.resolve(&amp;quot;./global-setup.ts&amp;quot;),&lt;br /&gt;
  globalTeardown: require.resolve(&amp;quot;./global-teardown.ts&amp;quot;),&lt;br /&gt;
&lt;br /&gt;
  projects: [&lt;br /&gt;
    ...&lt;br /&gt;
    {&lt;br /&gt;
      name: &amp;quot;likeCounterGlobal&amp;quot;,&lt;br /&gt;
      testMatch: &amp;quot;likesCounterGlobal.spec.ts&amp;quot;,&lt;br /&gt;
      use: { ...devices[&amp;quot;Desktop Chrome&amp;quot;], storageState: &amp;quot;.auth/user.json&amp;quot; },&lt;br /&gt;
    },&lt;br /&gt;
  ],&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test Tags ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
test(&amp;quot;navigate to all pages @smoke @regression&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
...&lt;br /&gt;
test(&amp;quot;parameterised methods @smoke&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
...&lt;br /&gt;
test.describe(&amp;quot;Forms Layouts page @block&amp;quot;, () =&amp;gt; {&lt;br /&gt;
  test.describe.configure({ retries: 2 })&lt;br /&gt;
  test(&amp;quot;input fields&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  ...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
npx playwright test --project=chromium --grep @smoke&lt;br /&gt;
npx playwright test --project=chromium --grep @regression&lt;br /&gt;
npx playwright test --project=chromium --grep @block&lt;br /&gt;
npx playwright test --project=chromium --grep &amp;quot;@block|@smoke&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mobile Device Emulator ===&lt;br /&gt;
1. Create new file &amp;lt;code&amp;gt;tests/testMobile.spec.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import { test } from &amp;quot;@playwright/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
test(&amp;quot;input fields&amp;quot;, async ({ page }, testInfo) =&amp;gt; {&lt;br /&gt;
  await page.goto(&amp;quot;/&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  const isMobile = testInfo.project.name === 'mobile'&lt;br /&gt;
&lt;br /&gt;
  isMobile &amp;amp;&amp;amp; await page.locator('.sidebar-toggle').click() // to show the sidebar which is hidden for mobile devices&lt;br /&gt;
  await page.getByText(&amp;quot;Forms&amp;quot;).click()&lt;br /&gt;
  await page.getByText(&amp;quot;Form Layouts&amp;quot;).click()&lt;br /&gt;
  isMobile &amp;amp;&amp;amp; await page.locator('.sidebar-toggle').click()&lt;br /&gt;
&lt;br /&gt;
  const usingTheGridEmailInput = page&lt;br /&gt;
    .locator(&amp;quot;nb-card&amp;quot;, { hasText: &amp;quot;Using the Grid&amp;quot; })&lt;br /&gt;
    .getByRole(&amp;quot;textbox&amp;quot;, { name: &amp;quot;Email&amp;quot; })&lt;br /&gt;
&lt;br /&gt;
  await usingTheGridEmailInput.fill(&amp;quot;test@test.com&amp;quot;)&lt;br /&gt;
  await usingTheGridEmailInput.clear()&lt;br /&gt;
  await usingTheGridEmailInput.fill(&amp;quot;test2@test.com&amp;quot;)&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Update &amp;lt;code&amp;gt;playwright.config.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export default defineConfig&amp;lt;TestOptions&amp;gt;({&lt;br /&gt;
  ...&lt;br /&gt;
  projects: [&lt;br /&gt;
    ...&lt;br /&gt;
    {&lt;br /&gt;
      name: &amp;quot;mobile&amp;quot;,&lt;br /&gt;
      testMatch: &amp;quot;testMobile.spec.ts&amp;quot;,&lt;br /&gt;
      use: {&lt;br /&gt;
       ...devices[&amp;quot;iPhone 13 Pro&amp;quot;],&lt;br /&gt;
        // ..OR..&lt;br /&gt;
        // viewport: { width: 414, height: 800 },&lt;br /&gt;
      },&lt;br /&gt;
    },&lt;br /&gt;
  ],&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reporters ===&lt;br /&gt;
Configure reporters in &amp;lt;code&amp;gt;playwright.config.ts&amp;lt;/code&amp;gt; as per &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
export default defineConfig&amp;lt;TestOptions&amp;gt;({&lt;br /&gt;
  ...&lt;br /&gt;
  reporter: [&lt;br /&gt;
    [&amp;quot;json&amp;quot;, { outputFile: &amp;quot;test-results/jsonReport.json&amp;quot; }],&lt;br /&gt;
    [&amp;quot;junit&amp;quot;, { outputFile: &amp;quot;test-results/junitReport.xml&amp;quot; }],&lt;br /&gt;
    ['allure-playwright']&lt;br /&gt;
  ],&lt;br /&gt;
...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Allure ====&lt;br /&gt;
Setup for windows&lt;br /&gt;
* [https://www.java.com/en/download/ java download] (FYI: I did not need to set JAVA_HOME) &lt;br /&gt;
* [https://scoop.sh/ Scoop]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser&lt;br /&gt;
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [https://allurereport.org/docs/install-for-windows/ Allure report install for windows]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;scoop install allure&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [https://www.npmjs.com/package/allure-playwright/v/2.15.1 npm:allure-playwright]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
npm i -D @playwright/test allure-playwright --force&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you can run some tests followed by &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
allure generate allure-results -o allure-report --clean&lt;br /&gt;
allure open allure-report&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don't forget to add &amp;lt;code&amp;gt;allure-results&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;allure-report&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;.gitignore&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Allure looks cool but also looks like a bit of a learning curve ...&lt;br /&gt;
&lt;br /&gt;
PS. it seems pretty straight forward to create your own custom reporter as per these instructions [https://playwright.dev/docs/api/class-reporter Playwright class reporter]&lt;br /&gt;
&lt;br /&gt;
=== Visual Testing ===&lt;br /&gt;
This is so cool! Simply call &amp;lt;code&amp;gt;await expect(locator).toHaveScreenshot(...)&amp;lt;/code&amp;gt; on an element. The first run through creates screenshot(s) inside a subfolder from &amp;lt;code&amp;gt;tests&amp;lt;/code&amp;gt; folder. Second run compares current actual with previously expected. If there's any significant differences they are saved to subfolders in the &amp;lt;code&amp;gt;test-results&amp;lt;/code&amp;gt; folder, and the html reporter has a very nice way to see and compare snapshots. &lt;br /&gt;
&lt;br /&gt;
You can control settings in the code&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
    await expect(locator).toHaveScreenshot({maxDiffPixels:150, maxDiffPixelRatio: 0.01})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as well as in file &amp;lt;code&amp;gt;playwright.config.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
export default defineConfig&amp;lt;TestOptions&amp;gt;({&lt;br /&gt;
  expect: {&lt;br /&gt;
    ...&lt;br /&gt;
    toMatchSnapshot: { maxDiffPixels: 50 },&lt;br /&gt;
  },&lt;br /&gt;
  ...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you need to update a lot of snapshots use &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
npx playwright test --update-snapshots&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I would like to try doing visual testing of small parts on the screen, and then test the integration of those parts but masking the smaller parts so that the larger integration test only checks that the sub parts are there, but not test the sub part internals. The mask option of &amp;lt;code&amp;gt;.toHaveScreenshot({mask: [maskedElement1,maskedElement2]})&amp;lt;/code&amp;gt; can take an array of locators. However, this would apply the same colour to all of them, might try using CSS through &amp;lt;code&amp;gt;.toHaveScreenshot({ stylePath: path.join(__dirname, 'screenshot.css') })&amp;lt;/code&amp;gt; to render the elements with a solid block with different colours. &lt;br /&gt;
&lt;br /&gt;
To do this I need to identify the child elements and set their &amp;lt;code&amp;gt;visibility: hidden;&amp;lt;/code&amp;gt; and then the element to have &amp;lt;code&amp;gt;background-color: #909090;&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
ngx-form-layouts &amp;gt; div.row:nth-child(2) &amp;gt; div.col-md-6:nth-child(2) &amp;gt; nb-card:nth-child(1) &amp;gt; nb-card-body {&lt;br /&gt;
  visibility:hidden; &lt;br /&gt;
}&lt;br /&gt;
ngx-form-layouts &amp;gt; div.row:nth-child(2) &amp;gt; div.col-md-6:nth-child(2) &amp;gt; nb-card:nth-child(1) {&lt;br /&gt;
  background-color: #909090; &lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
for the course's test web app. &lt;br /&gt;
&lt;br /&gt;
Could consider assigning colours programmatically at run time...&lt;br /&gt;
&lt;br /&gt;
=== Playwright with Docker Container ===&lt;br /&gt;
* Make sure [https://www.docker.com/products/docker-desktop/ Docker Desktop] is installed &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; file allows you to build a docker image &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
FROM mcr.microsoft.com/playwright:v1.44.1-jammy&lt;br /&gt;
&lt;br /&gt;
RUN mkdir /app&lt;br /&gt;
WORKDIR /app&lt;br /&gt;
COPY . /app/&lt;br /&gt;
&lt;br /&gt;
RUN npm install --force&lt;br /&gt;
RUN npx playwright install&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Commands&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
docker build -t pw-pageobject-test .&lt;br /&gt;
docker images&lt;br /&gt;
docker run -it pw-pageobject-test&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
The last command starts the container and you can execute commands such as&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
npm run pageObjects-chrome&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;compose.yaml&amp;lt;/code&amp;gt; file allows you to build and execute an image as well as obtain files/folder from a running instance&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
services:&lt;br /&gt;
  playwright-test:&lt;br /&gt;
    image: playwright-test&lt;br /&gt;
    build: &lt;br /&gt;
      context: .&lt;br /&gt;
      dockerfile: ./dockerfile&lt;br /&gt;
    command: npm run pageObjects-chrome&lt;br /&gt;
    volumes:&lt;br /&gt;
      - ./playwright-report/:/app/playwright-report&lt;br /&gt;
      - ./test-results/:/app/test-results&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Commands&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
docker-compose up --build&lt;br /&gt;
docker-compose up&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Will run (&amp;amp; build) the image in the container, execute the command, and at the end copy the generated files back to the host computer.&lt;br /&gt;
&lt;br /&gt;
=== Github Actions and Argos CI ===&lt;br /&gt;
'''GitHub Actions'''&lt;br /&gt;
* Link to instructions [https://playwright.dev/docs/ci-intro on Playwright]&lt;br /&gt;
* Create file &amp;lt;code&amp;gt;.github\workflows\playwright.yml&amp;lt;/code&amp;gt; copy from instructions above, then some small edits&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
name: Playwright Tests&lt;br /&gt;
on:&lt;br /&gt;
  push:&lt;br /&gt;
    branches: [ main, master ]&lt;br /&gt;
  pull_request:&lt;br /&gt;
    branches: [ main, master ]&lt;br /&gt;
jobs:&lt;br /&gt;
  test:&lt;br /&gt;
    timeout-minutes: 60&lt;br /&gt;
    runs-on: ubuntu-latest&lt;br /&gt;
    steps:&lt;br /&gt;
    - uses: actions/checkout@v4&lt;br /&gt;
    - uses: actions/setup-node@v4&lt;br /&gt;
      with:&lt;br /&gt;
        node-version: 20&lt;br /&gt;
    - name: Install dependencies&lt;br /&gt;
      run: npm ci --force&lt;br /&gt;
    - name: Install Playwright Browsers&lt;br /&gt;
      run: npx playwright install --with-deps --force&lt;br /&gt;
    - name: Run Playwright tests&lt;br /&gt;
      run: npm run pageObjects-chrome&lt;br /&gt;
    - uses: actions/upload-artifact@v4&lt;br /&gt;
      if: ${{ !cancelled() }}&lt;br /&gt;
      with:&lt;br /&gt;
        name: playwright-report&lt;br /&gt;
        path: playwright-report/&lt;br /&gt;
        retention-days: 30&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* update node version, add --force x2, change final run command &amp;lt;code&amp;gt;run: npm run pageObjects-chrome&amp;lt;/code&amp;gt;&lt;br /&gt;
* commit &amp;amp; push to [https://github.com/VincentDirks/Playwright-Udemy-Course GitHub]&lt;br /&gt;
* see [https://github.com/VincentDirks/Playwright-Udemy-Course/actions actions tab] for progress and to see test artifacts saved&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''argos CI'''&lt;br /&gt;
* Go to [https://argos-ci.com argos-CI] to create account, best to select to continue with GitHub. (selecting Hobby - I'm working on personal projects)&lt;br /&gt;
* Create a new project, and select the repo to integrate&lt;br /&gt;
* Go to [https://argos-ci.com/docs/quickstart/playwright Playwright Quickstart] for instructions&lt;br /&gt;
** install &amp;lt;code&amp;gt;npm i --save-dev @argos-ci/playwright --force&amp;lt;/code&amp;gt;&lt;br /&gt;
** Setup Argos in your Playwright config (no need to provide token value when integrating through GitHub)&lt;br /&gt;
** Take screenshots&lt;br /&gt;
eg. In file &amp;lt;code&amp;gt;tests\usePageObjects.spec.ts&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
import { argosScreenshot } from &amp;quot;@argos-ci/playwright&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
test.only(&amp;quot;Testing with argos CI&amp;quot;, async ({ page }) =&amp;gt; {&lt;br /&gt;
  const pm = new PageManager(page)&lt;br /&gt;
  await pm.navigateTo().formLayoutsPage()&lt;br /&gt;
  await argosScreenshot(page,&amp;quot;form layouts page&amp;quot;)&lt;br /&gt;
  await pm.navigateTo().datePickerPage()&lt;br /&gt;
  await argosScreenshot(page,&amp;quot;date picker page&amp;quot;)&lt;br /&gt;
})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
** commit &amp;amp; push to GitHub &lt;br /&gt;
** Verify the GitHub action has been processed&lt;br /&gt;
** Verify the reference build in argo-ci&lt;br /&gt;
* Implement some &amp;quot;design changes&amp;quot; to the web app being tested&lt;br /&gt;
* Create new branch, make (visual) changes, commit, push to GitHub, create PR to master&lt;br /&gt;
* This will trigger GitHub action and argos-CI will detect the visual changes&lt;br /&gt;
* verify the argos-CI verification step has failed on GitHub&lt;br /&gt;
* review the visual changes in argos-CI, approve them&lt;br /&gt;
* pull request can now be merged&lt;br /&gt;
&lt;br /&gt;
Note: checked the documentation for argos-CI and you can also mask and apply CSS prior to taking the screenshot.&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1370</id>
		<title>Curriculum Vitae - Vincent Dirks</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1370"/>
		<updated>2024-08-05T02:54:00Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Test Community Events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
| Vincent Dirks&lt;br /&gt;
|-&lt;br /&gt;
! e-mail&lt;br /&gt;
| [mailto:vincent@dirksonline.net?Subject=Enquiry%20from%20CV%20Wiki vincent@dirksonline.net] &lt;br /&gt;
|-&lt;br /&gt;
! Mob&lt;br /&gt;
| 021-0269-6216&lt;br /&gt;
|-&lt;br /&gt;
! LinkedIn&lt;br /&gt;
| [https://nz.linkedin.com/in/vincent-dirks-937aa557 nz.linkedin.com]&lt;br /&gt;
|-&lt;br /&gt;
! Location&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Parau Parau], West Auckland&lt;br /&gt;
|-&lt;br /&gt;
! Download&lt;br /&gt;
| [https://dirksonline.net/CV/2024%20Curriculum%20Vitae%20-%20Vincent%20Dirks.pdf Curriculum Vitae pdf]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vincent Dirks - [[What's in a title?|Software Quality Engineer]] ==&lt;br /&gt;
As a versatile Software Quality Engineer, I aim to understand the nuances of the product, team dynamics, technological landscapes, and organisational structures so that I can adapt and contribute effectively. I specialise in adapting to diverse contexts, and look beyond traditional testing methodologies to consider the design of the whole quality ecosystem necessary for delivering quality software solutions efficiently.&lt;br /&gt;
&lt;br /&gt;
== [[Skills]] ==&lt;br /&gt;
=== [[Skills#Testing|Testing]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Context Driven Testing&lt;br /&gt;
* API Testing&lt;br /&gt;
* Testing Native Mobile Apps&lt;br /&gt;
* Testing Web Apps &lt;br /&gt;
* Testing Firmware/Embedded systems&lt;br /&gt;
* Testability Concepts&lt;br /&gt;
| &lt;br /&gt;
* Observability Concepts&lt;br /&gt;
* Exploratory Testing (Session &amp;amp; Thread Based)&lt;br /&gt;
* Visual Modelling&lt;br /&gt;
* Metrics Driven Development (A/B Testing)&lt;br /&gt;
* Accessibility Testing&lt;br /&gt;
* Data Privacy&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Programming and Automation ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#JavaScript|JavaScript]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Java|Java]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Other|Other]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Node.js, npm&lt;br /&gt;
* Express.js&lt;br /&gt;
* React&lt;br /&gt;
* Jest&lt;br /&gt;
* Cypress.io&lt;br /&gt;
* Webdriver.io&lt;br /&gt;
|&lt;br /&gt;
* [https://maven.apache.org/ Maven], [https://junit.org/ JUnit], [https://testng.org/ TestNG]&lt;br /&gt;
* [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD])&lt;br /&gt;
* [https://rest-assured.io/ REST-assured]&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs)&lt;br /&gt;
* [https://wave.tidalcode.dev/ Tidal. Wave]&lt;br /&gt;
|&lt;br /&gt;
* C#, Specflow (BDD)&lt;br /&gt;
* SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SSMS]&lt;br /&gt;
* Appium&lt;br /&gt;
* XCUITest&lt;br /&gt;
* GraphQL&lt;br /&gt;
* C++: Arduino, ESP32&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [https://www.splunk.com/ Splunk]&lt;br /&gt;
* Postman, Newman&lt;br /&gt;
* VS Code, IntelliJ, Visual Studio&lt;br /&gt;
* Github, Bitbucket&lt;br /&gt;
* Docker, Linux&lt;br /&gt;
|&lt;br /&gt;
* [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
* Jenkins, Azure DevOps (TFS), Google Cloud Platform&lt;br /&gt;
* Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting&lt;br /&gt;
* [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence], [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale], [https://xmind.app/ XMind]&lt;br /&gt;
* [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Banking and Finance Sector&lt;br /&gt;
* AML/CFT Sector&lt;br /&gt;
* Online Auction Platforms&lt;br /&gt;
* Vehicle Leasing systems&lt;br /&gt;
* Platform Engineering&lt;br /&gt;
* Staff Mentoring &amp;amp; Induction&lt;br /&gt;
| &lt;br /&gt;
* Agile (Scrum, Kanban, SAFe, Squad Master)&lt;br /&gt;
* Microservices Architecture&lt;br /&gt;
* Manufacturing Resource Planning - Logistics Manager&lt;br /&gt;
* Physics - Weather Radar Systems, Lasers, Fibre-optics&lt;br /&gt;
* Electrical &amp;amp; Electronic Engineering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Work Experience == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== [[Upskilling &amp;amp; Community Roles 2024]] (May-2024 - Current) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Playwright|Playwright]], &lt;br /&gt;
|}&lt;br /&gt;
: Upskilling whilst looking for work, breathing life back into the Ministry of Testing - Auckland meetup group, and managing the community's access to the Laingholm Village Hall&lt;br /&gt;
&lt;br /&gt;
=== [[Water Services Reform, DIA - Senior Test Automation Engineer]] (Nov-2023 - Jan-2024) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#Maven|Maven]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#Tidal. Wave|Tidal. Wave]], [[Skills#IntelliJ|IntelliJ]], &amp;lt;br/&amp;gt;[[Skills#Web App Testing|Web App Testing]], [[Skills#Azure DevOps (TFS)|Azure DevOps]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting through [https://ttcglobal.com TTC Global]. Test Automation team, Three Waters Project, developing a UI Automation suite in Java using the [https://wave.tidalcode.dev/ Tidal. wave] Selenium automation library&lt;br /&gt;
&lt;br /&gt;
=== [[Westpac NZ - Senior Automation Quality Engineer]] (Apr-2021 - Nov-2023) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#API Testing|API's]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#Web App Testing|Web]], [[Skills#Observability Concepts|Observability]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Java|Java]], &amp;lt;br /&amp;gt;[[Skills#Cucumber (BDD)|Cucumber]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#JavaScript|JavaScript]], [[Skills#React|React]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#Linux|Linux]], [[Skills#Docker|Docker]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], &amp;lt;br /&amp;gt;[[Skills#Jira, Confluence|Jira, Confluence, Zephyr]], [[Skills#Splunk|Splunk]], [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins, Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Served as a roving Automation Quality Engineer, addressing testing and automation needs across multiple teams. Conducted testing and automation for mobile apps (Appium &amp;amp; XCUITest), a D365 web UI (Java, Selenium, POM's), and various APIs (Java, REST Assured). Also contributed as a platform engineer supporting Splunk, and developed a React web app for visualising test environments (Node.js, React, mermaid.js).&lt;br /&gt;
&lt;br /&gt;
=== [[FirstAML - Test Analyst]] (Oct-2020 - Mar-2021) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman]], [[Skills#AML/CFT Sector|AML/CFT]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Data Privacy|Data Privacy]], [[Skills#GraphQL|GraphQL]], AWS&lt;br /&gt;
|}&lt;br /&gt;
: Served as a quality coach for a startup company developing a ReactJS Web App for the AML/CFT (Anti-Money Laundering/Countering Financing of Terrorism) sector.&lt;br /&gt;
&lt;br /&gt;
=== [[Weather Radar NZ limited - Weather Radar Systems Engineer]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Physics - Weather Radar Systems, Lasers, Fibre-optics|Weather Radar Systems]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], &amp;lt;br /&amp;gt;[[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Testing]], [[Skills#C++, Arduino, ESP32|Arduino]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 4 days/week. Retrofitting legacy weather radars with embedded Arduino micro controllers. Designing new electronics, PCB's, maintaining power waveguide systems, and performing signal analysis.&lt;br /&gt;
&lt;br /&gt;
=== [[Grappler- Agile Quality Analyst]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman, Newman]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Google Cloud Platform]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 1 day/week. Developed a small solution to run a Postman collection in Google Cloud Platform and a simple Web UI (Node.js, Express.js) to trigger test runs and display HTML test reports.&lt;br /&gt;
&lt;br /&gt;
=== [[Fiserv Auckland - Intermediate Software Test Engineer]] (Jan-2017 - Apr-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#Programming &amp;amp; Automation|Automation]], [[Skills#API Testing|API Testing]], [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#Splunk|Splunk]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jira, Confluence|Jira, Confluence]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Native Mobile App functional and accessibility testing. API testing and automation, using Postman/Newman, Specflow with C#, JavaScript (Postman, Node.js, Express.js), Splunk for dashboards, TFS &amp;amp; Powershell for System deployment automation. Created the Postman Testrunner Framework (PTF) for automated API integration checks and environment health monitoring.&lt;br /&gt;
&lt;br /&gt;
=== [[Trade Me - Senior Software Test Analyst]] (Dec-2014 - Aug-2016) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Context Driven Testing|Context Driven Testing]], [[Skills#Exploratory Testing (Session &amp;amp; Thread Based)|Exploratory Testing]], [[Skills#Agile Squad Master|Agile]], [[Skills#Testability Concepts|Testability]], [[Skills#Accessibility Testing|Accessibility]], &amp;lt;br /&amp;gt;[[Skills#Observability Concepts|Observability]], [[Skills#Jira, Confluence|Jira, Confluence]], DB, [[Skills#Web App Testing|Web App]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#API Testing|API Testing]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#Splunk|Splunk]], [[Skills#SoapUI, ReadyAPI|ReadyAPI]], [[Skills#Metrics Driven Development (A/B Testing)|A/B Testing]], [[Skills#XMind|XMind]], [[Skills#Staff Mentoring &amp;amp; Induction|Onboarding]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]]&lt;br /&gt;
|}&lt;br /&gt;
: Context-driven exploratory testing for software changes to the iconic [https://www.trademe.co.nz/ Trade Me] website, focussing on the [https://www.trademe.co.nz/a/motors Motors] page &amp;amp; features. My responsibilities included testing DBs, UIs, APIs, and mobile apps, leading deployments, conducting test planning and peer reviews, utilising BDD and visual test tools. I gained experience with implementing agile methods, Splunk, ReadyAPI, XMind, Jira, and Confluence. I also enjoyed onboarding new staff and contributing to the test and agile guilds.&lt;br /&gt;
&lt;br /&gt;
=== [[Pre-2014 Roles]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing]], VB, [[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Dev &amp;amp; Test]], [[Skills#Manufacturing Resource Planning|MRP II]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], Logistics, Networking, [[Skills#Teaching &amp;amp; Tutoring|Training &amp;amp; Tutoring]], &amp;lt;br /&amp;gt;[[Skills#C++, Arduino, ESP32|C++]], Customer &amp;amp; Tech Support, Production Planning, Documentation, Specifications, Sales Forecasting&lt;br /&gt;
|}&lt;br /&gt;
: [[Pre-2014 Roles#LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014)|Software Tester]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)|Logistics Manager]], [[Pre-2014 Roles#Primary Caregiver (Sep-2003 - Jul-2005)|Caregiver]], [[Pre-2014 Roles#Bioengineering Institute - Software Engineer (Sep 2002 - Aug 2003)|Software Engineer]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)|Development &amp;amp; Support Engineer]], [[Pre-2014 Roles#Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)|Production Scheduler]], [[Pre-2014 Roles#University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time)|Physics Tutor]]&lt;br /&gt;
&lt;br /&gt;
== Related wiki pages ==&lt;br /&gt;
=== [[References_-_Full_List|References]] ===&lt;br /&gt;
:[[References_-_Full_List#Dept. of Internal Affairs (TTC)| TTC]], [[References_-_Full_List#Westpac| Westpac ]], [[References_-_Full_List#Fiserv| Fiserv ]], [[References_-_Full_List#| Trade Me Motors]]&lt;br /&gt;
&lt;br /&gt;
=== GitHub Profile ===&lt;br /&gt;
: [[My GitHub Projects]]&lt;br /&gt;
&lt;br /&gt;
=== [[Volunteering]] ===&lt;br /&gt;
: [https://www.neighbourly.co.nz/organisation/laingholm-district-citizens-association Laingholm &amp;amp; Districts Citizens Association], [[Ministry of Testing - Auckland Branch|Ministry of Testing]], Eastern Suburbs AFC, Glendowie Boating Club, MOTAT, Eastern Suburbs Montessori Primary School&lt;br /&gt;
&lt;br /&gt;
=== [[Professional Development]] ===&lt;br /&gt;
: Conferences, workshops, meetups etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Education]] ===&lt;br /&gt;
: University of Auckland: ME(Elec) 1993&lt;br /&gt;
&lt;br /&gt;
=== [[Presentations, Posts, and blogs]] ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==What I'm reading, watching, listening, learning, and trying out in 2024==&lt;br /&gt;
&lt;br /&gt;
===Learning===&lt;br /&gt;
* [https://www.udemy.com/course/playwright-from-zero-to-hero Udemy Playwright: Web Automation Testing From Zero to Hero]&lt;br /&gt;
: I'm going to try use this to test some of my CV Wiki site. &lt;br /&gt;
: See [[Udemy Playwright: Web Automation Testing From Zero to Hero|my notes]] as well as GitHub [https://github.com/VincentDirks/Playwright-Udemy-Course repo #1], and [https://github.com/VincentDirks/Playwright-Udemy-Course-2 repo #2]&lt;br /&gt;
&lt;br /&gt;
===My Personal [[Observability Project]]===&lt;br /&gt;
* [https://expressjs.com/en/starter/hello-world.html Express.js basic hello world] and my [https://github.com/VincentDirks/node.js-in-the-cloud node.js-in-the-cloud] repo&lt;br /&gt;
* [https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker Kubernetes vs. Docker] by Josh Campbell at Atlassian &amp;lt;br&amp;gt;&lt;br /&gt;
:I want to learn the difference between these technologies to see how it might apply to my [[Observability Project]]&lt;br /&gt;
&lt;br /&gt;
* Setting up Docker Desktop at home to run the [https://github.com/Splunk/docker-Splunk Docker Splunk Image]&lt;br /&gt;
&lt;br /&gt;
=== Test Community Events ===&lt;br /&gt;
* Attended [https://nztestingconf.nz/ NZTestingConf 2024] in Wellington. Presentations: &lt;br /&gt;
** Shay Naiki, QA Manager @ Alphero: Creating a collaborative culture in the testing world: lessons from life in a digital agency&lt;br /&gt;
** Nevetha Mani, Product Human @ Hectre: Off the beaten path: rethinking quality in the startup world&lt;br /&gt;
** Emma Procter &amp;amp; Jonathan Shirley, @ PikPok: Finding the fun: researching and playtesting games at PikPok&lt;br /&gt;
** Patricio Miner, Content Creator @ Free Range Testers: ETL: the testing niche you've never thought of&lt;br /&gt;
** Toby Martin, QA Practice Lead @ Pushpay: Stop automating, start investigating: a guide to slowing down to speed up &lt;br /&gt;
** Ryan Bevens, QA Community Manager @ Potentia: Diary of a reluctant recruiter: your value as a tester&lt;br /&gt;
&lt;br /&gt;
===Interesting Reads===&lt;br /&gt;
* '''[https://www.satisfice.com/download/a-context-driven-approach-to-automation-in-testing A Context Driven Approach to Automation in Testing]''' By James Bach and Michael Bolton&lt;br /&gt;
:Quote: ''&amp;quot;dynamically evaluating context and selecting, designing, or adjusting our actions to solve the problems that we encounter.&amp;quot;''&lt;br /&gt;
* '''[https://www.satisfice.com/blog/archives/4947 Round Earth Test Strategy]''' by James Bach&lt;br /&gt;
:Interesting alternative to the ''&amp;quot;Test Automation Pyramid&amp;quot;''. &lt;br /&gt;
:Quote: ''There are testing problems to consider at every level, &amp;quot;Quality above requires quality below&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
===[[Archive What I'm Reading, Watching, Listing, Learning, and Trying Out|Archive]]===&lt;br /&gt;
:Old pre-2024 entries&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1369</id>
		<title>Curriculum Vitae - Vincent Dirks</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1369"/>
		<updated>2024-08-05T02:52:30Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Pre-2014 Roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
| Vincent Dirks&lt;br /&gt;
|-&lt;br /&gt;
! e-mail&lt;br /&gt;
| [mailto:vincent@dirksonline.net?Subject=Enquiry%20from%20CV%20Wiki vincent@dirksonline.net] &lt;br /&gt;
|-&lt;br /&gt;
! Mob&lt;br /&gt;
| 021-0269-6216&lt;br /&gt;
|-&lt;br /&gt;
! LinkedIn&lt;br /&gt;
| [https://nz.linkedin.com/in/vincent-dirks-937aa557 nz.linkedin.com]&lt;br /&gt;
|-&lt;br /&gt;
! Location&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Parau Parau], West Auckland&lt;br /&gt;
|-&lt;br /&gt;
! Download&lt;br /&gt;
| [https://dirksonline.net/CV/2024%20Curriculum%20Vitae%20-%20Vincent%20Dirks.pdf Curriculum Vitae pdf]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vincent Dirks - [[What's in a title?|Software Quality Engineer]] ==&lt;br /&gt;
As a versatile Software Quality Engineer, I aim to understand the nuances of the product, team dynamics, technological landscapes, and organisational structures so that I can adapt and contribute effectively. I specialise in adapting to diverse contexts, and look beyond traditional testing methodologies to consider the design of the whole quality ecosystem necessary for delivering quality software solutions efficiently.&lt;br /&gt;
&lt;br /&gt;
== [[Skills]] ==&lt;br /&gt;
=== [[Skills#Testing|Testing]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Context Driven Testing&lt;br /&gt;
* API Testing&lt;br /&gt;
* Testing Native Mobile Apps&lt;br /&gt;
* Testing Web Apps &lt;br /&gt;
* Testing Firmware/Embedded systems&lt;br /&gt;
* Testability Concepts&lt;br /&gt;
| &lt;br /&gt;
* Observability Concepts&lt;br /&gt;
* Exploratory Testing (Session &amp;amp; Thread Based)&lt;br /&gt;
* Visual Modelling&lt;br /&gt;
* Metrics Driven Development (A/B Testing)&lt;br /&gt;
* Accessibility Testing&lt;br /&gt;
* Data Privacy&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Programming and Automation ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#JavaScript|JavaScript]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Java|Java]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Other|Other]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Node.js, npm&lt;br /&gt;
* Express.js&lt;br /&gt;
* React&lt;br /&gt;
* Jest&lt;br /&gt;
* Cypress.io&lt;br /&gt;
* Webdriver.io&lt;br /&gt;
|&lt;br /&gt;
* [https://maven.apache.org/ Maven], [https://junit.org/ JUnit], [https://testng.org/ TestNG]&lt;br /&gt;
* [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD])&lt;br /&gt;
* [https://rest-assured.io/ REST-assured]&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs)&lt;br /&gt;
* [https://wave.tidalcode.dev/ Tidal. Wave]&lt;br /&gt;
|&lt;br /&gt;
* C#, Specflow (BDD)&lt;br /&gt;
* SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SSMS]&lt;br /&gt;
* Appium&lt;br /&gt;
* XCUITest&lt;br /&gt;
* GraphQL&lt;br /&gt;
* C++: Arduino, ESP32&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [https://www.splunk.com/ Splunk]&lt;br /&gt;
* Postman, Newman&lt;br /&gt;
* VS Code, IntelliJ, Visual Studio&lt;br /&gt;
* Github, Bitbucket&lt;br /&gt;
* Docker, Linux&lt;br /&gt;
|&lt;br /&gt;
* [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
* Jenkins, Azure DevOps (TFS), Google Cloud Platform&lt;br /&gt;
* Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting&lt;br /&gt;
* [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence], [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale], [https://xmind.app/ XMind]&lt;br /&gt;
* [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Banking and Finance Sector&lt;br /&gt;
* AML/CFT Sector&lt;br /&gt;
* Online Auction Platforms&lt;br /&gt;
* Vehicle Leasing systems&lt;br /&gt;
* Platform Engineering&lt;br /&gt;
* Staff Mentoring &amp;amp; Induction&lt;br /&gt;
| &lt;br /&gt;
* Agile (Scrum, Kanban, SAFe, Squad Master)&lt;br /&gt;
* Microservices Architecture&lt;br /&gt;
* Manufacturing Resource Planning - Logistics Manager&lt;br /&gt;
* Physics - Weather Radar Systems, Lasers, Fibre-optics&lt;br /&gt;
* Electrical &amp;amp; Electronic Engineering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Work Experience == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== [[Upskilling &amp;amp; Community Roles 2024]] (May-2024 - Current) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Playwright|Playwright]], &lt;br /&gt;
|}&lt;br /&gt;
: Upskilling whilst looking for work, breathing life back into the Ministry of Testing - Auckland meetup group, and managing the community's access to the Laingholm Village Hall&lt;br /&gt;
&lt;br /&gt;
=== [[Water Services Reform, DIA - Senior Test Automation Engineer]] (Nov-2023 - Jan-2024) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#Maven|Maven]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#Tidal. Wave|Tidal. Wave]], [[Skills#IntelliJ|IntelliJ]], &amp;lt;br/&amp;gt;[[Skills#Web App Testing|Web App Testing]], [[Skills#Azure DevOps (TFS)|Azure DevOps]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting through [https://ttcglobal.com TTC Global]. Test Automation team, Three Waters Project, developing a UI Automation suite in Java using the [https://wave.tidalcode.dev/ Tidal. wave] Selenium automation library&lt;br /&gt;
&lt;br /&gt;
=== [[Westpac NZ - Senior Automation Quality Engineer]] (Apr-2021 - Nov-2023) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#API Testing|API's]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#Web App Testing|Web]], [[Skills#Observability Concepts|Observability]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Java|Java]], &amp;lt;br /&amp;gt;[[Skills#Cucumber (BDD)|Cucumber]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#JavaScript|JavaScript]], [[Skills#React|React]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#Linux|Linux]], [[Skills#Docker|Docker]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], &amp;lt;br /&amp;gt;[[Skills#Jira, Confluence|Jira, Confluence, Zephyr]], [[Skills#Splunk|Splunk]], [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins, Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Served as a roving Automation Quality Engineer, addressing testing and automation needs across multiple teams. Conducted testing and automation for mobile apps (Appium &amp;amp; XCUITest), a D365 web UI (Java, Selenium, POM's), and various APIs (Java, REST Assured). Also contributed as a platform engineer supporting Splunk, and developed a React web app for visualising test environments (Node.js, React, mermaid.js).&lt;br /&gt;
&lt;br /&gt;
=== [[FirstAML - Test Analyst]] (Oct-2020 - Mar-2021) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman]], [[Skills#AML/CFT Sector|AML/CFT]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Data Privacy|Data Privacy]], [[Skills#GraphQL|GraphQL]], AWS&lt;br /&gt;
|}&lt;br /&gt;
: Served as a quality coach for a startup company developing a ReactJS Web App for the AML/CFT (Anti-Money Laundering/Countering Financing of Terrorism) sector.&lt;br /&gt;
&lt;br /&gt;
=== [[Weather Radar NZ limited - Weather Radar Systems Engineer]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Physics - Weather Radar Systems, Lasers, Fibre-optics|Weather Radar Systems]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], &amp;lt;br /&amp;gt;[[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Testing]], [[Skills#C++, Arduino, ESP32|Arduino]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 4 days/week. Retrofitting legacy weather radars with embedded Arduino micro controllers. Designing new electronics, PCB's, maintaining power waveguide systems, and performing signal analysis.&lt;br /&gt;
&lt;br /&gt;
=== [[Grappler- Agile Quality Analyst]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman, Newman]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Google Cloud Platform]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 1 day/week. Developed a small solution to run a Postman collection in Google Cloud Platform and a simple Web UI (Node.js, Express.js) to trigger test runs and display HTML test reports.&lt;br /&gt;
&lt;br /&gt;
=== [[Fiserv Auckland - Intermediate Software Test Engineer]] (Jan-2017 - Apr-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#Programming &amp;amp; Automation|Automation]], [[Skills#API Testing|API Testing]], [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#Splunk|Splunk]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jira, Confluence|Jira, Confluence]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Native Mobile App functional and accessibility testing. API testing and automation, using Postman/Newman, Specflow with C#, JavaScript (Postman, Node.js, Express.js), Splunk for dashboards, TFS &amp;amp; Powershell for System deployment automation. Created the Postman Testrunner Framework (PTF) for automated API integration checks and environment health monitoring.&lt;br /&gt;
&lt;br /&gt;
=== [[Trade Me - Senior Software Test Analyst]] (Dec-2014 - Aug-2016) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Context Driven Testing|Context Driven Testing]], [[Skills#Exploratory Testing (Session &amp;amp; Thread Based)|Exploratory Testing]], [[Skills#Agile Squad Master|Agile]], [[Skills#Testability Concepts|Testability]], [[Skills#Accessibility Testing|Accessibility]], &amp;lt;br /&amp;gt;[[Skills#Observability Concepts|Observability]], [[Skills#Jira, Confluence|Jira, Confluence]], DB, [[Skills#Web App Testing|Web App]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#API Testing|API Testing]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#Splunk|Splunk]], [[Skills#SoapUI, ReadyAPI|ReadyAPI]], [[Skills#Metrics Driven Development (A/B Testing)|A/B Testing]], [[Skills#XMind|XMind]], [[Skills#Staff Mentoring &amp;amp; Induction|Onboarding]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]]&lt;br /&gt;
|}&lt;br /&gt;
: Context-driven exploratory testing for software changes to the iconic [https://www.trademe.co.nz/ Trade Me] website, focussing on the [https://www.trademe.co.nz/a/motors Motors] page &amp;amp; features. My responsibilities included testing DBs, UIs, APIs, and mobile apps, leading deployments, conducting test planning and peer reviews, utilising BDD and visual test tools. I gained experience with implementing agile methods, Splunk, ReadyAPI, XMind, Jira, and Confluence. I also enjoyed onboarding new staff and contributing to the test and agile guilds.&lt;br /&gt;
&lt;br /&gt;
=== [[Pre-2014 Roles]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing]], VB, [[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Dev &amp;amp; Test]], [[Skills#Manufacturing Resource Planning|MRP II]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], Logistics, Networking, [[Skills#Teaching &amp;amp; Tutoring|Training &amp;amp; Tutoring]], &amp;lt;br /&amp;gt;[[Skills#C++, Arduino, ESP32|C++]], Customer &amp;amp; Tech Support, Production Planning, Documentation, Specifications, Sales Forecasting&lt;br /&gt;
|}&lt;br /&gt;
: [[Pre-2014 Roles#LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014)|Software Tester]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)|Logistics Manager]], [[Pre-2014 Roles#Primary Caregiver (Sep-2003 - Jul-2005)|Caregiver]], [[Pre-2014 Roles#Bioengineering Institute - Software Engineer (Sep 2002 - Aug 2003)|Software Engineer]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)|Development &amp;amp; Support Engineer]], [[Pre-2014 Roles#Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)|Production Scheduler]], [[Pre-2014 Roles#University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time)|Physics Tutor]]&lt;br /&gt;
&lt;br /&gt;
== Related wiki pages ==&lt;br /&gt;
=== [[References_-_Full_List|References]] ===&lt;br /&gt;
:[[References_-_Full_List#Dept. of Internal Affairs (TTC)| TTC]], [[References_-_Full_List#Westpac| Westpac ]], [[References_-_Full_List#Fiserv| Fiserv ]], [[References_-_Full_List#| Trade Me Motors]]&lt;br /&gt;
&lt;br /&gt;
=== GitHub Profile ===&lt;br /&gt;
: [[My GitHub Projects]]&lt;br /&gt;
&lt;br /&gt;
=== [[Volunteering]] ===&lt;br /&gt;
: [https://www.neighbourly.co.nz/organisation/laingholm-district-citizens-association Laingholm &amp;amp; Districts Citizens Association], [[Ministry of Testing - Auckland Branch|Ministry of Testing]], Eastern Suburbs AFC, Glendowie Boating Club, MOTAT, Eastern Suburbs Montessori Primary School&lt;br /&gt;
&lt;br /&gt;
=== [[Professional Development]] ===&lt;br /&gt;
: Conferences, workshops, meetups etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Education]] ===&lt;br /&gt;
: University of Auckland: ME(Elec) 1993&lt;br /&gt;
&lt;br /&gt;
=== [[Presentations, Posts, and blogs]] ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==What I'm reading, watching, listening, learning, and trying out in 2024==&lt;br /&gt;
&lt;br /&gt;
===Learning===&lt;br /&gt;
* [https://www.udemy.com/course/playwright-from-zero-to-hero Udemy Playwright: Web Automation Testing From Zero to Hero]&lt;br /&gt;
: I'm going to try use this to test some of my CV Wiki site. &lt;br /&gt;
: See [[Udemy Playwright: Web Automation Testing From Zero to Hero|my notes]] as well as GitHub [https://github.com/VincentDirks/Playwright-Udemy-Course repo #1], and [https://github.com/VincentDirks/Playwright-Udemy-Course-2 repo #2]&lt;br /&gt;
&lt;br /&gt;
===My Personal [[Observability Project]]===&lt;br /&gt;
* [https://expressjs.com/en/starter/hello-world.html Express.js basic hello world] and my [https://github.com/VincentDirks/node.js-in-the-cloud node.js-in-the-cloud] repo&lt;br /&gt;
* [https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker Kubernetes vs. Docker] by Josh Campbell at Atlassian &amp;lt;br&amp;gt;&lt;br /&gt;
:I want to learn the difference between these technologies to see how it might apply to my [[Observability Project]]&lt;br /&gt;
&lt;br /&gt;
* Setting up Docker Desktop at home to run the [https://github.com/Splunk/docker-Splunk Docker Splunk Image]&lt;br /&gt;
&lt;br /&gt;
=== Test Community Events ===&lt;br /&gt;
* Registered to go to the [https://nztestingconf.nz/ NZTestingConf 2024] in Wellington to listen to &lt;br /&gt;
** Shay Naiki, QA Manager @ Alphero: Creating a collaborative culture in the testing world: lessons from life in a digital agency&lt;br /&gt;
** Nevetha Mani, Product Human @ Hectre: Off the beaten path: rethinking quality in the startup world&lt;br /&gt;
** Emma Procter &amp;amp; Jonathan Shirley, @ PikPok: Finding the fun: researching and playtesting games at PikPok&lt;br /&gt;
** Patricio Miner, Content Creator @ Free Range Testers: ETL: the testing niche you've never thought of&lt;br /&gt;
** Toby Martin, QA Practice Lead @ Pushpay: Stop automating, start investigating: a guide to slowing down to speed up &lt;br /&gt;
** Ryan Bevens, QA Community Manager @ Potentia: Diary of a reluctant recruiter: your value as a tester&lt;br /&gt;
:''== Watch this space for conference notes ==''&lt;br /&gt;
&lt;br /&gt;
===Interesting Reads===&lt;br /&gt;
* '''[https://www.satisfice.com/download/a-context-driven-approach-to-automation-in-testing A Context Driven Approach to Automation in Testing]''' By James Bach and Michael Bolton&lt;br /&gt;
:Quote: ''&amp;quot;dynamically evaluating context and selecting, designing, or adjusting our actions to solve the problems that we encounter.&amp;quot;''&lt;br /&gt;
* '''[https://www.satisfice.com/blog/archives/4947 Round Earth Test Strategy]''' by James Bach&lt;br /&gt;
:Interesting alternative to the ''&amp;quot;Test Automation Pyramid&amp;quot;''. &lt;br /&gt;
:Quote: ''There are testing problems to consider at every level, &amp;quot;Quality above requires quality below&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
===[[Archive What I'm Reading, Watching, Listing, Learning, and Trying Out|Archive]]===&lt;br /&gt;
:Old pre-2024 entries&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1368</id>
		<title>Curriculum Vitae - Vincent Dirks</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Curriculum_Vitae_-_Vincent_Dirks&amp;diff=1368"/>
		<updated>2024-08-05T02:51:10Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Pre-2014 Roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
| Vincent Dirks&lt;br /&gt;
|-&lt;br /&gt;
! e-mail&lt;br /&gt;
| [mailto:vincent@dirksonline.net?Subject=Enquiry%20from%20CV%20Wiki vincent@dirksonline.net] &lt;br /&gt;
|-&lt;br /&gt;
! Mob&lt;br /&gt;
| 021-0269-6216&lt;br /&gt;
|-&lt;br /&gt;
! LinkedIn&lt;br /&gt;
| [https://nz.linkedin.com/in/vincent-dirks-937aa557 nz.linkedin.com]&lt;br /&gt;
|-&lt;br /&gt;
! Location&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Parau Parau], West Auckland&lt;br /&gt;
|-&lt;br /&gt;
! Download&lt;br /&gt;
| [https://dirksonline.net/CV/2024%20Curriculum%20Vitae%20-%20Vincent%20Dirks.pdf Curriculum Vitae pdf]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vincent Dirks - [[What's in a title?|Software Quality Engineer]] ==&lt;br /&gt;
As a versatile Software Quality Engineer, I aim to understand the nuances of the product, team dynamics, technological landscapes, and organisational structures so that I can adapt and contribute effectively. I specialise in adapting to diverse contexts, and look beyond traditional testing methodologies to consider the design of the whole quality ecosystem necessary for delivering quality software solutions efficiently.&lt;br /&gt;
&lt;br /&gt;
== [[Skills]] ==&lt;br /&gt;
=== [[Skills#Testing|Testing]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Context Driven Testing&lt;br /&gt;
* API Testing&lt;br /&gt;
* Testing Native Mobile Apps&lt;br /&gt;
* Testing Web Apps &lt;br /&gt;
* Testing Firmware/Embedded systems&lt;br /&gt;
* Testability Concepts&lt;br /&gt;
| &lt;br /&gt;
* Observability Concepts&lt;br /&gt;
* Exploratory Testing (Session &amp;amp; Thread Based)&lt;br /&gt;
* Visual Modelling&lt;br /&gt;
* Metrics Driven Development (A/B Testing)&lt;br /&gt;
* Accessibility Testing&lt;br /&gt;
* Data Privacy&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Programming and Automation ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#JavaScript|JavaScript]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Java|Java]]&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot;| [[Skills#Other|Other]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Node.js, npm&lt;br /&gt;
* Express.js&lt;br /&gt;
* React&lt;br /&gt;
* Jest&lt;br /&gt;
* Cypress.io&lt;br /&gt;
* Webdriver.io&lt;br /&gt;
|&lt;br /&gt;
* [https://maven.apache.org/ Maven], [https://junit.org/ JUnit], [https://testng.org/ TestNG]&lt;br /&gt;
* [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD])&lt;br /&gt;
* [https://rest-assured.io/ REST-assured]&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs)&lt;br /&gt;
* [https://wave.tidalcode.dev/ Tidal. Wave]&lt;br /&gt;
|&lt;br /&gt;
* C#, Specflow (BDD)&lt;br /&gt;
* SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SSMS]&lt;br /&gt;
* Appium&lt;br /&gt;
* XCUITest&lt;br /&gt;
* GraphQL&lt;br /&gt;
* C++: Arduino, ESP32&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [https://www.splunk.com/ Splunk]&lt;br /&gt;
* Postman, Newman&lt;br /&gt;
* VS Code, IntelliJ, Visual Studio&lt;br /&gt;
* Github, Bitbucket&lt;br /&gt;
* Docker, Linux&lt;br /&gt;
|&lt;br /&gt;
* [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
* Jenkins, Azure DevOps (TFS), Google Cloud Platform&lt;br /&gt;
* Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting&lt;br /&gt;
* [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence], [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale], [https://xmind.app/ XMind]&lt;br /&gt;
* [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* Banking and Finance Sector&lt;br /&gt;
* AML/CFT Sector&lt;br /&gt;
* Online Auction Platforms&lt;br /&gt;
* Vehicle Leasing systems&lt;br /&gt;
* Platform Engineering&lt;br /&gt;
* Staff Mentoring &amp;amp; Induction&lt;br /&gt;
| &lt;br /&gt;
* Agile (Scrum, Kanban, SAFe, Squad Master)&lt;br /&gt;
* Microservices Architecture&lt;br /&gt;
* Manufacturing Resource Planning - Logistics Manager&lt;br /&gt;
* Physics - Weather Radar Systems, Lasers, Fibre-optics&lt;br /&gt;
* Electrical &amp;amp; Electronic Engineering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Work Experience == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== [[Upskilling &amp;amp; Community Roles 2024]] (May-2024 - Current) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Playwright|Playwright]], &lt;br /&gt;
|}&lt;br /&gt;
: Upskilling whilst looking for work, breathing life back into the Ministry of Testing - Auckland meetup group, and managing the community's access to the Laingholm Village Hall&lt;br /&gt;
&lt;br /&gt;
=== [[Water Services Reform, DIA - Senior Test Automation Engineer]] (Nov-2023 - Jan-2024) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Java|Java]], [[Skills#Maven|Maven]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#Tidal. Wave|Tidal. Wave]], [[Skills#IntelliJ|IntelliJ]], &amp;lt;br/&amp;gt;[[Skills#Web App Testing|Web App Testing]], [[Skills#Azure DevOps (TFS)|Azure DevOps]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting through [https://ttcglobal.com TTC Global]. Test Automation team, Three Waters Project, developing a UI Automation suite in Java using the [https://wave.tidalcode.dev/ Tidal. wave] Selenium automation library&lt;br /&gt;
&lt;br /&gt;
=== [[Westpac NZ - Senior Automation Quality Engineer]] (Apr-2021 - Nov-2023) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#API Testing|API's]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#Web App Testing|Web]], [[Skills#Observability Concepts|Observability]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Microservices Architecture|Microservices]], [[Skills#Java|Java]], &amp;lt;br /&amp;gt;[[Skills#Cucumber (BDD)|Cucumber]], [[Skills#TestNG|TestNG]], [[Skills#REST-assured|REST-assured]], [[Skills#Selenium|Selenium]], [[Skills#Page Object Models|POM's]], [[Skills#JavaScript|JavaScript]], [[Skills#React|React]], &amp;lt;br /&amp;gt;[[Skills#Jest|Jest]], [[Skills#Linux|Linux]], [[Skills#Docker|Docker]], [[Skills#Kafka &amp;amp; Azure Event Queues|Event Queues]], [[Skills#Appium &amp;amp; XCUITest|Appium, XCUITest]], [[Skills#Fiddler, Charles Proxy, Wireshark|Charles Proxy]], &amp;lt;br /&amp;gt;[[Skills#Jira, Confluence|Jira, Confluence, Zephyr]], [[Skills#Splunk|Splunk]], [[Skills#Platform Engineering|Platform Engineering]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Jenkins, Azure Devops]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Served as a roving Automation Quality Engineer, addressing testing and automation needs across multiple teams. Conducted testing and automation for mobile apps (Appium &amp;amp; XCUITest), a D365 web UI (Java, Selenium, POM's), and various APIs (Java, REST Assured). Also contributed as a platform engineer supporting Splunk, and developed a React web app for visualising test environments (Node.js, React, mermaid.js).&lt;br /&gt;
&lt;br /&gt;
=== [[FirstAML - Test Analyst]] (Oct-2020 - Mar-2021) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman]], [[Skills#AML/CFT Sector|AML/CFT]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Data Privacy|Data Privacy]], [[Skills#GraphQL|GraphQL]], AWS&lt;br /&gt;
|}&lt;br /&gt;
: Served as a quality coach for a startup company developing a ReactJS Web App for the AML/CFT (Anti-Money Laundering/Countering Financing of Terrorism) sector.&lt;br /&gt;
&lt;br /&gt;
=== [[Weather Radar NZ limited - Weather Radar Systems Engineer]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Physics - Weather Radar Systems, Lasers, Fibre-optics|Weather Radar Systems]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], &amp;lt;br /&amp;gt;[[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Testing]], [[Skills#C++, Arduino, ESP32|Arduino]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 4 days/week. Retrofitting legacy weather radars with embedded Arduino micro controllers. Designing new electronics, PCB's, maintaining power waveguide systems, and performing signal analysis.&lt;br /&gt;
&lt;br /&gt;
=== [[Grappler- Agile Quality Analyst]] (Jun-2020 - Oct-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Postman, Newman|Postman, Newman]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Google Cloud Platform]], &amp;lt;br /&amp;gt;[[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]]&lt;br /&gt;
|}&lt;br /&gt;
: Contracting 1 day/week. Developed a small solution to run a Postman collection in Google Cloud Platform and a simple Web UI (Node.js, Express.js) to trigger test runs and display HTML test reports.&lt;br /&gt;
&lt;br /&gt;
=== [[Fiserv Auckland - Intermediate Software Test Engineer]] (Jan-2017 - Apr-2020) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Banking and Finance Sector|Banking]], [[Skills#Programming &amp;amp; Automation|Automation]], [[Skills#API Testing|API Testing]], [[Skills#Native Mobile App Testing|Mobile Testing]], [[Skills#Accessibility Testing|Accessibility]], [[Skills#Observability Concepts|Observability]], &amp;lt;br /&amp;gt;[[Skills#Postman, Newman|Postman]], [[Skills#Splunk|Splunk]], [[Skills#JavaScript|JavaScript]], [[Skills#Node.js|Node.js]], [[Skills#Express.js|Express.js]], [[Skills#C#, Specflow (BDD)|C#, Specflow (BDD)]], &amp;lt;br /&amp;gt;[[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]], [[Skills#Fiddler, Charles Proxy, Wireshark|Fiddler]], [[Skills#Jira, Confluence|Jira, Confluence]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|Microsoft Test Manager]], [[Skills#Jenkins, Azure Devops (TFS), Google Cloud Platform|TFS]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
: Native Mobile App functional and accessibility testing. API testing and automation, using Postman/Newman, Specflow with C#, JavaScript (Postman, Node.js, Express.js), Splunk for dashboards, TFS &amp;amp; Powershell for System deployment automation. Created the Postman Testrunner Framework (PTF) for automated API integration checks and environment health monitoring.&lt;br /&gt;
&lt;br /&gt;
=== [[Trade Me - Senior Software Test Analyst]] (Dec-2014 - Aug-2016) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Context Driven Testing|Context Driven Testing]], [[Skills#Exploratory Testing (Session &amp;amp; Thread Based)|Exploratory Testing]], [[Skills#Agile Squad Master|Agile]], [[Skills#Testability Concepts|Testability]], [[Skills#Accessibility Testing|Accessibility]], &amp;lt;br /&amp;gt;[[Skills#Observability Concepts|Observability]], [[Skills#Jira, Confluence|Jira, Confluence]], DB, [[Skills#Web App Testing|Web App]], [[Skills#Native Mobile App Testing|Mobile]], [[Skills#API Testing|API Testing]], [[Skills#Bash &amp;amp; PowerShell scripting|PowerShell]], &amp;lt;br /&amp;gt;[[Skills#Splunk|Splunk]], [[Skills#SoapUI, ReadyAPI|ReadyAPI]], [[Skills#Metrics Driven Development (A/B Testing)|A/B Testing]], [[Skills#XMind|XMind]], [[Skills#Staff Mentoring &amp;amp; Induction|Onboarding]], [[Skills#SQL &amp;amp; SQL Server Management Studio (SSMS)|SQL &amp;amp; SSMS]]&lt;br /&gt;
|}&lt;br /&gt;
: Context-driven exploratory testing for software changes to the iconic [https://www.trademe.co.nz/ Trade Me] website, focussing on the [https://www.trademe.co.nz/a/motors Motors] page &amp;amp; features. My responsibilities included testing DBs, UIs, APIs, and mobile apps, leading deployments, conducting test planning and peer reviews, utilising BDD and visual test tools. I gained experience with implementing agile methods, Splunk, ReadyAPI, XMind, Jira, and Confluence. I also enjoyed onboarding new staff and contributing to the test and agile guilds.&lt;br /&gt;
&lt;br /&gt;
=== [[Pre-2014 Roles]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing]], VB, [[Skills#Firmware &amp;amp; Embedded System Testing|Embedded Dev &amp;amp; Test]], [[Skills#Manufacturing Resource Planning|MRP II]], [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]], &amp;lt;br /&amp;gt;Logistics, Networking, [[Skills#Teaching &amp;amp; Tutoring|Training &amp;amp; Tutoring]],   [[Skills#C++, Arduino, ESP32|C++]], Customer &amp;amp; Tech Support, &amp;lt;br /&amp;gt;Production Planning, Documentation, Specifications, Sales Forecasting&lt;br /&gt;
|}&lt;br /&gt;
: [[Pre-2014 Roles#LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014)|Software Tester]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)|Logistics Manager]], [[Pre-2014 Roles#Primary Caregiver (Sep-2003 - Jul-2005)|Caregiver]], [[Pre-2014 Roles#Bioengineering Institute - Software Engineer (Sep 2002 - Aug 2003)|Software Engineer]], [[Pre-2014 Roles#Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)|Development &amp;amp; Support Engineer]], [[Pre-2014 Roles#Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)|Production Scheduler]], [[Pre-2014 Roles#University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time)|Physics Tutor]]&lt;br /&gt;
&lt;br /&gt;
== Related wiki pages ==&lt;br /&gt;
=== [[References_-_Full_List|References]] ===&lt;br /&gt;
:[[References_-_Full_List#Dept. of Internal Affairs (TTC)| TTC]], [[References_-_Full_List#Westpac| Westpac ]], [[References_-_Full_List#Fiserv| Fiserv ]], [[References_-_Full_List#| Trade Me Motors]]&lt;br /&gt;
&lt;br /&gt;
=== GitHub Profile ===&lt;br /&gt;
: [[My GitHub Projects]]&lt;br /&gt;
&lt;br /&gt;
=== [[Volunteering]] ===&lt;br /&gt;
: [https://www.neighbourly.co.nz/organisation/laingholm-district-citizens-association Laingholm &amp;amp; Districts Citizens Association], [[Ministry of Testing - Auckland Branch|Ministry of Testing]], Eastern Suburbs AFC, Glendowie Boating Club, MOTAT, Eastern Suburbs Montessori Primary School&lt;br /&gt;
&lt;br /&gt;
=== [[Professional Development]] ===&lt;br /&gt;
: Conferences, workshops, meetups etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Education]] ===&lt;br /&gt;
: University of Auckland: ME(Elec) 1993&lt;br /&gt;
&lt;br /&gt;
=== [[Presentations, Posts, and blogs]] ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==What I'm reading, watching, listening, learning, and trying out in 2024==&lt;br /&gt;
&lt;br /&gt;
===Learning===&lt;br /&gt;
* [https://www.udemy.com/course/playwright-from-zero-to-hero Udemy Playwright: Web Automation Testing From Zero to Hero]&lt;br /&gt;
: I'm going to try use this to test some of my CV Wiki site. &lt;br /&gt;
: See [[Udemy Playwright: Web Automation Testing From Zero to Hero|my notes]] as well as GitHub [https://github.com/VincentDirks/Playwright-Udemy-Course repo #1], and [https://github.com/VincentDirks/Playwright-Udemy-Course-2 repo #2]&lt;br /&gt;
&lt;br /&gt;
===My Personal [[Observability Project]]===&lt;br /&gt;
* [https://expressjs.com/en/starter/hello-world.html Express.js basic hello world] and my [https://github.com/VincentDirks/node.js-in-the-cloud node.js-in-the-cloud] repo&lt;br /&gt;
* [https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker Kubernetes vs. Docker] by Josh Campbell at Atlassian &amp;lt;br&amp;gt;&lt;br /&gt;
:I want to learn the difference between these technologies to see how it might apply to my [[Observability Project]]&lt;br /&gt;
&lt;br /&gt;
* Setting up Docker Desktop at home to run the [https://github.com/Splunk/docker-Splunk Docker Splunk Image]&lt;br /&gt;
&lt;br /&gt;
=== Test Community Events ===&lt;br /&gt;
* Registered to go to the [https://nztestingconf.nz/ NZTestingConf 2024] in Wellington to listen to &lt;br /&gt;
** Shay Naiki, QA Manager @ Alphero: Creating a collaborative culture in the testing world: lessons from life in a digital agency&lt;br /&gt;
** Nevetha Mani, Product Human @ Hectre: Off the beaten path: rethinking quality in the startup world&lt;br /&gt;
** Emma Procter &amp;amp; Jonathan Shirley, @ PikPok: Finding the fun: researching and playtesting games at PikPok&lt;br /&gt;
** Patricio Miner, Content Creator @ Free Range Testers: ETL: the testing niche you've never thought of&lt;br /&gt;
** Toby Martin, QA Practice Lead @ Pushpay: Stop automating, start investigating: a guide to slowing down to speed up &lt;br /&gt;
** Ryan Bevens, QA Community Manager @ Potentia: Diary of a reluctant recruiter: your value as a tester&lt;br /&gt;
:''== Watch this space for conference notes ==''&lt;br /&gt;
&lt;br /&gt;
===Interesting Reads===&lt;br /&gt;
* '''[https://www.satisfice.com/download/a-context-driven-approach-to-automation-in-testing A Context Driven Approach to Automation in Testing]''' By James Bach and Michael Bolton&lt;br /&gt;
:Quote: ''&amp;quot;dynamically evaluating context and selecting, designing, or adjusting our actions to solve the problems that we encounter.&amp;quot;''&lt;br /&gt;
* '''[https://www.satisfice.com/blog/archives/4947 Round Earth Test Strategy]''' by James Bach&lt;br /&gt;
:Interesting alternative to the ''&amp;quot;Test Automation Pyramid&amp;quot;''. &lt;br /&gt;
:Quote: ''There are testing problems to consider at every level, &amp;quot;Quality above requires quality below&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
===[[Archive What I'm Reading, Watching, Listing, Learning, and Trying Out|Archive]]===&lt;br /&gt;
:Old pre-2024 entries&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Skills&amp;diff=1367</id>
		<title>Skills</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Skills&amp;diff=1367"/>
		<updated>2024-08-05T02:31:30Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Data Privacy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
This page links my skills to the roles where I learned and used them. &lt;br /&gt;
== Testing ==&lt;br /&gt;
=== [https://context-driven-testing.com/ Context Driven Testing] ===&lt;br /&gt;
:Used in all my roles from 2016&lt;br /&gt;
=== Programming &amp;amp; Automation ===&lt;br /&gt;
=== API Testing ===&lt;br /&gt;
=== Native Mobile App Testing ===&lt;br /&gt;
=== Web App Testing ===&lt;br /&gt;
=== Firmware &amp;amp; Embedded System Testing ===&lt;br /&gt;
=== Testability Concepts ===&lt;br /&gt;
=== Observability Concepts ===&lt;br /&gt;
=== Exploratory Testing (Session &amp;amp; Thread Based) ===&lt;br /&gt;
=== Visual Modelling ===&lt;br /&gt;
: Eg. Mind mapping&lt;br /&gt;
&lt;br /&gt;
=== Metrics Driven Development (A/B Testing) ===&lt;br /&gt;
=== Accessibility Testing ===&lt;br /&gt;
=== Data Privacy ===&lt;br /&gt;
=== Risk Based Testing ===&lt;br /&gt;
&lt;br /&gt;
== Automation &amp;amp; Programming ==&lt;br /&gt;
=== JavaScript ===&lt;br /&gt;
----&lt;br /&gt;
==== Node.js ====&lt;br /&gt;
:Including npm&lt;br /&gt;
&lt;br /&gt;
==== Express.js ====&lt;br /&gt;
==== React ====&lt;br /&gt;
==== Jest ====&lt;br /&gt;
==== Cypress.io ====&lt;br /&gt;
==== Webdriver.io ====&lt;br /&gt;
==== mermaid.js ====&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
----&lt;br /&gt;
==== [https://maven.apache.org/ Maven] ====&lt;br /&gt;
==== [https://junit.org/ JUnit] ====&lt;br /&gt;
==== [https://testng.org/ TestNG] ====&lt;br /&gt;
&lt;br /&gt;
==== [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD]) ====&lt;br /&gt;
==== [https://rest-assured.io/ REST-assured] ====&lt;br /&gt;
==== [https://www.selenium.dev/ Selenium] ====&lt;br /&gt;
==== [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs) ====&lt;br /&gt;
==== [https://wave.tidalcode.dev/ Tidal. Wave] ====&lt;br /&gt;
&lt;br /&gt;
=== Other Automation &amp;amp; Programming ===&lt;br /&gt;
----&lt;br /&gt;
==== C#, Specflow (BDD) ====&lt;br /&gt;
&lt;br /&gt;
==== SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SQL Server Management Studio (SSMS)] ====&lt;br /&gt;
:* Test Data creation&lt;br /&gt;
:* Record Verification&lt;br /&gt;
:* profiling stored procedure calls&lt;br /&gt;
:* Testing DB schema update scripts&lt;br /&gt;
&lt;br /&gt;
==== Appium &amp;amp; XCUITest ====&lt;br /&gt;
==== GraphQL ====&lt;br /&gt;
==== C++, Arduino, ESP32 ====&lt;br /&gt;
&lt;br /&gt;
== Tools &amp;amp; Technologies ==&lt;br /&gt;
=== [https://www.splunk.com/ Splunk] ===&lt;br /&gt;
:log aggregation &amp;amp; analysis&lt;br /&gt;
=== Postman, Newman ===&lt;br /&gt;
=== VS Code ===&lt;br /&gt;
=== IntelliJ ===&lt;br /&gt;
=== Visual Studio ===&lt;br /&gt;
=== Github, Bitbucket ===&lt;br /&gt;
:* GitFlow branching strategy&lt;br /&gt;
:* Release trains&lt;br /&gt;
&lt;br /&gt;
=== [https://www.sonarsource.com/products/sonarlint/ Sonarlint] &amp;amp; [https://www.sonarsource.com/products/sonarqube/ Sonarqube] ===&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
=== Docker ===&lt;br /&gt;
=== Terraform ===&lt;br /&gt;
=== HashiCorp Vault ===&lt;br /&gt;
=== [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark] ===&lt;br /&gt;
: And sometimes [https://portswigger.net/burp/communitydownload Burp Suite CE] and [https://mitmproxy.org/ MITM Proxy] as well&lt;br /&gt;
&lt;br /&gt;
=== Jenkins, Azure Devops (TFS), Google Cloud Platform ===&lt;br /&gt;
: [https://learn.microsoft.com/en-us/previous-versions/azure/devops/all/overview?view=tfs-2018 TFS - Team Foundation Server] ''(now rebranded to Azure DevOps)'', was used for version control (Git repos), continuous integration build server &amp;amp; build agents, and including Microsoft Test Manager ''(now rebranded to Azure Test Plan)''.&lt;br /&gt;
&lt;br /&gt;
=== Kafka &amp;amp; Azure Event Queues ===&lt;br /&gt;
=== Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting ===&lt;br /&gt;
=== [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence] ===&lt;br /&gt;
: Including [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale] (was previously TM4J)&lt;br /&gt;
&lt;br /&gt;
=== [https://xmind.app/ XMind] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI] ===&lt;br /&gt;
&lt;br /&gt;
== General Skills ==&lt;br /&gt;
=== Agile (Scrum, Kanban, SAFe, Squad Master) ===&lt;br /&gt;
:* [https://www.scaledagileframework.com '''Scaled Agile Framework''' (SAFe)] - at [[Fiserv Auckland - Intermediate Software Test Engineer]] &lt;br /&gt;
:* Agile ceremonies - stand-ups, backlog grooming, estimation, planning, demos, and retros.&lt;br /&gt;
:* Development lifecycle - story design, implementation, testing, and integration&lt;br /&gt;
&lt;br /&gt;
=== Banking and Finance Sector ===&lt;br /&gt;
=== AML/CFT Sector ===&lt;br /&gt;
:Anti-Money Laundering and Countering Financing of Terrorism&lt;br /&gt;
=== Online Auction Platforms ===&lt;br /&gt;
=== Vehicle Leasing systems ===&lt;br /&gt;
=== Platform Engineering ===&lt;br /&gt;
=== Staff Mentoring &amp;amp; Induction ===&lt;br /&gt;
=== Microservices Architecture ===&lt;br /&gt;
=== Manufacturing Resource Planning - Logistics Manager ===&lt;br /&gt;
=== Physics - Weather Radar Systems, Lasers, Fibre-optics ===&lt;br /&gt;
=== Electrical &amp;amp; Electronic Engineering ===&lt;br /&gt;
:[[Education|University of Auckland: Masters of Engineering (E&amp;amp;E) 1993]]&lt;br /&gt;
=== Teaching &amp;amp; Tutoring ===&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1366</id>
		<title>Pre-2014 Roles</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1366"/>
		<updated>2024-08-05T02:28:56Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
== Pre-2014 Roles ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|Skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing]], MS-Access VB App Testing, &amp;lt;br /&amp;gt;AS-400 Testing, VB Automation Scripts&lt;br /&gt;
|}&lt;br /&gt;
:Full time testing contractor to the IS department, testing a variety of bespoke applications primarily for internal use.&lt;br /&gt;
&lt;br /&gt;
:* Complex quotation app for car leasing built in MS-Access &lt;br /&gt;
:* Online driver FBT data collection portal (UI, web security, data flows, emailing)&lt;br /&gt;
:* Legacy AS-400 system testing&lt;br /&gt;
:* Developed a test automation framework for AS-400 using VB&lt;br /&gt;
&lt;br /&gt;
:At LPNZ I was introduced to testing as a proper profession by my friend [https://www.linkedin.com/in/christinalinwood/ Christina Linwood]. &lt;br /&gt;
&lt;br /&gt;
:Attended the NZ Tester Magazine conference, and the Risk Based Testing Workshop by Matt Mansell, it was exhilarating to learn from people passionate about testing.&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2009 - Mar-2013) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two school age children, the house chores, and '''[[Volunteering]]''' for the community&lt;br /&gt;
&lt;br /&gt;
=== Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], [[Skills#Manufacturing Resource Planning|Manufacturing Resource Planning]], &amp;lt;br /&amp;gt;[[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], Staff Supervision, Continuous Improvement, &amp;lt;br /&amp;gt;Logistics, Mechanical Product Design, Networking (TCP-IP, RS-485, RS-232)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:* Managed end-to-end logistics and quality control for electronic hardware production and delivery, including procurement, packing, and global shipping.&lt;br /&gt;
:* Managed all aspects of sourcing sub-assemblies from third-party suppliers.&lt;br /&gt;
:* Supervised staff and casual workers, fostering a culture of customer service and product quality.&lt;br /&gt;
:* Continuously reviewed and optimized company procedures to enhance workflows and business information accuracy.&lt;br /&gt;
:* Implemented innovative solutions to improve production quality and efficiency.&lt;br /&gt;
:* Worked closely with mechanical &amp;amp; electronic engineers designing large cash receiving units (similar to ATM’s).&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2009MikeOgram.pdf 2009 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2003 - Jul-2005) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two young children and facilitating the renovations of our first home prior to selling and moving to larger home.&lt;br /&gt;
&lt;br /&gt;
=== University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Teaching &amp;amp; Tutoring|Teaching, Tutoring]]&lt;br /&gt;
|}&lt;br /&gt;
:BTech Opto-electronics lab coordinator &amp;amp; Dept of Maori &amp;amp; Pacific Island Health physics tutor&lt;br /&gt;
&lt;br /&gt;
=== Bioengineering Institute - Embedded Software Engineer (Sep 2002 - Aug 2003)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|PIC Embedded System Development &amp;amp; Testing]], &amp;lt;br /&amp;gt;Bluetooth Protocol, [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]],  [[Skills#C++, Arduino, ESP32|C++ Programming]]&lt;br /&gt;
|}&lt;br /&gt;
:Developed an embedded solution with Bluetooth protocol stack for data telemetry from devices implanted in rabbits used for medical research at the University of Auckland. &lt;br /&gt;
:* Bluetooth HCI commands&lt;br /&gt;
:* Protocol stack implemented in low resource PIC micro-controller&lt;br /&gt;
:* Code written in C++ and cross compiled for multiple device types&lt;br /&gt;
:* LabView integration&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2004SimonMalpas.pdf 2004 Simon Malpas]&lt;br /&gt;
&lt;br /&gt;
===Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Customer Support, [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], &amp;lt;br /&amp;gt;Release Management, Training, [[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], &amp;lt;br /&amp;gt;Networking (TCP-IP, RS-485, RS-232), Project Management&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Monitor Business Machines developed a cost management system (mainly tracking photocopying) through networked (RS232/RS485/TCP-IP) electronic swipe card terminals. &lt;br /&gt;
&lt;br /&gt;
:My roles and responsibilities covered &lt;br /&gt;
:* Global customer support lead&lt;br /&gt;
:* Development and Testing of Hardware, embedded firmware, and software&lt;br /&gt;
:* Release Management&lt;br /&gt;
:* Global training &lt;br /&gt;
:* Project Manager to develop a casino premium player loyalty program (Terminal &amp;amp; infrastructure hardware and software) for Burswood Casino (Perth)&lt;br /&gt;
:* Built a performance test lab for automated testing of firmware and software updates&lt;br /&gt;
:* Built numerous test jigs for testing &amp;amp; diagnosing various hardware items&lt;br /&gt;
:* CE Mark &amp;amp; RoHS compliance Testing&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2001MikeOgram.pdf 2001 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
===Short Term Contracts (1996 - 1997)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Production Planning, Documentation, &amp;lt;br /&amp;gt;Technical Support&lt;br /&gt;
|}&lt;br /&gt;
:* Cerebos Greggs – Production Planner &amp;amp; documentation&lt;br /&gt;
:* Auckland City Council – Ph PABX maintenance &amp;amp; support&lt;br /&gt;
&lt;br /&gt;
=== Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Production Planning, Documentation, Specifications &amp;lt;br /&amp;gt;Technical Support, Sales Forecasting, VB Automation, AS-400&lt;br /&gt;
|}&lt;br /&gt;
:* Production scheduling (MRPII) of diapers and facial tissues&lt;br /&gt;
:* Sales forecasting&lt;br /&gt;
:* Product specifications&lt;br /&gt;
:* Continuous improvement projects&lt;br /&gt;
:* Developed a VB application to automate the generation of productions plans from data in AS-400&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1365</id>
		<title>Pre-2014 Roles</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1365"/>
		<updated>2024-08-05T02:22:51Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
== Pre-2014 Roles ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|Skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing, MS-Access VB App Testing, &amp;lt;br /&amp;gt;AS-400 Testing, VB Automation Scripts]]&lt;br /&gt;
|}&lt;br /&gt;
:Full time testing contractor to the IS department, testing a variety of bespoke applications primarily for internal use.&lt;br /&gt;
&lt;br /&gt;
:* Complex quotation app for car leasing built in MS-Access &lt;br /&gt;
:* Online driver FBT data collection portal (UI, web security, data flows, emailing)&lt;br /&gt;
:* Legacy AS-400 system testing&lt;br /&gt;
:* Developed a test automation framework for AS-400 using VB&lt;br /&gt;
&lt;br /&gt;
:At LPNZ I was introduced to testing as a proper profession by my friend [https://www.linkedin.com/in/christinalinwood/ Christina Linwood]. &lt;br /&gt;
&lt;br /&gt;
:Attended the NZ Tester Magazine conference, and the Risk Based Testing Workshop by Matt Mansell, it was exhilarating to learn from people passionate about testing.&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2009 - Mar-2013) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two school age children, the house chores, and '''[[Volunteering]]''' for the community&lt;br /&gt;
&lt;br /&gt;
=== Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], [[Skills#Manufacturing Resource Planning|Manufacturing Resource Planning]], &amp;lt;br /&amp;gt;[[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], Staff Supervision, Continuous Improvement, &amp;lt;br /&amp;gt;Logistics, Mechanical Product Design, Networking (TCP-IP, RS-485, RS-232)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:* Managed end-to-end logistics and quality control for electronic hardware production and delivery, including procurement, packing, and global shipping.&lt;br /&gt;
:* Managed all aspects of sourcing sub-assemblies from third-party suppliers.&lt;br /&gt;
:* Supervised staff and casual workers, fostering a culture of customer service and product quality.&lt;br /&gt;
:* Continuously reviewed and optimized company procedures to enhance workflows and business information accuracy.&lt;br /&gt;
:* Implemented innovative solutions to improve production quality and efficiency.&lt;br /&gt;
:* Worked closely with mechanical &amp;amp; electronic engineers designing large cash receiving units (similar to ATM’s).&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2009MikeOgram.pdf 2009 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2003 - Jul-2005) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two young children and facilitating the renovations of our first home prior to selling and moving to larger home.&lt;br /&gt;
&lt;br /&gt;
=== University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Teaching &amp;amp; Tutoring|Teaching, Tutoring]]&lt;br /&gt;
|}&lt;br /&gt;
:BTech Opto-electronics lab coordinator &amp;amp; Dept of Maori &amp;amp; Pacific Island Health physics tutor&lt;br /&gt;
&lt;br /&gt;
=== Bioengineering Institute - Embedded Software Engineer (Sep 2002 - Aug 2003)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|PIC Embedded System Development &amp;amp; Testing]], &amp;lt;br /&amp;gt;Bluetooth Protocol, [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]],  [[Skills#C++, Arduino, ESP32|C++ Programming]]&lt;br /&gt;
|}&lt;br /&gt;
:Developed an embedded solution with Bluetooth protocol stack for data telemetry from devices implanted in rabbits used for medical research at the University of Auckland. &lt;br /&gt;
:* Bluetooth HCI commands&lt;br /&gt;
:* Protocol stack implemented in low resource PIC micro-controller&lt;br /&gt;
:* Code written in C++ and cross compiled for multiple device types&lt;br /&gt;
:* LabView integration&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2004SimonMalpas.pdf 2004 Simon Malpas]&lt;br /&gt;
&lt;br /&gt;
===Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Customer Support, [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], &amp;lt;br /&amp;gt;Release Management, Training, [[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], &amp;lt;br /&amp;gt;Networking (TCP-IP, RS-485, RS-232), Project Management&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Monitor Business Machines developed a cost management system (mainly tracking photocopying) through networked (RS232/RS485/TCP-IP) electronic swipe card terminals. &lt;br /&gt;
&lt;br /&gt;
:My roles and responsibilities covered &lt;br /&gt;
:* Global customer support lead&lt;br /&gt;
:* Development and Testing of Hardware, embedded firmware, and software&lt;br /&gt;
:* Release Management&lt;br /&gt;
:* Global training &lt;br /&gt;
:* Project Manager to develop a casino premium player loyalty program (Terminal &amp;amp; infrastructure hardware and software) for Burswood Casino (Perth)&lt;br /&gt;
:* Built a performance test lab for automated testing of firmware and software updates&lt;br /&gt;
:* Built numerous test jigs for testing &amp;amp; diagnosing various hardware items&lt;br /&gt;
:* CE Mark &amp;amp; RoHS compliance Testing&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2001MikeOgram.pdf 2001 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
===Short Term Contracts (1996 - 1997)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Production Planning, Documentation, &amp;lt;br /&amp;gt;Technical Support&lt;br /&gt;
|}&lt;br /&gt;
:* Cerebos Greggs – Production Planner &amp;amp; documentation&lt;br /&gt;
:* Auckland City Council – Ph PABX maintenance &amp;amp; support&lt;br /&gt;
&lt;br /&gt;
=== Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Production Planning, Documentation, Specifications &amp;lt;br /&amp;gt;Technical Support, Sales Forecasting, VB Automation, AS-400&lt;br /&gt;
|}&lt;br /&gt;
:* Production scheduling (MRPII) of diapers and facial tissues&lt;br /&gt;
:* Sales forecasting&lt;br /&gt;
:* Product specifications&lt;br /&gt;
:* Continuous improvement projects&lt;br /&gt;
:* Developed a VB application to automate the generation of productions plans from data in AS-400&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1364</id>
		<title>Pre-2014 Roles</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1364"/>
		<updated>2024-08-05T02:20:31Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-2014 Roles ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|Skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing, MS-Access VB App Testing, &amp;lt;br /&amp;gt;AS-400 Testing, VB Automation Scripts]]&lt;br /&gt;
|}&lt;br /&gt;
:Full time testing contractor to the IS department, testing a variety of bespoke applications primarily for internal use.&lt;br /&gt;
&lt;br /&gt;
:* Complex quotation app for car leasing built in MS-Access &lt;br /&gt;
:* Online driver FBT data collection portal (UI, web security, data flows, emailing)&lt;br /&gt;
:* Legacy AS-400 system testing&lt;br /&gt;
:* Developed a test automation framework for AS-400 using VB&lt;br /&gt;
&lt;br /&gt;
:At LPNZ I was introduced to testing as a proper profession by my friend [https://www.linkedin.com/in/christinalinwood/ Christina Linwood]. &lt;br /&gt;
&lt;br /&gt;
:Attended the NZ Tester Magazine conference, and the Risk Based Testing Workshop by Matt Mansell, it was exhilarating to learn from people passionate about testing.&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2009 - Mar-2013) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two school age children, the house chores, and '''[[Volunteering]]''' for the community&lt;br /&gt;
&lt;br /&gt;
=== Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], [[Skills#Manufacturing Resource Planning|Manufacturing Resource Planning]], &amp;lt;br /&amp;gt;[[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], Staff Supervision, Continuous Improvement, &amp;lt;br /&amp;gt;Logistics, Mechanical Product Design, Networking (TCP-IP, RS-485, RS-232)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:* Managed end-to-end logistics and quality control for electronic hardware production and delivery, including procurement, packing, and global shipping.&lt;br /&gt;
:* Managed all aspects of sourcing sub-assemblies from third-party suppliers.&lt;br /&gt;
:* Supervised staff and casual workers, fostering a culture of customer service and product quality.&lt;br /&gt;
:* Continuously reviewed and optimized company procedures to enhance workflows and business information accuracy.&lt;br /&gt;
:* Implemented innovative solutions to improve production quality and efficiency.&lt;br /&gt;
:* Worked closely with mechanical &amp;amp; electronic engineers designing large cash receiving units (similar to ATM’s).&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2009MikeOgram.pdf 2009 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2003 - Jul-2005) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two young children and facilitating the renovations of our first home prior to selling and moving to larger home.&lt;br /&gt;
&lt;br /&gt;
=== University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Teaching &amp;amp; Tutoring|Teaching, Tutoring]]&lt;br /&gt;
|}&lt;br /&gt;
:BTech Opto-electronics lab coordinator &amp;amp; Dept of Maori &amp;amp; Pacific Island Health physics tutor&lt;br /&gt;
&lt;br /&gt;
=== Bioengineering Institute - Embedded Software Engineer (Sep 2002 - Aug 2003)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|PIC Embedded System Development &amp;amp; Testing]], &amp;lt;br /&amp;gt;Bluetooth Protocol, [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]],  [[Skills#C++, Arduino, ESP32|C++ Programming]]&lt;br /&gt;
|}&lt;br /&gt;
:Developed an embedded solution with Bluetooth protocol stack for data telemetry from devices implanted in rabbits used for medical research at the University of Auckland. &lt;br /&gt;
:* Bluetooth HCI commands&lt;br /&gt;
:* Protocol stack implemented in low resource PIC micro-controller&lt;br /&gt;
:* Code written in C++ and cross compiled for multiple device types&lt;br /&gt;
:* LabView integration&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2004SimonMalpas.pdf 2004 Simon Malpas]&lt;br /&gt;
&lt;br /&gt;
===Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Customer Support, [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], &amp;lt;br /&amp;gt;Release Management, Training, [[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], &amp;lt;br /&amp;gt;Networking (TCP-IP, RS-485, RS-232), Project Management&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Monitor Business Machines developed a cost management system (mainly tracking photocopying) through networked (RS232/RS485/TCP-IP) electronic swipe card terminals. &lt;br /&gt;
&lt;br /&gt;
:My roles and responsibilities covered &lt;br /&gt;
:* Global customer support lead&lt;br /&gt;
:* Development and Testing of Hardware, embedded firmware, and software&lt;br /&gt;
:* Release Management&lt;br /&gt;
:* Global training &lt;br /&gt;
:* Project Manager to develop a casino premium player loyalty program (Terminal &amp;amp; infrastructure hardware and software) for Burswood Casino (Perth)&lt;br /&gt;
:* Built a performance test lab for automated testing of firmware and software updates&lt;br /&gt;
:* Built numerous test jigs for testing &amp;amp; diagnosing various hardware items&lt;br /&gt;
:* CE Mark &amp;amp; RoHS compliance Testing&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2001MikeOgram.pdf 2001 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
===Short Term Contracts (1996 - 1997)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Production Planning, Documentation, &amp;lt;br /&amp;gt;Technical Support&lt;br /&gt;
|}&lt;br /&gt;
:* Cerebos Greggs – Production Planner &amp;amp; documentation&lt;br /&gt;
:* Auckland City Council – Ph PABX maintenance &amp;amp; support&lt;br /&gt;
&lt;br /&gt;
=== Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Production Planning, Documentation, Specifications &amp;lt;br /&amp;gt;Technical Support, Sales Forecasting, VB Automation, AS-400&lt;br /&gt;
|}&lt;br /&gt;
:* Production scheduling (MRPII) of diapers and facial tissues&lt;br /&gt;
:* Sales forecasting&lt;br /&gt;
:* Product specifications&lt;br /&gt;
:* Continuous improvement projects&lt;br /&gt;
:* Developed a VB application to automate the generation of productions plans from data in AS-400&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1363</id>
		<title>Pre-2014 Roles</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1363"/>
		<updated>2024-08-05T02:06:28Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-2014 Roles ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|Skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing, MS-Access VB App Testing, &amp;lt;br /&amp;gt;AS-400 Testing, VB Automation Scripts]]&lt;br /&gt;
|}&lt;br /&gt;
:Full time testing contractor to the IS department, testing a variety of bespoke applications primarily for internal use.&lt;br /&gt;
&lt;br /&gt;
:* Complex quotation app for car leasing built in MS-Access &lt;br /&gt;
:* Online driver FBT data collection portal (UI, web security, data flows, emailing)&lt;br /&gt;
:* Legacy AS-400 system testing&lt;br /&gt;
:* Developed a test automation framework for AS-400 using VB&lt;br /&gt;
&lt;br /&gt;
:At LPNZ I was introduced to testing as a proper profession by my friend [https://www.linkedin.com/in/christinalinwood/ Christina Linwood]. &lt;br /&gt;
&lt;br /&gt;
:Attended the NZ Tester Magazine conference, and the Risk Based Testing Workshop by Matt Mansell, it was exhilarating to learn from people passionate about testing.&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2009 - Mar-2013) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two school age children, the house chores, and '''[[Volunteering]]''' for the community&lt;br /&gt;
&lt;br /&gt;
=== Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], [[Skills#Manufacturing Resource Planning|Manufacturing Resource Planning]], &amp;lt;br /&amp;gt;[[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], Staff Supervision, Continuous Improvement, &amp;lt;br /&amp;gt;Logistics, Mechanical Product Design, Networking (TCP-IP, RS-485, RS-232)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:* Managed end-to-end logistics and quality control for electronic hardware production and delivery, including procurement, packing, and global shipping.&lt;br /&gt;
:* Managed all aspects of sourcing sub-assemblies from third-party suppliers.&lt;br /&gt;
:* Supervised staff and casual workers, fostering a culture of customer service and product quality.&lt;br /&gt;
:* Continuously reviewed and optimized company procedures to enhance workflows and business information accuracy.&lt;br /&gt;
:* Implemented innovative solutions to improve production quality and efficiency.&lt;br /&gt;
:* Worked closely with mechanical &amp;amp; electronic engineers designing large cash receiving units (similar to ATM’s).&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2009MikeOgram.pdf 2009 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2003 - Jul-2005) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two young children and facilitating the renovations of our first home prior to selling and moving to larger home.&lt;br /&gt;
&lt;br /&gt;
=== University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Teaching &amp;amp; Tutoring|Teaching, Tutoring]]&lt;br /&gt;
|}&lt;br /&gt;
:BTech Opto-electronics lab coordinator &amp;amp; Dept of Maori &amp;amp; Pacific Island Health physics tutor&lt;br /&gt;
&lt;br /&gt;
=== Bioengineering Institute - Embedded Software Engineer (Sep 2002 - Aug 2003)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|PIC Embedded System Development &amp;amp; Testing]], &amp;lt;br /&amp;gt;Bluetooth Protocol, [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]],  [[Skills#C++, Arduino, ESP32|C++ Programming]]&lt;br /&gt;
|}&lt;br /&gt;
:Developed an embedded solution with Bluetooth protocol stack for data telemetry from devices implanted in rabbits used for medical research at the University of Auckland. &lt;br /&gt;
:* Bluetooth HCI commands&lt;br /&gt;
:* Protocol stack implemented in low resource PIC micro-controller&lt;br /&gt;
:* Code written in C++ and cross compiled for multiple device types&lt;br /&gt;
:* LabView integration&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2004SimonMalpas.pdf 2004 Simon Malpas]&lt;br /&gt;
&lt;br /&gt;
===Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Customer Support, [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], &amp;lt;br /&amp;gt;Release Management, Training, [[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], &amp;lt;br /&amp;gt;Networking (TCP-IP, RS-485, RS-232), Project Management&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Monitor Business Machines developed a cost management system (mainly tracking photocopying) through networked (RS232/RS485/TCP-IP) electronic swipe card terminals. &lt;br /&gt;
&lt;br /&gt;
:My roles and responsibilities covered &lt;br /&gt;
:* Global customer support lead&lt;br /&gt;
:* Development and Testing of Hardware, embedded firmware, and software&lt;br /&gt;
:* Release Management&lt;br /&gt;
:* Global training &lt;br /&gt;
:* Project Manager to develop a casino premium player loyalty program (Terminal &amp;amp; infrastructure hardware and software) for Burswood Casino (Perth)&lt;br /&gt;
:* Built a performance test lab for automated testing of firmware and software updates&lt;br /&gt;
:* Built numerous test jigs for testing &amp;amp; diagnosing various hardware items&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2001MikeOgram.pdf 2001 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
===Short Term Contracts (1996 - 1997)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Production Planning, Documentation, &amp;lt;br /&amp;gt;Technical Support&lt;br /&gt;
|}&lt;br /&gt;
:* Cerebos Greggs – Production Planner &amp;amp; documentation&lt;br /&gt;
:* Auckland City Council – Ph PABX maintenance &amp;amp; support&lt;br /&gt;
&lt;br /&gt;
=== Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Production Planning, Documentation, Specifications &amp;lt;br /&amp;gt;Technical Support, Sales Forecasting, VB Automation, AS-400&lt;br /&gt;
|}&lt;br /&gt;
:* Production scheduling (MRPII) of diapers and facial tissues&lt;br /&gt;
:* Sales forecasting&lt;br /&gt;
:* Product specifications&lt;br /&gt;
:* Continuous improvement projects&lt;br /&gt;
:* Developed a VB application to automate the generation of productions plans from data in AS-400&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1362</id>
		<title>Pre-2014 Roles</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1362"/>
		<updated>2024-08-05T02:00:45Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-2014 Roles ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|Skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing, MS-Access VB App Testing, &amp;lt;br /&amp;gt;AS-400 Testing, VB Automation Scripts]]&lt;br /&gt;
|}&lt;br /&gt;
:Full time testing contractor to the IS department, testing a variety of bespoke applications primarily for internal use.&lt;br /&gt;
&lt;br /&gt;
:* Complex quotation app for car leasing built in MS-Access &lt;br /&gt;
:* Online driver FBT data collection portal (UI, web security, data flows, emailing)&lt;br /&gt;
:* Legacy AS-400 system testing&lt;br /&gt;
:* Developed a test automation framework for AS-400 using VB&lt;br /&gt;
&lt;br /&gt;
:At LPNZ I was introduced to testing as a proper profession by my friend [https://www.linkedin.com/in/christinalinwood/ Christina Linwood]. &lt;br /&gt;
&lt;br /&gt;
:Attended the NZ Tester Magazine conference, and the Risk Based Testing Workshop by Matt Mansell, it was exhilarating to learn from people passionate about testing.&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2009 - Mar-2013) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two school age children, the house chores, and '''[[Volunteering]]''' for the community&lt;br /&gt;
&lt;br /&gt;
=== Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], [[Skills#Manufacturing Resource Planning|Manufacturing Resource Planning]], &amp;lt;br /&amp;gt;[[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], Staff Supervision, Continuous Improvement, &amp;lt;br /&amp;gt;Logistics, Mechanical Product Design, Networking (TCP-IP, RS-485, RS-232)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:* Managed end-to-end logistics and quality control for electronic hardware production and delivery, including procurement, packing, and global shipping.&lt;br /&gt;
:* Managed all aspects of sourcing sub-assemblies from third-party suppliers.&lt;br /&gt;
:* Supervised staff and casual workers, fostering a culture of customer service and product quality.&lt;br /&gt;
:* Continuously reviewed and optimized company procedures to enhance workflows and business information accuracy.&lt;br /&gt;
:* Implemented innovative solutions to improve production quality and efficiency.&lt;br /&gt;
:* Worked closely with mechanical &amp;amp; electronic engineers designing large cash receiving units (similar to ATM’s).&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2009MikeOgram.pdf 2009 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2003 - Jul-2005) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two young children and facilitating the renovations of our first home prior to selling and moving to larger home.&lt;br /&gt;
&lt;br /&gt;
=== University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Teaching &amp;amp; Tutoring|Teaching, Tutoring]]&lt;br /&gt;
|}&lt;br /&gt;
:BTech Opto-electronics lab coordinator &amp;amp; Dept of Maori &amp;amp; Pacific Island Health physics tutor&lt;br /&gt;
&lt;br /&gt;
=== Bioengineering Institute - Embedded Software Engineer (Sep 2002 - Aug 2003)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|PIC Embedded System Development &amp;amp; Testing]], &amp;lt;br /&amp;gt;Bluetooth Protocol, [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]],  [[Skills#C++, Arduino, ESP32|C++ Programming]]&lt;br /&gt;
|}&lt;br /&gt;
:Developed an embedded solution with Bluetooth protocol stack for data telemetry from devices implanted in rabbits used for medical research at the University of Auckland. &lt;br /&gt;
:* Bluetooth HCI commands&lt;br /&gt;
:* Protocol stack implemented in low resource PIC micro-controller&lt;br /&gt;
:* Code written in C++ and cross compiled for multiple device types&lt;br /&gt;
:* LabView integration&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2004SimonMalpas.pdf 2004 Simon Malpas]&lt;br /&gt;
&lt;br /&gt;
===Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Customer Support, [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], &amp;lt;br /&amp;gt;Release Management, Training, [[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], &amp;lt;br /&amp;gt;Networking (TCP-IP, RS-485, RS-232), Project Management&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Monitor Business Machines developed a cost management system (mainly tracking photocopying) through networked (RS232/RS485/TCP-IP) electronic swipe card terminals. &lt;br /&gt;
&lt;br /&gt;
:My roles and responsibilities covered &lt;br /&gt;
:* Global customer support lead&lt;br /&gt;
:* Development and Testing of Hardware, embedded firmware, and software&lt;br /&gt;
:* Release Management&lt;br /&gt;
:* Global training &lt;br /&gt;
:* Project Manager to develop a casino premium player loyalty program (Terminal &amp;amp; infrastructure hardware and software) for Burswood Casino (Perth)&lt;br /&gt;
:* Built a performance test lab for automated testing of firmware and software updates&lt;br /&gt;
:* Built numerous test jigs for testing &amp;amp; diagnosing various hardware items&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2001MikeOgram.pdf 2001 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
===Short Term Contracts (1996 - 1997)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Production Planning, Documentation, &amp;lt;br /&amp;gt;Technical Support&lt;br /&gt;
|}&lt;br /&gt;
:* Cerebos Greggs – Production Planner &amp;amp; documentation&lt;br /&gt;
:* Auckland City Council – Ph PABX maintenance &amp;amp; support&lt;br /&gt;
&lt;br /&gt;
=== Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)===&lt;br /&gt;
* Production scheduling (MRPII) of diapers and facial tissues&lt;br /&gt;
* Sales forecasting&lt;br /&gt;
* Product specifications&lt;br /&gt;
* Continuous improvement projects&lt;br /&gt;
* Developed a VB application to automate the generation of productions plans from data in AS-400&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1361</id>
		<title>Pre-2014 Roles</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1361"/>
		<updated>2024-08-05T01:59:06Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-2014 Roles ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|Skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing, MS-Access VB App Testing, &amp;lt;br /&amp;gt;AS-400 Testing, VB Automation Scripts]]&lt;br /&gt;
|}&lt;br /&gt;
:Full time testing contractor to the IS department, testing a variety of bespoke applications primarily for internal use.&lt;br /&gt;
&lt;br /&gt;
:* Complex quotation app for car leasing built in MS-Access &lt;br /&gt;
:* Online driver FBT data collection portal (UI, web security, data flows, emailing)&lt;br /&gt;
:* Legacy AS-400 system testing&lt;br /&gt;
:* Developed a test automation framework for AS-400 using VB&lt;br /&gt;
&lt;br /&gt;
:At LPNZ I was introduced to testing as a proper profession by my friend [https://www.linkedin.com/in/christinalinwood/ Christina Linwood]. &lt;br /&gt;
&lt;br /&gt;
:Attended the NZ Tester Magazine conference, and the Risk Based Testing Workshop by Matt Mansell, it was exhilarating to learn from people passionate about testing.&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2009 - Mar-2013) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two school age children, the house chores, and '''[[Volunteering]]''' for the community&lt;br /&gt;
&lt;br /&gt;
=== Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], [[Skills#Manufacturing Resource Planning|Manufacturing Resource Planning]], &amp;lt;br /&amp;gt;[[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], Logistics, Staff Supervision, Continuous Improvement, &amp;lt;br /&amp;gt;Mechanical Product Design, Networking (TCP-IP, RS-485, RS-232)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:* Managed end-to-end logistics and quality control for electronic hardware production and delivery, including procurement, packing, and global shipping.&lt;br /&gt;
:* Managed all aspects of sourcing sub-assemblies from third-party suppliers.&lt;br /&gt;
:* Supervised staff and casual workers, fostering a culture of customer service and product quality.&lt;br /&gt;
:* Continuously reviewed and optimized company procedures to enhance workflows and business information accuracy.&lt;br /&gt;
:* Implemented innovative solutions to improve production quality and efficiency.&lt;br /&gt;
:* Worked closely with mechanical &amp;amp; electronic engineers designing large cash receiving units (similar to ATM’s).&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2009MikeOgram.pdf 2009 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2003 - Jul-2005) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two young children and facilitating the renovations of our first home prior to selling and moving to larger home.&lt;br /&gt;
&lt;br /&gt;
=== University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Teaching &amp;amp; Tutoring|Teaching, Tutoring]]&lt;br /&gt;
|}&lt;br /&gt;
:BTech Opto-electronics lab coordinator &amp;amp; Dept of Maori &amp;amp; Pacific Island Health physics tutor&lt;br /&gt;
&lt;br /&gt;
=== Bioengineering Institute - Embedded Software Engineer (Sep 2002 - Aug 2003)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|PIC Embedded System Development &amp;amp; Testing]], &amp;lt;br /&amp;gt;Bluetooth Protocol, [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]],  [[Skills#C++, Arduino, ESP32|C++ Programming]]&lt;br /&gt;
|}&lt;br /&gt;
:Developed an embedded solution with Bluetooth protocol stack for data telemetry from devices implanted in rabbits used for medical research at the University of Auckland. &lt;br /&gt;
:* Bluetooth HCI commands&lt;br /&gt;
:* Protocol stack implemented in low resource PIC micro-controller&lt;br /&gt;
:* Code written in C++ and cross compiled for multiple device types&lt;br /&gt;
:* LabView integration&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2004SimonMalpas.pdf 2004 Simon Malpas]&lt;br /&gt;
&lt;br /&gt;
===Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Customer Support, [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], &amp;lt;br /&amp;gt;Release Management, Training, [[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], &amp;lt;br /&amp;gt;Networking (TCP-IP, RS-485, RS-232), Project Management&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Monitor Business Machines developed a cost management system (mainly tracking photocopying) through networked (RS232/RS485/TCP-IP) electronic swipe card terminals. &lt;br /&gt;
&lt;br /&gt;
:My roles and responsibilities covered &lt;br /&gt;
:* Global customer support lead&lt;br /&gt;
:* Development and Testing of Hardware, embedded firmware, and software&lt;br /&gt;
:* Release Management&lt;br /&gt;
:* Global training &lt;br /&gt;
:* Project Manager to develop a casino premium player loyalty program (Terminal &amp;amp; infrastructure hardware and software) for Burswood Casino (Perth)&lt;br /&gt;
:* Built a performance test lab for automated testing of firmware and software updates&lt;br /&gt;
:* Built numerous test jigs for testing &amp;amp; diagnosing various hardware items&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2001MikeOgram.pdf 2001 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
===Short Term Contracts (1996 - 1997)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Production Planning, Documentation, &amp;lt;br /&amp;gt;Technical Support&lt;br /&gt;
|}&lt;br /&gt;
:* Cerebos Greggs – Production Planner &amp;amp; documentation&lt;br /&gt;
:* Auckland City Council – Ph PABX maintenance &amp;amp; support&lt;br /&gt;
&lt;br /&gt;
=== Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)===&lt;br /&gt;
* Production scheduling (MRPII) of diapers and facial tissues&lt;br /&gt;
* Sales forecasting&lt;br /&gt;
* Product specifications&lt;br /&gt;
* Continuous improvement projects&lt;br /&gt;
* Developed a VB application to automate the generation of productions plans from data in AS-400&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1360</id>
		<title>Pre-2014 Roles</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1360"/>
		<updated>2024-08-05T01:58:12Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Short Term Contracts (1996 - 1997) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-2014 Roles ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|Skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing, MS-Access VB App Testing, &amp;lt;br /&amp;gt;AS-400 Testing, VB Automation Scripts]]&lt;br /&gt;
|}&lt;br /&gt;
:Full time testing contractor to the IS department, testing a variety of bespoke applications primarily for internal use.&lt;br /&gt;
&lt;br /&gt;
:* Complex quotation app for car leasing built in MS-Access &lt;br /&gt;
:* Online driver FBT data collection portal (UI, web security, data flows, emailing)&lt;br /&gt;
:* Legacy AS-400 system testing&lt;br /&gt;
:* Developed a test automation framework for AS-400 using VB&lt;br /&gt;
&lt;br /&gt;
:At LPNZ I was introduced to testing as a proper profession by my friend [https://www.linkedin.com/in/christinalinwood/ Christina Linwood]. &lt;br /&gt;
&lt;br /&gt;
:Attended the NZ Tester Magazine conference, and the Risk Based Testing Workshop by Matt Mansell, it was exhilarating to learn from people passionate about testing.&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2009 - Mar-2013) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two school age children, the house chores, and '''[[Volunteering]]''' for the community&lt;br /&gt;
&lt;br /&gt;
=== Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], [[Skills#Manufacturing Resource Planning|Manufacturing Resource Planning]], &amp;lt;br /&amp;gt;[[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], Logistics, Staff Supervision, Continuous Improvement, &amp;lt;br /&amp;gt;Mechanical Product Design, Networking (TCP-IP, RS-485, RS-232)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:* Managed end-to-end logistics and quality control for electronic hardware production and delivery, including procurement, packing, and global shipping.&lt;br /&gt;
:* Managed all aspects of sourcing sub-assemblies from third-party suppliers.&lt;br /&gt;
:* Supervised staff and casual workers, fostering a culture of customer service and product quality.&lt;br /&gt;
:* Continuously reviewed and optimized company procedures to enhance workflows and business information accuracy.&lt;br /&gt;
:* Implemented innovative solutions to improve production quality and efficiency.&lt;br /&gt;
:* Worked closely with mechanical &amp;amp; electronic engineers designing large cash receiving units (similar to ATM’s).&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2009MikeOgram.pdf 2009 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2003 - Jul-2005) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two young children and facilitating the renovations of our first home prior to selling and moving to larger home.&lt;br /&gt;
&lt;br /&gt;
=== University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Teaching &amp;amp; Tutoring|Teaching, Tutoring]]&lt;br /&gt;
|}&lt;br /&gt;
:BTech Opto-electronics lab coordinator &amp;amp; Dept of Maori &amp;amp; Pacific Island Health physics tutor&lt;br /&gt;
&lt;br /&gt;
=== Bioengineering Institute - Embedded Software Engineer (Sep 2002 - Aug 2003)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|PIC Embedded System Development &amp;amp; Testing]], &amp;lt;br /&amp;gt;Bluetooth Protocol, [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]],  [[Skills#C++, Arduino, ESP32|C++ Programming]]&lt;br /&gt;
|}&lt;br /&gt;
:Developed an embedded solution with Bluetooth protocol stack for data telemetry from devices implanted in rabbits used for medical research at the University of Auckland. &lt;br /&gt;
:* Bluetooth HCI commands&lt;br /&gt;
:* Protocol stack implemented in low resource PIC micro-controller&lt;br /&gt;
:* Code written in C++ and cross compiled for multiple device types&lt;br /&gt;
:* LabView integration&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2004SimonMalpas.pdf 2004 Simon Malpas]&lt;br /&gt;
&lt;br /&gt;
===Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Customer Support, [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], Release Management, Training, &amp;lt;br /&amp;gt;[[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], Networking (TCP-IP, RS-485, RS-232), Project Management&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Monitor Business Machines developed a cost management system (mainly tracking photocopying) through networked (RS232/RS485/TCP-IP) electronic swipe card terminals. &lt;br /&gt;
&lt;br /&gt;
:My roles and responsibilities covered &lt;br /&gt;
:* Global customer support lead&lt;br /&gt;
:* Development and Testing of Hardware, embedded firmware, and software&lt;br /&gt;
:* Release Management&lt;br /&gt;
:* Global training &lt;br /&gt;
:* Project Manager to develop a casino premium player loyalty program (Terminal &amp;amp; infrastructure hardware and software) for Burswood Casino (Perth)&lt;br /&gt;
:* Built a performance test lab for automated testing of firmware and software updates&lt;br /&gt;
:* Built numerous test jigs for testing &amp;amp; diagnosing various hardware items&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2001MikeOgram.pdf 2001 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
===Short Term Contracts (1996 - 1997)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Production Planning, Documentation, &amp;lt;br /&amp;gt;Technical Support&lt;br /&gt;
|}&lt;br /&gt;
:* Cerebos Greggs – Production Planner &amp;amp; documentation&lt;br /&gt;
:* Auckland City Council – Ph PABX maintenance &amp;amp; support&lt;br /&gt;
&lt;br /&gt;
=== Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)===&lt;br /&gt;
* Production scheduling (MRPII) of diapers and facial tissues&lt;br /&gt;
* Sales forecasting&lt;br /&gt;
* Product specifications&lt;br /&gt;
* Continuous improvement projects&lt;br /&gt;
* Developed a VB application to automate the generation of productions plans from data in AS-400&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1359</id>
		<title>Pre-2014 Roles</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1359"/>
		<updated>2024-08-05T01:55:35Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-2014 Roles ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|Skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing, MS-Access VB App Testing, &amp;lt;br /&amp;gt;AS-400 Testing, VB Automation Scripts]]&lt;br /&gt;
|}&lt;br /&gt;
:Full time testing contractor to the IS department, testing a variety of bespoke applications primarily for internal use.&lt;br /&gt;
&lt;br /&gt;
:* Complex quotation app for car leasing built in MS-Access &lt;br /&gt;
:* Online driver FBT data collection portal (UI, web security, data flows, emailing)&lt;br /&gt;
:* Legacy AS-400 system testing&lt;br /&gt;
:* Developed a test automation framework for AS-400 using VB&lt;br /&gt;
&lt;br /&gt;
:At LPNZ I was introduced to testing as a proper profession by my friend [https://www.linkedin.com/in/christinalinwood/ Christina Linwood]. &lt;br /&gt;
&lt;br /&gt;
:Attended the NZ Tester Magazine conference, and the Risk Based Testing Workshop by Matt Mansell, it was exhilarating to learn from people passionate about testing.&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2009 - Mar-2013) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two school age children, the house chores, and '''[[Volunteering]]''' for the community&lt;br /&gt;
&lt;br /&gt;
=== Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], [[Skills#Manufacturing Resource Planning|Manufacturing Resource Planning]], &amp;lt;br /&amp;gt;[[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], Logistics, Staff Supervision, Continuous Improvement, &amp;lt;br /&amp;gt;Mechanical Product Design, Networking (TCP-IP, RS-485, RS-232)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:* Managed end-to-end logistics and quality control for electronic hardware production and delivery, including procurement, packing, and global shipping.&lt;br /&gt;
:* Managed all aspects of sourcing sub-assemblies from third-party suppliers.&lt;br /&gt;
:* Supervised staff and casual workers, fostering a culture of customer service and product quality.&lt;br /&gt;
:* Continuously reviewed and optimized company procedures to enhance workflows and business information accuracy.&lt;br /&gt;
:* Implemented innovative solutions to improve production quality and efficiency.&lt;br /&gt;
:* Worked closely with mechanical &amp;amp; electronic engineers designing large cash receiving units (similar to ATM’s).&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2009MikeOgram.pdf 2009 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2003 - Jul-2005) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two young children and facilitating the renovations of our first home prior to selling and moving to larger home.&lt;br /&gt;
&lt;br /&gt;
=== University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Teaching &amp;amp; Tutoring|Teaching, Tutoring]]&lt;br /&gt;
|}&lt;br /&gt;
:BTech Opto-electronics lab coordinator &amp;amp; Dept of Maori &amp;amp; Pacific Island Health physics tutor&lt;br /&gt;
&lt;br /&gt;
=== Bioengineering Institute - Embedded Software Engineer (Sep 2002 - Aug 2003)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|PIC Embedded System Development &amp;amp; Testing]], &amp;lt;br /&amp;gt;Bluetooth Protocol, [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]],  [[Skills#C++, Arduino, ESP32|C++ Programming]]&lt;br /&gt;
|}&lt;br /&gt;
:Developed an embedded solution with Bluetooth protocol stack for data telemetry from devices implanted in rabbits used for medical research at the University of Auckland. &lt;br /&gt;
:* Bluetooth HCI commands&lt;br /&gt;
:* Protocol stack implemented in low resource PIC micro-controller&lt;br /&gt;
:* Code written in C++ and cross compiled for multiple device types&lt;br /&gt;
:* LabView integration&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2004SimonMalpas.pdf 2004 Simon Malpas]&lt;br /&gt;
&lt;br /&gt;
===Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Customer Support, [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], Release Management, Training, &amp;lt;br /&amp;gt;[[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], Networking (TCP-IP, RS-485, RS-232), Project Management&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Monitor Business Machines developed a cost management system (mainly tracking photocopying) through networked (RS232/RS485/TCP-IP) electronic swipe card terminals. &lt;br /&gt;
&lt;br /&gt;
:My roles and responsibilities covered &lt;br /&gt;
:* Global customer support lead&lt;br /&gt;
:* Development and Testing of Hardware, embedded firmware, and software&lt;br /&gt;
:* Release Management&lt;br /&gt;
:* Global training &lt;br /&gt;
:* Project Manager to develop a casino premium player loyalty program (Terminal &amp;amp; infrastructure hardware and software) for Burswood Casino (Perth)&lt;br /&gt;
:* Built a performance test lab for automated testing of firmware and software updates&lt;br /&gt;
:* Built numerous test jigs for testing &amp;amp; diagnosing various hardware items&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2001MikeOgram.pdf 2001 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
===Short Term Contracts (1996 - 1997)===&lt;br /&gt;
* Cerebos Greggs – Production Planner &amp;amp; documentation&lt;br /&gt;
* Auckland City Council – Ph PABX maintenance &amp;amp; support&lt;br /&gt;
&lt;br /&gt;
=== Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)===&lt;br /&gt;
* Production scheduling (MRPII) of diapers and facial tissues&lt;br /&gt;
* Sales forecasting&lt;br /&gt;
* Product specifications&lt;br /&gt;
* Continuous improvement projects&lt;br /&gt;
* Developed a VB application to automate the generation of productions plans from data in AS-400&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1358</id>
		<title>Pre-2014 Roles</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1358"/>
		<updated>2024-08-05T00:17:40Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Bioengineering Institute - Embedded Software Engineer (Sep 2002 - Aug 2003) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-2014 Roles ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|Skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing, MS-Access VB App Testing, &amp;lt;br /&amp;gt;AS-400 Testing, VB Automation Scripts]]&lt;br /&gt;
|}&lt;br /&gt;
:Full time testing contractor to the IS department, testing a variety of bespoke applications primarily for internal use.&lt;br /&gt;
&lt;br /&gt;
:* Complex quotation app for car leasing built in MS-Access &lt;br /&gt;
:* Online driver FBT data collection portal (UI, web security, data flows, emailing)&lt;br /&gt;
:* Legacy AS-400 system testing&lt;br /&gt;
:* Developed a test automation framework for AS-400 using VB&lt;br /&gt;
&lt;br /&gt;
:At LPNZ I was introduced to testing as a proper profession by my friend [https://www.linkedin.com/in/christinalinwood/ Christina Linwood]. &lt;br /&gt;
&lt;br /&gt;
:Attended the NZ Tester Magazine conference, and the Risk Based Testing Workshop by Matt Mansell, it was exhilarating to learn from people passionate about testing.&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2009 - Mar-2013) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two school age children, the house chores, and '''[[Volunteering]]''' for the community&lt;br /&gt;
&lt;br /&gt;
=== Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], [[Skills#Manufacturing Resource Planning|Manufacturing Resource Planning]], &amp;lt;br /&amp;gt;[[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], Logistics, Staff Supervision, Continuous Improvement, &amp;lt;br /&amp;gt;Mechanical Product Design, Networking (TCP-IP, RS-485, RS-232)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:* Managed end-to-end logistics and quality control for electronic hardware production and delivery, including procurement, packing, and global shipping.&lt;br /&gt;
:* Managed all aspects of sourcing sub-assemblies from third-party suppliers.&lt;br /&gt;
:* Supervised staff and casual workers, fostering a culture of customer service and product quality.&lt;br /&gt;
:* Continuously reviewed and optimized company procedures to enhance workflows and business information accuracy.&lt;br /&gt;
:* Implemented innovative solutions to improve production quality and efficiency.&lt;br /&gt;
:* Worked closely with mechanical &amp;amp; electronic engineers designing large cash receiving units (similar to ATM’s).&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2009MikeOgram.pdf 2009 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2003 - Jul-2005) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two young children and facilitating the renovations of our first home prior to selling and moving to larger home.&lt;br /&gt;
&lt;br /&gt;
=== University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Teaching &amp;amp; Tutoring|Teaching, Tutoring]]&lt;br /&gt;
|}&lt;br /&gt;
:BTech Opto-electronics lab coordinator &amp;amp; Dept of Maori &amp;amp; Pacific Island Health physics tutor&lt;br /&gt;
&lt;br /&gt;
=== Bioengineering Institute - Embedded Software Engineer (Sep 2002 - Aug 2003)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|PIC Embedded System Development &amp;amp; Testing]], &amp;lt;br /&amp;gt;Bluetooth Protocol, [[Skills#Electrical &amp;amp; Electronic Engineering|Electronics]],  [[Skills#C++, Arduino, ESP32|C++ Programming]]&lt;br /&gt;
|}&lt;br /&gt;
:Developed an embedded solution with Bluetooth protocol stack for data telemetry from devices implanted in rabbits used for medical research at the University of Auckland. &lt;br /&gt;
:* Bluetooth HCI commands&lt;br /&gt;
:* Protocol stack implemented in low resource PIC micro-controller&lt;br /&gt;
:* Code written in C++ and cross compiled for multiple device types&lt;br /&gt;
:* LabView integration&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2004SimonMalpas.pdf 2004 Simon Malpas]&lt;br /&gt;
&lt;br /&gt;
===Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Template:References|Reference]]&lt;br /&gt;
|-&lt;br /&gt;
|[http://dirksonline.net/CV/2001MikeOgram.pdf 2001 Mike Ogram]&lt;br /&gt;
|}&lt;br /&gt;
Monitor Business Machines developed a cost management system (mainly tracking photocopying) through networked (RS232/RS485/TCP-IP) electronic swipe card terminals. &lt;br /&gt;
&lt;br /&gt;
My roles and responsibilities covered &lt;br /&gt;
* Global customer support lead&lt;br /&gt;
* Development and Testing of Hardware, embedded firmware, and software&lt;br /&gt;
* Release Management&lt;br /&gt;
* Global training &lt;br /&gt;
* Project Manager to develop a casino premium player loyalty program (Terminal &amp;amp; infrastructure hardware and software) for Burswood Casino (Perth)&lt;br /&gt;
* Built a performance test lab for automated testing of firmware and software updates&lt;br /&gt;
* Built numerous test jigs for testing &amp;amp; diagnosing various hardware items&lt;br /&gt;
&lt;br /&gt;
===Short Term Contracts (1996 - 1997)===&lt;br /&gt;
* Cerebos Greggs – Production Planner &amp;amp; documentation&lt;br /&gt;
* Auckland City Council – Ph PABX maintenance &amp;amp; support&lt;br /&gt;
&lt;br /&gt;
=== Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)===&lt;br /&gt;
* Production scheduling (MRPII) of diapers and facial tissues&lt;br /&gt;
* Sales forecasting&lt;br /&gt;
* Product specifications&lt;br /&gt;
* Continuous improvement projects&lt;br /&gt;
* Developed a VB application to automate the generation of productions plans from data in AS-400&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Skills&amp;diff=1357</id>
		<title>Skills</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Skills&amp;diff=1357"/>
		<updated>2024-08-05T00:13:36Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Other */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
This page links my skills to the roles where I learned and used them. &lt;br /&gt;
== Testing ==&lt;br /&gt;
=== [https://context-driven-testing.com/ Context Driven Testing] ===&lt;br /&gt;
:Used in all my roles from 2016&lt;br /&gt;
=== Programming &amp;amp; Automation ===&lt;br /&gt;
=== API Testing ===&lt;br /&gt;
=== Native Mobile App Testing ===&lt;br /&gt;
=== Web App Testing ===&lt;br /&gt;
=== Firmware &amp;amp; Embedded System Testing ===&lt;br /&gt;
=== Testability Concepts ===&lt;br /&gt;
=== Observability Concepts ===&lt;br /&gt;
=== Exploratory Testing (Session &amp;amp; Thread Based) ===&lt;br /&gt;
=== Visual Modelling ===&lt;br /&gt;
: Eg. Mind mapping&lt;br /&gt;
&lt;br /&gt;
=== Metrics Driven Development (A/B Testing) ===&lt;br /&gt;
=== Accessibility Testing ===&lt;br /&gt;
=== Data Privacy ===&lt;br /&gt;
&lt;br /&gt;
== Automation &amp;amp; Programming ==&lt;br /&gt;
=== JavaScript ===&lt;br /&gt;
----&lt;br /&gt;
==== Node.js ====&lt;br /&gt;
:Including npm&lt;br /&gt;
&lt;br /&gt;
==== Express.js ====&lt;br /&gt;
==== React ====&lt;br /&gt;
==== Jest ====&lt;br /&gt;
==== Cypress.io ====&lt;br /&gt;
==== Webdriver.io ====&lt;br /&gt;
==== mermaid.js ====&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
----&lt;br /&gt;
==== [https://maven.apache.org/ Maven] ====&lt;br /&gt;
==== [https://junit.org/ JUnit] ====&lt;br /&gt;
==== [https://testng.org/ TestNG] ====&lt;br /&gt;
&lt;br /&gt;
==== [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD]) ====&lt;br /&gt;
==== [https://rest-assured.io/ REST-assured] ====&lt;br /&gt;
==== [https://www.selenium.dev/ Selenium] ====&lt;br /&gt;
==== [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs) ====&lt;br /&gt;
==== [https://wave.tidalcode.dev/ Tidal. Wave] ====&lt;br /&gt;
&lt;br /&gt;
=== Other Automation &amp;amp; Programming ===&lt;br /&gt;
----&lt;br /&gt;
==== C#, Specflow (BDD) ====&lt;br /&gt;
&lt;br /&gt;
==== SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SQL Server Management Studio (SSMS)] ====&lt;br /&gt;
:* Test Data creation&lt;br /&gt;
:* Record Verification&lt;br /&gt;
:* profiling stored procedure calls&lt;br /&gt;
:* Testing DB schema update scripts&lt;br /&gt;
&lt;br /&gt;
==== Appium &amp;amp; XCUITest ====&lt;br /&gt;
==== GraphQL ====&lt;br /&gt;
==== C++, Arduino, ESP32 ====&lt;br /&gt;
&lt;br /&gt;
== Tools &amp;amp; Technologies ==&lt;br /&gt;
=== [https://www.splunk.com/ Splunk] ===&lt;br /&gt;
:log aggregation &amp;amp; analysis&lt;br /&gt;
=== Postman, Newman ===&lt;br /&gt;
=== VS Code ===&lt;br /&gt;
=== IntelliJ ===&lt;br /&gt;
=== Visual Studio ===&lt;br /&gt;
=== Github, Bitbucket ===&lt;br /&gt;
:* GitFlow branching strategy&lt;br /&gt;
:* Release trains&lt;br /&gt;
&lt;br /&gt;
=== [https://www.sonarsource.com/products/sonarlint/ Sonarlint] &amp;amp; [https://www.sonarsource.com/products/sonarqube/ Sonarqube] ===&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
=== Docker ===&lt;br /&gt;
=== Terraform ===&lt;br /&gt;
=== HashiCorp Vault ===&lt;br /&gt;
=== [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark] ===&lt;br /&gt;
: And sometimes [https://portswigger.net/burp/communitydownload Burp Suite CE] and [https://mitmproxy.org/ MITM Proxy] as well&lt;br /&gt;
&lt;br /&gt;
=== Jenkins, Azure Devops (TFS), Google Cloud Platform ===&lt;br /&gt;
: [https://learn.microsoft.com/en-us/previous-versions/azure/devops/all/overview?view=tfs-2018 TFS - Team Foundation Server] ''(now rebranded to Azure DevOps)'', was used for version control (Git repos), continuous integration build server &amp;amp; build agents, and including Microsoft Test Manager ''(now rebranded to Azure Test Plan)''.&lt;br /&gt;
&lt;br /&gt;
=== Kafka &amp;amp; Azure Event Queues ===&lt;br /&gt;
=== Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting ===&lt;br /&gt;
=== [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence] ===&lt;br /&gt;
: Including [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale] (was previously TM4J)&lt;br /&gt;
&lt;br /&gt;
=== [https://xmind.app/ XMind] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI] ===&lt;br /&gt;
&lt;br /&gt;
== General Skills ==&lt;br /&gt;
=== Agile (Scrum, Kanban, SAFe, Squad Master) ===&lt;br /&gt;
:* [https://www.scaledagileframework.com '''Scaled Agile Framework''' (SAFe)] - at [[Fiserv Auckland - Intermediate Software Test Engineer]] &lt;br /&gt;
:* Agile ceremonies - stand-ups, backlog grooming, estimation, planning, demos, and retros.&lt;br /&gt;
:* Development lifecycle - story design, implementation, testing, and integration&lt;br /&gt;
&lt;br /&gt;
=== Banking and Finance Sector ===&lt;br /&gt;
=== AML/CFT Sector ===&lt;br /&gt;
:Anti-Money Laundering and Countering Financing of Terrorism&lt;br /&gt;
=== Online Auction Platforms ===&lt;br /&gt;
=== Vehicle Leasing systems ===&lt;br /&gt;
=== Platform Engineering ===&lt;br /&gt;
=== Staff Mentoring &amp;amp; Induction ===&lt;br /&gt;
=== Microservices Architecture ===&lt;br /&gt;
=== Manufacturing Resource Planning - Logistics Manager ===&lt;br /&gt;
=== Physics - Weather Radar Systems, Lasers, Fibre-optics ===&lt;br /&gt;
=== Electrical &amp;amp; Electronic Engineering ===&lt;br /&gt;
:[[Education|University of Auckland: Masters of Engineering (E&amp;amp;E) 1993]]&lt;br /&gt;
=== Teaching &amp;amp; Tutoring ===&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1356</id>
		<title>Pre-2014 Roles</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1356"/>
		<updated>2024-08-05T00:11:19Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-2014 Roles ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|Skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing, MS-Access VB App Testing, &amp;lt;br /&amp;gt;AS-400 Testing, VB Automation Scripts]]&lt;br /&gt;
|}&lt;br /&gt;
:Full time testing contractor to the IS department, testing a variety of bespoke applications primarily for internal use.&lt;br /&gt;
&lt;br /&gt;
:* Complex quotation app for car leasing built in MS-Access &lt;br /&gt;
:* Online driver FBT data collection portal (UI, web security, data flows, emailing)&lt;br /&gt;
:* Legacy AS-400 system testing&lt;br /&gt;
:* Developed a test automation framework for AS-400 using VB&lt;br /&gt;
&lt;br /&gt;
:At LPNZ I was introduced to testing as a proper profession by my friend [https://www.linkedin.com/in/christinalinwood/ Christina Linwood]. &lt;br /&gt;
&lt;br /&gt;
:Attended the NZ Tester Magazine conference, and the Risk Based Testing Workshop by Matt Mansell, it was exhilarating to learn from people passionate about testing.&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2009 - Mar-2013) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two school age children, the house chores, and '''[[Volunteering]]''' for the community&lt;br /&gt;
&lt;br /&gt;
=== Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], [[Skills#Manufacturing Resource Planning|Manufacturing Resource Planning]], &amp;lt;br /&amp;gt;[[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], Logistics, Staff Supervision, Continuous Improvement, &amp;lt;br /&amp;gt;Mechanical Product Design, Networking (TCP-IP, RS-485, RS-232)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:* Managed end-to-end logistics and quality control for electronic hardware production and delivery, including procurement, packing, and global shipping.&lt;br /&gt;
:* Managed all aspects of sourcing sub-assemblies from third-party suppliers.&lt;br /&gt;
:* Supervised staff and casual workers, fostering a culture of customer service and product quality.&lt;br /&gt;
:* Continuously reviewed and optimized company procedures to enhance workflows and business information accuracy.&lt;br /&gt;
:* Implemented innovative solutions to improve production quality and efficiency.&lt;br /&gt;
:* Worked closely with mechanical &amp;amp; electronic engineers designing large cash receiving units (similar to ATM’s).&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2009MikeOgram.pdf 2009 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2003 - Jul-2005) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two young children and facilitating the renovations of our first home prior to selling and moving to larger home.&lt;br /&gt;
&lt;br /&gt;
=== University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Teaching &amp;amp; Tutoring|Teaching, Tutoring]]&lt;br /&gt;
|}&lt;br /&gt;
:BTech Opto-electronics lab coordinator &amp;amp; Dept of Maori &amp;amp; Pacific Island Health physics tutor&lt;br /&gt;
&lt;br /&gt;
=== Bioengineering Institute - Embedded Software Engineer (Sep 2002 - Aug 2003)===&lt;br /&gt;
&lt;br /&gt;
Developed an embedded solution with Bluetooth protocol stack for data telemetry from devices implanted in rabbits used for medical research at the University of Auckland. &lt;br /&gt;
* Bluetooth HCI commands&lt;br /&gt;
* Protocol stack implemented in low resource PIC micro controler&lt;br /&gt;
* Code written in C and cross compiled for multiple device types&lt;br /&gt;
* LabView integration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2004SimonMalpas.pdf 2004 Simon Malpas]&lt;br /&gt;
&lt;br /&gt;
===Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Template:References|Reference]]&lt;br /&gt;
|-&lt;br /&gt;
|[http://dirksonline.net/CV/2001MikeOgram.pdf 2001 Mike Ogram]&lt;br /&gt;
|}&lt;br /&gt;
Monitor Business Machines developed a cost management system (mainly tracking photocopying) through networked (RS232/RS485/TCP-IP) electronic swipe card terminals. &lt;br /&gt;
&lt;br /&gt;
My roles and responsibilities covered &lt;br /&gt;
* Global customer support lead&lt;br /&gt;
* Development and Testing of Hardware, embedded firmware, and software&lt;br /&gt;
* Release Management&lt;br /&gt;
* Global training &lt;br /&gt;
* Project Manager to develop a casino premium player loyalty program (Terminal &amp;amp; infrastructure hardware and software) for Burswood Casino (Perth)&lt;br /&gt;
* Built a performance test lab for automated testing of firmware and software updates&lt;br /&gt;
* Built numerous test jigs for testing &amp;amp; diagnosing various hardware items&lt;br /&gt;
&lt;br /&gt;
===Short Term Contracts (1996 - 1997)===&lt;br /&gt;
* Cerebos Greggs – Production Planner &amp;amp; documentation&lt;br /&gt;
* Auckland City Council – Ph PABX maintenance &amp;amp; support&lt;br /&gt;
&lt;br /&gt;
=== Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)===&lt;br /&gt;
* Production scheduling (MRPII) of diapers and facial tissues&lt;br /&gt;
* Sales forecasting&lt;br /&gt;
* Product specifications&lt;br /&gt;
* Continuous improvement projects&lt;br /&gt;
* Developed a VB application to automate the generation of productions plans from data in AS-400&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1355</id>
		<title>Pre-2014 Roles</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1355"/>
		<updated>2024-08-05T00:10:53Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Bioengineering Institute - Embedded Software Engineer (Sep 2002 - Aug 2003) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-2014 Roles ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|Skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing, MS-Access VB App Testing, &amp;lt;br /&amp;gt;AS-400 Testing, VB Automation Scripts]]&lt;br /&gt;
|}&lt;br /&gt;
:Full time testing contractor to the IS department, testing a variety of bespoke applications primarily for internal use.&lt;br /&gt;
&lt;br /&gt;
:* Complex quotation app for car leasing built in MS-Access &lt;br /&gt;
:* Online driver FBT data collection portal (UI, web security, data flows, emailing)&lt;br /&gt;
:* Legacy AS-400 system testing&lt;br /&gt;
:* Developed a test automation framework for AS-400 using VB&lt;br /&gt;
&lt;br /&gt;
:At LPNZ I was introduced to testing as a proper profession by my friend [https://www.linkedin.com/in/christinalinwood/ Christina Linwood]. &lt;br /&gt;
&lt;br /&gt;
:Attended the NZ Tester Magazine conference, and the Risk Based Testing Workshop by Matt Mansell, it was exhilarating to learn from people passionate about testing.&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2009 - Mar-2013) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two school age children, the house chores, and '''[[Volunteering]]''' for the community&lt;br /&gt;
&lt;br /&gt;
=== Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], [[Skills#Manufacturing Resource Planning|Manufacturing Resource Planning]], &amp;lt;br /&amp;gt;[[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], Logistics, Staff Supervision, Continuous Improvement, &amp;lt;br /&amp;gt;Mechanical Product Design, Networking (TCP-IP, RS-485, RS-232)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:* Managed end-to-end logistics and quality control for electronic hardware production and delivery, including procurement, packing, and global shipping.&lt;br /&gt;
:* Managed all aspects of sourcing sub-assemblies from third-party suppliers.&lt;br /&gt;
:* Supervised staff and casual workers, fostering a culture of customer service and product quality.&lt;br /&gt;
:* Continuously reviewed and optimized company procedures to enhance workflows and business information accuracy.&lt;br /&gt;
:* Implemented innovative solutions to improve production quality and efficiency.&lt;br /&gt;
:* Worked closely with mechanical &amp;amp; electronic engineers designing large cash receiving units (similar to ATM’s).&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [http://dirksonline.net/CV/2009MikeOgram.pdf 2009 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2003 - Jul-2005) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two young children and facilitating the renovations of our first home prior to selling and moving to larger home.&lt;br /&gt;
&lt;br /&gt;
=== University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Teaching &amp;amp; Tutoring|Teaching, Tutoring]]&lt;br /&gt;
|}&lt;br /&gt;
:BTech Opto-electronics lab coordinator &amp;amp; Dept of Maori &amp;amp; Pacific Island Health physics tutor&lt;br /&gt;
&lt;br /&gt;
=== Bioengineering Institute - Embedded Software Engineer (Sep 2002 - Aug 2003)===&lt;br /&gt;
&lt;br /&gt;
Developed an embedded solution with Bluetooth protocol stack for data telemetry from devices implanted in rabbits used for medical research at the University of Auckland. &lt;br /&gt;
* Bluetooth HCI commands&lt;br /&gt;
* Protocol stack implemented in low resource PIC micro controler&lt;br /&gt;
* Code written in C and cross compiled for multiple device types&lt;br /&gt;
* LabView integration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [https://dirksonline.net/CV/2004SimonMalpas.pdf 2004 Simon Malpas]&lt;br /&gt;
&lt;br /&gt;
===Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Template:References|Reference]]&lt;br /&gt;
|-&lt;br /&gt;
|[http://dirksonline.net/CV/2001MikeOgram.pdf 2001 Mike Ogram]&lt;br /&gt;
|}&lt;br /&gt;
Monitor Business Machines developed a cost management system (mainly tracking photocopying) through networked (RS232/RS485/TCP-IP) electronic swipe card terminals. &lt;br /&gt;
&lt;br /&gt;
My roles and responsibilities covered &lt;br /&gt;
* Global customer support lead&lt;br /&gt;
* Development and Testing of Hardware, embedded firmware, and software&lt;br /&gt;
* Release Management&lt;br /&gt;
* Global training &lt;br /&gt;
* Project Manager to develop a casino premium player loyalty program (Terminal &amp;amp; infrastructure hardware and software) for Burswood Casino (Perth)&lt;br /&gt;
* Built a performance test lab for automated testing of firmware and software updates&lt;br /&gt;
* Built numerous test jigs for testing &amp;amp; diagnosing various hardware items&lt;br /&gt;
&lt;br /&gt;
===Short Term Contracts (1996 - 1997)===&lt;br /&gt;
* Cerebos Greggs – Production Planner &amp;amp; documentation&lt;br /&gt;
* Auckland City Council – Ph PABX maintenance &amp;amp; support&lt;br /&gt;
&lt;br /&gt;
=== Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)===&lt;br /&gt;
* Production scheduling (MRPII) of diapers and facial tissues&lt;br /&gt;
* Sales forecasting&lt;br /&gt;
* Product specifications&lt;br /&gt;
* Continuous improvement projects&lt;br /&gt;
* Developed a VB application to automate the generation of productions plans from data in AS-400&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1354</id>
		<title>Pre-2014 Roles</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1354"/>
		<updated>2024-08-05T00:08:28Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-2014 Roles ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|Skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing, MS-Access VB App Testing, &amp;lt;br /&amp;gt;AS-400 Testing, VB Automation Scripts]]&lt;br /&gt;
|}&lt;br /&gt;
:Full time testing contractor to the IS department, testing a variety of bespoke applications primarily for internal use.&lt;br /&gt;
&lt;br /&gt;
:* Complex quotation app for car leasing built in MS-Access &lt;br /&gt;
:* Online driver FBT data collection portal (UI, web security, data flows, emailing)&lt;br /&gt;
:* Legacy AS-400 system testing&lt;br /&gt;
:* Developed a test automation framework for AS-400 using VB&lt;br /&gt;
&lt;br /&gt;
:At LPNZ I was introduced to testing as a proper profession by my friend [https://www.linkedin.com/in/christinalinwood/ Christina Linwood]. &lt;br /&gt;
&lt;br /&gt;
:Attended the NZ Tester Magazine conference, and the Risk Based Testing Workshop by Matt Mansell, it was exhilarating to learn from people passionate about testing.&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2009 - Mar-2013) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two school age children, the house chores, and '''[[Volunteering]]''' for the community&lt;br /&gt;
&lt;br /&gt;
=== Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], [[Skills#Manufacturing Resource Planning|Manufacturing Resource Planning]], &amp;lt;br /&amp;gt;[[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], Logistics, Staff Supervision, Continuous Improvement, &amp;lt;br /&amp;gt;Mechanical Product Design, Networking (TCP-IP, RS-485, RS-232)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:* Managed end-to-end logistics and quality control for electronic hardware production and delivery, including procurement, packing, and global shipping.&lt;br /&gt;
:* Managed all aspects of sourcing sub-assemblies from third-party suppliers.&lt;br /&gt;
:* Supervised staff and casual workers, fostering a culture of customer service and product quality.&lt;br /&gt;
:* Continuously reviewed and optimized company procedures to enhance workflows and business information accuracy.&lt;br /&gt;
:* Implemented innovative solutions to improve production quality and efficiency.&lt;br /&gt;
:* Worked closely with mechanical &amp;amp; electronic engineers designing large cash receiving units (similar to ATM’s).&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [http://dirksonline.net/CV/2009MikeOgram.pdf 2009 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2003 - Jul-2005) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two young children and facilitating the renovations of our first home prior to selling and moving to larger home.&lt;br /&gt;
&lt;br /&gt;
=== University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Teaching &amp;amp; Tutoring|Teaching, Tutoring]]&lt;br /&gt;
|}&lt;br /&gt;
:BTech Opto-electronics lab coordinator &amp;amp; Dept of Maori &amp;amp; Pacific Island Health physics tutor&lt;br /&gt;
&lt;br /&gt;
=== Bioengineering Institute - Embedded Software Engineer (Sep 2002 - Aug 2003)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Template:References|Reference]]&lt;br /&gt;
|-&lt;br /&gt;
|[http://dirksonline.net/CV/2004SimonMalpas.pdf 2004 Simon Malpas]&lt;br /&gt;
|}&lt;br /&gt;
Developed an embedded solution with Bluetooth protocol stack for data telemetry from devices implanted in rabbits used for medical research at the University of Auckland. &lt;br /&gt;
* Bluetooth HCI commands&lt;br /&gt;
* Protocol stack implemented in low resource PIC micro controler&lt;br /&gt;
* Code written in C and cross compiled for multiple device types&lt;br /&gt;
* LabView integration&lt;br /&gt;
&lt;br /&gt;
===Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Template:References|Reference]]&lt;br /&gt;
|-&lt;br /&gt;
|[http://dirksonline.net/CV/2001MikeOgram.pdf 2001 Mike Ogram]&lt;br /&gt;
|}&lt;br /&gt;
Monitor Business Machines developed a cost management system (mainly tracking photocopying) through networked (RS232/RS485/TCP-IP) electronic swipe card terminals. &lt;br /&gt;
&lt;br /&gt;
My roles and responsibilities covered &lt;br /&gt;
* Global customer support lead&lt;br /&gt;
* Development and Testing of Hardware, embedded firmware, and software&lt;br /&gt;
* Release Management&lt;br /&gt;
* Global training &lt;br /&gt;
* Project Manager to develop a casino premium player loyalty program (Terminal &amp;amp; infrastructure hardware and software) for Burswood Casino (Perth)&lt;br /&gt;
* Built a performance test lab for automated testing of firmware and software updates&lt;br /&gt;
* Built numerous test jigs for testing &amp;amp; diagnosing various hardware items&lt;br /&gt;
&lt;br /&gt;
===Short Term Contracts (1996 - 1997)===&lt;br /&gt;
* Cerebos Greggs – Production Planner &amp;amp; documentation&lt;br /&gt;
* Auckland City Council – Ph PABX maintenance &amp;amp; support&lt;br /&gt;
&lt;br /&gt;
=== Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)===&lt;br /&gt;
* Production scheduling (MRPII) of diapers and facial tissues&lt;br /&gt;
* Sales forecasting&lt;br /&gt;
* Product specifications&lt;br /&gt;
* Continuous improvement projects&lt;br /&gt;
* Developed a VB application to automate the generation of productions plans from data in AS-400&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Skills&amp;diff=1353</id>
		<title>Skills</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Skills&amp;diff=1353"/>
		<updated>2024-08-05T00:07:58Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* General Skills */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;span id=&amp;quot;BackToTop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:#FAFAFA; position:fixed; bottom:1%; left:1%; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
[[#BackToTop|Back to the Top]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
This page links my skills to the roles where I learned and used them. &lt;br /&gt;
== Testing ==&lt;br /&gt;
=== [https://context-driven-testing.com/ Context Driven Testing] ===&lt;br /&gt;
:Used in all my roles from 2016&lt;br /&gt;
=== Programming &amp;amp; Automation ===&lt;br /&gt;
=== API Testing ===&lt;br /&gt;
=== Native Mobile App Testing ===&lt;br /&gt;
=== Web App Testing ===&lt;br /&gt;
=== Firmware &amp;amp; Embedded System Testing ===&lt;br /&gt;
=== Testability Concepts ===&lt;br /&gt;
=== Observability Concepts ===&lt;br /&gt;
=== Exploratory Testing (Session &amp;amp; Thread Based) ===&lt;br /&gt;
=== Visual Modelling ===&lt;br /&gt;
: Eg. Mind mapping&lt;br /&gt;
&lt;br /&gt;
=== Metrics Driven Development (A/B Testing) ===&lt;br /&gt;
=== Accessibility Testing ===&lt;br /&gt;
=== Data Privacy ===&lt;br /&gt;
&lt;br /&gt;
== Automation &amp;amp; Programming ==&lt;br /&gt;
=== JavaScript ===&lt;br /&gt;
----&lt;br /&gt;
==== Node.js ====&lt;br /&gt;
:Including npm&lt;br /&gt;
&lt;br /&gt;
==== Express.js ====&lt;br /&gt;
==== React ====&lt;br /&gt;
==== Jest ====&lt;br /&gt;
==== Cypress.io ====&lt;br /&gt;
==== Webdriver.io ====&lt;br /&gt;
==== mermaid.js ====&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
----&lt;br /&gt;
==== [https://maven.apache.org/ Maven] ====&lt;br /&gt;
==== [https://junit.org/ JUnit] ====&lt;br /&gt;
==== [https://testng.org/ TestNG] ====&lt;br /&gt;
&lt;br /&gt;
==== [https://cucumber.io/ Cucumber] ([https://en.wikipedia.org/wiki/Behavior-driven_development BDD]) ====&lt;br /&gt;
==== [https://rest-assured.io/ REST-assured] ====&lt;br /&gt;
==== [https://www.selenium.dev/ Selenium] ====&lt;br /&gt;
==== [https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ Page Object Models] (POMs) ====&lt;br /&gt;
==== [https://wave.tidalcode.dev/ Tidal. Wave] ====&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
----&lt;br /&gt;
==== C#, Specflow (BDD) ====&lt;br /&gt;
&lt;br /&gt;
==== SQL &amp;amp; [https://en.wikipedia.org/wiki/SQL_Server_Management_Studio SQL Server Management Studio (SSMS)] ====&lt;br /&gt;
* Test Data creation&lt;br /&gt;
* Record Verification&lt;br /&gt;
* profiling stored procedure calls&lt;br /&gt;
* Testing DB schema update scripts&lt;br /&gt;
&lt;br /&gt;
==== Appium &amp;amp; XCUITest ====&lt;br /&gt;
==== GraphQL ====&lt;br /&gt;
==== C++, Arduino, ESP32 ====&lt;br /&gt;
&lt;br /&gt;
== Tools &amp;amp; Technologies ==&lt;br /&gt;
=== [https://www.splunk.com/ Splunk] ===&lt;br /&gt;
:log aggregation &amp;amp; analysis&lt;br /&gt;
=== Postman, Newman ===&lt;br /&gt;
=== VS Code ===&lt;br /&gt;
=== IntelliJ ===&lt;br /&gt;
=== Visual Studio ===&lt;br /&gt;
=== Github, Bitbucket ===&lt;br /&gt;
:* GitFlow branching strategy&lt;br /&gt;
:* Release trains&lt;br /&gt;
&lt;br /&gt;
=== [https://www.sonarsource.com/products/sonarlint/ Sonarlint] &amp;amp; [https://www.sonarsource.com/products/sonarqube/ Sonarqube] ===&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
=== Docker ===&lt;br /&gt;
=== Terraform ===&lt;br /&gt;
=== HashiCorp Vault ===&lt;br /&gt;
=== [https://www.telerik.com/fiddler Fiddler], [https://www.charlesproxy.com/ Charles Proxy], [https://www.wireshark.org/ Wireshark] ===&lt;br /&gt;
: And sometimes [https://portswigger.net/burp/communitydownload Burp Suite CE] and [https://mitmproxy.org/ MITM Proxy] as well&lt;br /&gt;
&lt;br /&gt;
=== Jenkins, Azure Devops (TFS), Google Cloud Platform ===&lt;br /&gt;
: [https://learn.microsoft.com/en-us/previous-versions/azure/devops/all/overview?view=tfs-2018 TFS - Team Foundation Server] ''(now rebranded to Azure DevOps)'', was used for version control (Git repos), continuous integration build server &amp;amp; build agents, and including Microsoft Test Manager ''(now rebranded to Azure Test Plan)''.&lt;br /&gt;
&lt;br /&gt;
=== Kafka &amp;amp; Azure Event Queues ===&lt;br /&gt;
=== Bash &amp;amp; [https://learn.microsoft.com/en-us/powershell/ PowerShell] scripting ===&lt;br /&gt;
=== [https://www.atlassian.com/software/jira Jira], [https://www.atlassian.com/software/confluence Confluence] ===&lt;br /&gt;
: Including [https://smartbear.com/test-management/zephyr-scale/ Zephyr Scale] (was previously TM4J)&lt;br /&gt;
&lt;br /&gt;
=== [https://xmind.app/ XMind] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://www.soapui.org/ SoapUI], [https://smartbear.com/product/ready-api/ ReadyAPI] ===&lt;br /&gt;
&lt;br /&gt;
== General Skills ==&lt;br /&gt;
=== Agile (Scrum, Kanban, SAFe, Squad Master) ===&lt;br /&gt;
:* [https://www.scaledagileframework.com '''Scaled Agile Framework''' (SAFe)] - at [[Fiserv Auckland - Intermediate Software Test Engineer]] &lt;br /&gt;
:* Agile ceremonies - stand-ups, backlog grooming, estimation, planning, demos, and retros.&lt;br /&gt;
:* Development lifecycle - story design, implementation, testing, and integration&lt;br /&gt;
&lt;br /&gt;
=== Banking and Finance Sector ===&lt;br /&gt;
=== AML/CFT Sector ===&lt;br /&gt;
:Anti-Money Laundering and Countering Financing of Terrorism&lt;br /&gt;
=== Online Auction Platforms ===&lt;br /&gt;
=== Vehicle Leasing systems ===&lt;br /&gt;
=== Platform Engineering ===&lt;br /&gt;
=== Staff Mentoring &amp;amp; Induction ===&lt;br /&gt;
=== Microservices Architecture ===&lt;br /&gt;
=== Manufacturing Resource Planning - Logistics Manager ===&lt;br /&gt;
=== Physics - Weather Radar Systems, Lasers, Fibre-optics ===&lt;br /&gt;
=== Electrical &amp;amp; Electronic Engineering ===&lt;br /&gt;
:[[Education|University of Auckland: Masters of Engineering (E&amp;amp;E) 1993]]&lt;br /&gt;
=== Teaching &amp;amp; Tutoring ===&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1352</id>
		<title>Pre-2014 Roles</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1352"/>
		<updated>2024-08-05T00:05:57Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Primary Caregiver (Sep-2003 - Jul-2005) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-2014 Roles ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|Skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing, MS-Access VB App Testing, &amp;lt;br /&amp;gt;AS-400 Testing, VB Automation Scripts]]&lt;br /&gt;
|}&lt;br /&gt;
:Full time testing contractor to the IS department, testing a variety of bespoke applications primarily for internal use.&lt;br /&gt;
&lt;br /&gt;
:* Complex quotation app for car leasing built in MS-Access &lt;br /&gt;
:* Online driver FBT data collection portal (UI, web security, data flows, emailing)&lt;br /&gt;
:* Legacy AS-400 system testing&lt;br /&gt;
:* Developed a test automation framework for AS-400 using VB&lt;br /&gt;
&lt;br /&gt;
:At LPNZ I was introduced to testing as a proper profession by my friend [https://www.linkedin.com/in/christinalinwood/ Christina Linwood]. &lt;br /&gt;
&lt;br /&gt;
:Attended the NZ Tester Magazine conference, and the Risk Based Testing Workshop by Matt Mansell, it was exhilarating to learn from people passionate about testing.&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2009 - Mar-2013) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two school age children, the house chores, and '''[[Volunteering]]''' for the community&lt;br /&gt;
&lt;br /&gt;
=== Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], [[Skills#Manufacturing Resource Planning|Manufacturing Resource Planning]], &amp;lt;br /&amp;gt;[[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], Logistics, Staff Supervision, Continuous Improvement, &amp;lt;br /&amp;gt;Mechanical Product Design, Networking (TCP-IP, RS-485, RS-232)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:* Managed end-to-end logistics and quality control for electronic hardware production and delivery, including procurement, packing, and global shipping.&lt;br /&gt;
:* Managed all aspects of sourcing sub-assemblies from third-party suppliers.&lt;br /&gt;
:* Supervised staff and casual workers, fostering a culture of customer service and product quality.&lt;br /&gt;
:* Continuously reviewed and optimized company procedures to enhance workflows and business information accuracy.&lt;br /&gt;
:* Implemented innovative solutions to improve production quality and efficiency.&lt;br /&gt;
:* Worked closely with mechanical &amp;amp; electronic engineers designing large cash receiving units (similar to ATM’s).&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [http://dirksonline.net/CV/2009MikeOgram.pdf 2009 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2003 - Jul-2005) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two young children and facilitating the renovations of our first home prior to selling and moving to larger home.&lt;br /&gt;
&lt;br /&gt;
=== University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time) ===&lt;br /&gt;
BTech Opto-electronics lab coordinator &amp;amp; Dept of Maori &amp;amp; Pacific Island Health physics tutor&lt;br /&gt;
&lt;br /&gt;
=== Bioengineering Institute - Embedded Software Engineer (Sep 2002 - Aug 2003)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Template:References|Reference]]&lt;br /&gt;
|-&lt;br /&gt;
|[http://dirksonline.net/CV/2004SimonMalpas.pdf 2004 Simon Malpas]&lt;br /&gt;
|}&lt;br /&gt;
Developed an embedded solution with Bluetooth protocol stack for data telemetry from devices implanted in rabbits used for medical research at the University of Auckland. &lt;br /&gt;
* Bluetooth HCI commands&lt;br /&gt;
* Protocol stack implemented in low resource PIC micro controler&lt;br /&gt;
* Code written in C and cross compiled for multiple device types&lt;br /&gt;
* LabView integration&lt;br /&gt;
&lt;br /&gt;
===Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Template:References|Reference]]&lt;br /&gt;
|-&lt;br /&gt;
|[http://dirksonline.net/CV/2001MikeOgram.pdf 2001 Mike Ogram]&lt;br /&gt;
|}&lt;br /&gt;
Monitor Business Machines developed a cost management system (mainly tracking photocopying) through networked (RS232/RS485/TCP-IP) electronic swipe card terminals. &lt;br /&gt;
&lt;br /&gt;
My roles and responsibilities covered &lt;br /&gt;
* Global customer support lead&lt;br /&gt;
* Development and Testing of Hardware, embedded firmware, and software&lt;br /&gt;
* Release Management&lt;br /&gt;
* Global training &lt;br /&gt;
* Project Manager to develop a casino premium player loyalty program (Terminal &amp;amp; infrastructure hardware and software) for Burswood Casino (Perth)&lt;br /&gt;
* Built a performance test lab for automated testing of firmware and software updates&lt;br /&gt;
* Built numerous test jigs for testing &amp;amp; diagnosing various hardware items&lt;br /&gt;
&lt;br /&gt;
===Short Term Contracts (1996 - 1997)===&lt;br /&gt;
* Cerebos Greggs – Production Planner &amp;amp; documentation&lt;br /&gt;
* Auckland City Council – Ph PABX maintenance &amp;amp; support&lt;br /&gt;
&lt;br /&gt;
=== Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)===&lt;br /&gt;
* Production scheduling (MRPII) of diapers and facial tissues&lt;br /&gt;
* Sales forecasting&lt;br /&gt;
* Product specifications&lt;br /&gt;
* Continuous improvement projects&lt;br /&gt;
* Developed a VB application to automate the generation of productions plans from data in AS-400&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1351</id>
		<title>Pre-2014 Roles</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1351"/>
		<updated>2024-08-05T00:05:31Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Primary Caregiver (Sep-2009 - Mar-2013) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-2014 Roles ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|Skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing, MS-Access VB App Testing, &amp;lt;br /&amp;gt;AS-400 Testing, VB Automation Scripts]]&lt;br /&gt;
|}&lt;br /&gt;
:Full time testing contractor to the IS department, testing a variety of bespoke applications primarily for internal use.&lt;br /&gt;
&lt;br /&gt;
:* Complex quotation app for car leasing built in MS-Access &lt;br /&gt;
:* Online driver FBT data collection portal (UI, web security, data flows, emailing)&lt;br /&gt;
:* Legacy AS-400 system testing&lt;br /&gt;
:* Developed a test automation framework for AS-400 using VB&lt;br /&gt;
&lt;br /&gt;
:At LPNZ I was introduced to testing as a proper profession by my friend [https://www.linkedin.com/in/christinalinwood/ Christina Linwood]. &lt;br /&gt;
&lt;br /&gt;
:Attended the NZ Tester Magazine conference, and the Risk Based Testing Workshop by Matt Mansell, it was exhilarating to learn from people passionate about testing.&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2009 - Mar-2013) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| Parenting&lt;br /&gt;
|}&lt;br /&gt;
:Looking after my two school age children, the house chores, and '''[[Volunteering]]''' for the community&lt;br /&gt;
&lt;br /&gt;
=== Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], [[Skills#Manufacturing Resource Planning|Manufacturing Resource Planning]], &amp;lt;br /&amp;gt;[[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], Logistics, Staff Supervision, Continuous Improvement, &amp;lt;br /&amp;gt;Mechanical Product Design, Networking (TCP-IP, RS-485, RS-232)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:* Managed end-to-end logistics and quality control for electronic hardware production and delivery, including procurement, packing, and global shipping.&lt;br /&gt;
:* Managed all aspects of sourcing sub-assemblies from third-party suppliers.&lt;br /&gt;
:* Supervised staff and casual workers, fostering a culture of customer service and product quality.&lt;br /&gt;
:* Continuously reviewed and optimized company procedures to enhance workflows and business information accuracy.&lt;br /&gt;
:* Implemented innovative solutions to improve production quality and efficiency.&lt;br /&gt;
:* Worked closely with mechanical &amp;amp; electronic engineers designing large cash receiving units (similar to ATM’s).&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [http://dirksonline.net/CV/2009MikeOgram.pdf 2009 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2003 - Jul-2005) ===&lt;br /&gt;
Looking after my two young children and facilitating the renovations of our first home prior to selling and moving to larger home.&lt;br /&gt;
&lt;br /&gt;
=== University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time) ===&lt;br /&gt;
BTech Opto-electronics lab coordinator &amp;amp; Dept of Maori &amp;amp; Pacific Island Health physics tutor&lt;br /&gt;
&lt;br /&gt;
=== Bioengineering Institute - Embedded Software Engineer (Sep 2002 - Aug 2003)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Template:References|Reference]]&lt;br /&gt;
|-&lt;br /&gt;
|[http://dirksonline.net/CV/2004SimonMalpas.pdf 2004 Simon Malpas]&lt;br /&gt;
|}&lt;br /&gt;
Developed an embedded solution with Bluetooth protocol stack for data telemetry from devices implanted in rabbits used for medical research at the University of Auckland. &lt;br /&gt;
* Bluetooth HCI commands&lt;br /&gt;
* Protocol stack implemented in low resource PIC micro controler&lt;br /&gt;
* Code written in C and cross compiled for multiple device types&lt;br /&gt;
* LabView integration&lt;br /&gt;
&lt;br /&gt;
===Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Template:References|Reference]]&lt;br /&gt;
|-&lt;br /&gt;
|[http://dirksonline.net/CV/2001MikeOgram.pdf 2001 Mike Ogram]&lt;br /&gt;
|}&lt;br /&gt;
Monitor Business Machines developed a cost management system (mainly tracking photocopying) through networked (RS232/RS485/TCP-IP) electronic swipe card terminals. &lt;br /&gt;
&lt;br /&gt;
My roles and responsibilities covered &lt;br /&gt;
* Global customer support lead&lt;br /&gt;
* Development and Testing of Hardware, embedded firmware, and software&lt;br /&gt;
* Release Management&lt;br /&gt;
* Global training &lt;br /&gt;
* Project Manager to develop a casino premium player loyalty program (Terminal &amp;amp; infrastructure hardware and software) for Burswood Casino (Perth)&lt;br /&gt;
* Built a performance test lab for automated testing of firmware and software updates&lt;br /&gt;
* Built numerous test jigs for testing &amp;amp; diagnosing various hardware items&lt;br /&gt;
&lt;br /&gt;
===Short Term Contracts (1996 - 1997)===&lt;br /&gt;
* Cerebos Greggs – Production Planner &amp;amp; documentation&lt;br /&gt;
* Auckland City Council – Ph PABX maintenance &amp;amp; support&lt;br /&gt;
&lt;br /&gt;
=== Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)===&lt;br /&gt;
* Production scheduling (MRPII) of diapers and facial tissues&lt;br /&gt;
* Sales forecasting&lt;br /&gt;
* Product specifications&lt;br /&gt;
* Continuous improvement projects&lt;br /&gt;
* Developed a VB application to automate the generation of productions plans from data in AS-400&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
	<entry>
		<id>https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1350</id>
		<title>Pre-2014 Roles</title>
		<link rel="alternate" type="text/html" href="https://dirksonline.net/cvwiki/index.php?title=Pre-2014_Roles&amp;diff=1350"/>
		<updated>2024-08-05T00:03:26Z</updated>

		<summary type="html">&lt;p&gt;DirksWikiAdmin: /* Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-2014 Roles ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -40px&amp;quot;&lt;br /&gt;
| [[Skills|Skills]]&lt;br /&gt;
|}&lt;br /&gt;
=== LeasePlan NZ - Software Tester (Apr-2013 - Dec-2014) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Risk Based Testing|Risk Based Testing, MS-Access VB App Testing, &amp;lt;br /&amp;gt;AS-400 Testing, VB Automation Scripts]]&lt;br /&gt;
|}&lt;br /&gt;
:Full time testing contractor to the IS department, testing a variety of bespoke applications primarily for internal use.&lt;br /&gt;
&lt;br /&gt;
:* Complex quotation app for car leasing built in MS-Access &lt;br /&gt;
:* Online driver FBT data collection portal (UI, web security, data flows, emailing)&lt;br /&gt;
:* Legacy AS-400 system testing&lt;br /&gt;
:* Developed a test automation framework for AS-400 using VB&lt;br /&gt;
&lt;br /&gt;
:At LPNZ I was introduced to testing as a proper profession by my friend [https://www.linkedin.com/in/christinalinwood/ Christina Linwood]. &lt;br /&gt;
&lt;br /&gt;
:Attended the NZ Tester Magazine conference, and the Risk Based Testing Workshop by Matt Mansell, it was exhilarating to learn from people passionate about testing.&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2009 - Mar-2013) ===&lt;br /&gt;
:Looking after my two school age children, the house chores, and '''[[Volunteering]]''' for the community&lt;br /&gt;
&lt;br /&gt;
=== Monitor Business Machines NZ Ltd - Logistics Manager (Aug-2005 - Aug-2009)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px; margin-top: -10px&amp;quot;&lt;br /&gt;
| [[Skills#Firmware &amp;amp; Embedded System Testing|Firmware &amp;amp; Embedded System Testing]], [[Skills#Manufacturing Resource Planning|Manufacturing Resource Planning]], &amp;lt;br /&amp;gt;[[Skills#Electrical &amp;amp; Electronic Engineering|Electrical &amp;amp; Electronic Engineering]], Logistics, Staff Supervision, Continuous Improvement, &amp;lt;br /&amp;gt;Mechanical Product Design, Networking (TCP-IP, RS-485, RS-232)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:* Managed end-to-end logistics and quality control for electronic hardware production and delivery, including procurement, packing, and global shipping.&lt;br /&gt;
:* Managed all aspects of sourcing sub-assemblies from third-party suppliers.&lt;br /&gt;
:* Supervised staff and casual workers, fostering a culture of customer service and product quality.&lt;br /&gt;
:* Continuously reviewed and optimized company procedures to enhance workflows and business information accuracy.&lt;br /&gt;
:* Implemented innovative solutions to improve production quality and efficiency.&lt;br /&gt;
:* Worked closely with mechanical &amp;amp; electronic engineers designing large cash receiving units (similar to ATM’s).&lt;br /&gt;
&lt;br /&gt;
:[[References - Full List#Pre-2014 Roles|Reference]]: [http://dirksonline.net/CV/2009MikeOgram.pdf 2009 Mike Ogram]&lt;br /&gt;
&lt;br /&gt;
=== Primary Caregiver (Sep-2003 - Jul-2005) ===&lt;br /&gt;
Looking after my two young children and facilitating the renovations of our first home prior to selling and moving to larger home.&lt;br /&gt;
&lt;br /&gt;
=== University of Auckland - Lab Coordinator &amp;amp; Physics Tutor (Sep-2003 - Jul-2005 part time) ===&lt;br /&gt;
BTech Opto-electronics lab coordinator &amp;amp; Dept of Maori &amp;amp; Pacific Island Health physics tutor&lt;br /&gt;
&lt;br /&gt;
=== Bioengineering Institute - Embedded Software Engineer (Sep 2002 - Aug 2003)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Template:References|Reference]]&lt;br /&gt;
|-&lt;br /&gt;
|[http://dirksonline.net/CV/2004SimonMalpas.pdf 2004 Simon Malpas]&lt;br /&gt;
|}&lt;br /&gt;
Developed an embedded solution with Bluetooth protocol stack for data telemetry from devices implanted in rabbits used for medical research at the University of Auckland. &lt;br /&gt;
* Bluetooth HCI commands&lt;br /&gt;
* Protocol stack implemented in low resource PIC micro controler&lt;br /&gt;
* Code written in C and cross compiled for multiple device types&lt;br /&gt;
* LabView integration&lt;br /&gt;
&lt;br /&gt;
===Monitor Business Machines NZ Ltd - Development &amp;amp; Support Engineer (Aug 1997 - Nov 2001)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Template:References|Reference]]&lt;br /&gt;
|-&lt;br /&gt;
|[http://dirksonline.net/CV/2001MikeOgram.pdf 2001 Mike Ogram]&lt;br /&gt;
|}&lt;br /&gt;
Monitor Business Machines developed a cost management system (mainly tracking photocopying) through networked (RS232/RS485/TCP-IP) electronic swipe card terminals. &lt;br /&gt;
&lt;br /&gt;
My roles and responsibilities covered &lt;br /&gt;
* Global customer support lead&lt;br /&gt;
* Development and Testing of Hardware, embedded firmware, and software&lt;br /&gt;
* Release Management&lt;br /&gt;
* Global training &lt;br /&gt;
* Project Manager to develop a casino premium player loyalty program (Terminal &amp;amp; infrastructure hardware and software) for Burswood Casino (Perth)&lt;br /&gt;
* Built a performance test lab for automated testing of firmware and software updates&lt;br /&gt;
* Built numerous test jigs for testing &amp;amp; diagnosing various hardware items&lt;br /&gt;
&lt;br /&gt;
===Short Term Contracts (1996 - 1997)===&lt;br /&gt;
* Cerebos Greggs – Production Planner &amp;amp; documentation&lt;br /&gt;
* Auckland City Council – Ph PABX maintenance &amp;amp; support&lt;br /&gt;
&lt;br /&gt;
=== Carter Holt Harvey(Tissue Group) - Production Scheduler (1994 - 1996)===&lt;br /&gt;
* Production scheduling (MRPII) of diapers and facial tissues&lt;br /&gt;
* Sales forecasting&lt;br /&gt;
* Product specifications&lt;br /&gt;
* Continuous improvement projects&lt;br /&gt;
* Developed a VB application to automate the generation of productions plans from data in AS-400&lt;/div&gt;</summary>
		<author><name>DirksWikiAdmin</name></author>
	</entry>
</feed>