NOT LOOKING AT THIS TIME! Just took a new position with RedBeacon, and so far am loving it.
NOT OPEN TO RELOCATION EITHER, but thanks.
I create systems to make problems into ease. I've designed test automation frameworks, 3D scanners, customer facing software, as well as embedded and library software. My goal is to make you look like a hero. I'm proud of my work. I delight in making the work of others easier. And I love doing the impossible.
Test Automation does it's job when it frees people up to tackle quality measurement tasks that computers can't do. For automation, this includes black and white box testing, but it often also includes helping to automate reporting, builds, environment setup, artifact control, lab administration, and a host of other quality measurement related tasks.
As an architect, it's my job to research and analyze the requirements of all your stakeholders, and the abilities of your team... And then to synthesize a solution that adds the most possible benefit for the least cost in both time and money, for both development *and maintenance*. To accomplish this, I will work with the different stakeholders; development, QA, IT, product teams... To collectively specify strategies, tools, and training to give your organization the most benefit from test automation in the least time possible.
Since 1990, I've built effective test automation in a wide variety of applications, including embedded systems; business process automation, both simple and n-tier web services; insurance claims processing; security (endpoint and centralized administration); software development tools; chip design (compilers, debuggers, routers); payroll processing; mobile devices; CAD; shrink wrap software; project management; and games.
Driven by a passion to make people's work more rewarding, I enable your QA team to mass produce automated tests, and keep them running in dynamic environments with minimal maintenance.
Test Automation Guru @ Implement automated testing. Using Git, Selenium, Python, Jenkins, Jira, Lettuce, OS X... From October 2015 to Present (3 months) QA Manager, SDET, Director of Advanced Development @ Hands on inventor, QA Manager, Engineering Manager, and Test Automation Engineer for a 3D scanning device. Responsible for software, hardware and testing architecture. Delivered software and hardware solution for optical scanning for 3D modeling. Coding in Python, C#, C++, and PHP. Hardware included Arduino and Raspberry Pi.
Responsibilities have included:
* Responsible for all hardware and software testing and test automation. This includes web, Windows host software, embedded software, and Linux client software. Automation written in Python, C++, C#, Windows shell scripts, and Selenium.
* Prototype and alpha device research, testing, development, refinement
* Working in a team to create beta hardware
* Product design, including software, hardware, mechanicals, PC boards, etc.
* Build team coordination
* Software design team management
* Design reviews
* Patent authoring support
* Hardware validation testing
* Process documentation
* Recruited investors and software dev & testing engineers
Had to learn: Just about all of it. Already had software architecture, management, soldering and tool using skills. Arduino, metal working, plastic working, iterative prototyping, board bring-up, circuit design, PC board design, robotics, executive management, mechanical design, BOM management, patent writing support, investor relations. From January 2012 to October 2015 (3 years 10 months) QA Test Automation Framework Architect @ Our team was tasked with developing test automation and other automated procedures to facilitate the work of other groups. My job was to create a framework that would enable this work to proceed as quickly as possible. We gathered requirements, delivered code, trained and supported our users.
Our team of 5 built up to 25 scripted cases per day, thanks to our high reuse plan. Including:
• Abstraction layers isolated AUT changes from the cases themselves.
• Data Record(noun)/Action(verb) support functions.
• Advanced logging allowing tests to run unattended and be debugged from logs alone.
• Hardened smart recovery systems.
One of our projects were "loaders", designed to push thousands of records into the system via the user interface (database APIs weren't available). These loaders had to be able to keep going no matter what. We built:
• Advanced retry and "alternate try" functionality not present in the testing tool.
• A rules based "Transmogrifier" which converted various Excel data into the needed form.
• Development of declarative rather than imperative based automation. Can specify what needs to happen, and the order becomes less important.
Other Delta accomplishments:
Log4J and VBScript++: In support of the above, I ported Log4J to our testing tool, QTP (VBScript). VBScript++ implemented real object based VBScript required to complete the port.
Event Manager: A rules engine that allowed declarative rather than imperative automation. People read the screen, and react to what's displayed, rather than following a script. This allowed the automation to do the same.
Had to learn: Log4J, Subversion/TortoiseSVN From April 2007 to November 2012 (5 years 8 months) QA Manager @ Assured that the public facing web site would display and operate without issue. Measured quality for both SoundFit's web services and customer service activities. Provided developer with root cause of some issues. Defined customer service process. Coached management team to optimal effectiveness. Eventually designed prototype hardware (see above). From January 2011 to December 2011 (1 year) Relationship Dynamics Troubleshooter @ Personal and Relationship Coach with an emphasis on identifying and resolving specific communication strategy conflicts, both internal and external. Conducted research and focus groups. Designed, wrote and presented workshops with my partner, Dawn Davidson. Presentation sizes from a half dozen to a hundred. Featured on Tyra Banks (2006), Montel (2005), Tillsammans (2003) and CBS News (2002). From January 1997 to December 2011 (15 years) QA Test Automation Framework Architect @ Responsible for implementation of various automation projects.
Keyword System: Designed and implemented keyword based test automation system using QTP and Postgres. This allowed "non-programmer" QA team members to create test automation in a reusable fashion. To accomplish this, I implemented multiple levels of abstraction in the automation to minimize changes as the application under test changed. This meant one person could keep all the automation up to date no matter the changes.
Case Generator: Created automated case generator in SilkTest that built thousands of tests for a particular project to test all relevant cominatorics. Tests took 26 hours to run, and tested every possible combination of parameters.
Manual Testing, Training, and implementation of Issue Tracking: Performed manual testing against web services, Eclipse based admin console, and other systems. Defined, deployed, and trained staff on TrackStudio, a tool we used for storing and reporting on feature requests and defects.
Had to learn enough Linux to install and administer Postgres and TrackStudio. From 2005 to 2007 (2 years) QA Manager and Test Automation Framework Architect @ Managed test automation, QA, and test lab teams. Managed teams of varying sizes, peaking at 10 in San Francisco and 9 in India.
Defined automation infrastructure including automated execution system and QA lab to run the automation in. Wrote coding standards for automation team.
Implemented automated test architecture in SilkTest that reduced typical maintenance tasks from 1.5 days to 2 hours. System tested both client and server side firewall application and enterprise management system.
Developed system to allow a client box who's network connections had been severed by the firewall to reinitialize itself and disable the firewall. This was difficult because SilkTest required a network connection to restart.
Implemented test case database (QA Sync) and trained team members.
Coached management staff in coaching employees; Created estimating tools and guidelines for Dev and QA teams that reduced project calendar overrun to zero. From 2002 to 2005 (3 years) QA Test Automation Manager and Architect @ Managed automation team of 6, reported to VP of QA.
Developed layered architecture to reduce maintenance time. The team was doing so much maintenance that they weren't able to build new tests. By implementing layers to what they were doing, maintenance was reduced to 2 hours per person per week. The application being tested was a payroll processing system thick client written in Visual Basic.
The company's VB product was a new arrival. The previous products were written in FoxPro for Windows (an all "owner draw" application) and FoxPro for DOS.
Once the layered system was in place, we designed and implemented similar layers across all the company's products. When we started the project, the management team was reluctant to have us work on it, as it had so far been impossible to automate any test cases against either environment.
By using a self updating system to capture and manage bitmaps for the FoxPro for Windows app, and to do character scraping from DOS windows for the DOS app; we were able to implement an automation system that allowed the use of the same test cases across all three products. From 2001 to 2002 (1 year) QA and Tech Support Manager @ Managed team of 5, including QA, Client Side Build Engineering, and Tech Support. Implemented automated testing on color matching web service in SilkTest. Deployed and performed troubleshooting on server side software. Negotiated contracts for services to assist customer support. Oversaw construction of "turnkey build system" that reduced manual build process of a week into a configuration dialog with one button builds. From 2000 to 2001 (1 year) QA Manager, Automation Framework Architect @ I hired and managed the QA group for most of my tenure. Taking it from one person up through a team of 8, implementing > 600,000 automated cases against UI, console, compiler, debugger, embedded OS, verilog and behavioral chip simulations. Designed and oversaw the implementation of continuous build system "Knightly Builder", which performed continuous integration, nightly builds, deployments, ran automated test suites of sizes commensurate with each build type, and allowed developers to request builds and schedule tests against their private branches before promoting to the dev branch. Knightly Builder was written to my specification by Wipro Systems of India, which necessitated my managing of the remote development team, creation and inspection of specifications, and testing of the software to insure compliance. From 1997 to 2000 (3 years) Sr. Automation Engineer @ * Tested and automated the testing of ROM development environment (100 test cases).
* Extended and maintained Macintosh-based host/target automated test system for MagicCap-based handheld devices (300 test cases).
* Constructed hardware devices to generate telephone line noise for internal modem testing.
* Evangelized automation, trained staff, wrote documentation and test scripts. From 1996 to 1997 (1 year) Test Automation Framework Architect and Manual Tester @ Designed testing framework and coding styles for creating test automation against a framework for building document management and workflow apps for large corporations and the defense industry. Trained staff on automation methodologies. Performed some manual testing. From 1993 to 1996 (3 years) Test Automation Framework Acrhitect @ Started as a member of the testing team, moved on to test automation. Began developing our own in house automation tool, then was shown an alpha version of the program that eventually became Silk Test. Was the first outside alpha tester of that product. Implemented standards, co-developed generic menu walking test applet, designed and implemented testing lab, including automated update, test launch and results recovery. From 1990 to 1993 (3 years)
Akien MacIain is skilled in: Test Automation, Testing, Test Planning, Quality Assurance, QTP, Software Development, Eclipse, Web Services, VBScript, Test Cases, Software Project Management, Databases, Manual Testing, Agile Methodologies, SilkTest