BA Services
I have held two roles at BA Services. First as a Software Developer in Testing and the second being Software Development and Automation Engineer.
My role as the Software Developer in Testing is a crossover roll between Developer and QA. The goal of my position is to improve software quality through improved automating testing and pushing for a cultural change within the team. The work involves encouraging an attitude of testing, including the creation of complete sets of unit tests for all software as well as functional testing. The organization itself creates and manages financial software for the parent organization.
While doing this work I found and implemented a functional testing tool called Behat. This is a PHP-based tool that allows the tester to write tests, step-by-step, in plain English. It ties in the steps and parameters to actions taken through functions. There are many pre-defined functions however you can define as many of your own as you would like. I have written many new functions to assist with the testing of our complex systems.
As part of my work I implemented automated systems for testing the user loan application process, loan funding, and loan processing. I also implemented automated systems for API testing. I utilized Behat for all functional tests and PHPUnit for all the lower-level tests.
In October they asked me to take on more of a developer role to help fill in gaps they had in development. I have since been working in mostly a software development capacity with little to no QA and only some automation work.
My focus had been on the implementation of a brand new website built in SilverStripe. This involved tight integration with a separate API system built to communicate with a brand new back-end system for loan processing and management. I worked on creating the website interface with the API as well as implementing a new, custom made website design using Bootstrap, Jquery, HTML5, CSS3, and an overall responsive design. I worked to integrate this into SilverStripe as well as implement the functionality of the site such as the login and user controls as well as form integration and the use of customized date pickers.
My work in SilverStripe includes setting up a complex JavaScript-based form validation system that allows us much flexibility and is completely unit-testable.
I have also been working on a system built on Laravel which acts as an intermediary between the SilverStripe front-end and the third-party backend system. It ties the important systems together and acts a bit like a traffic cop for all of it. I have also been working in a system called eCash, helping add a new payment processor and creating a way to automatically generate and fund test loan applications in the system.
Lately I have been working on a project to rebuild the old website front-end in Laravel. This includes running multiple websites (five to be exact) through the same code base and using different templates for each. At the same time we also have setup the system to have environment specific configurations. My work here has been both with the front-end HTML/CSS/LESS/JS and the server-side programming as well as the communications with the backend system that powers it.
I implemented Bootstrap on the new system with responsive templating as well as compiling the CSS from LESS files on a regular basis instead of storing static CSS to run from. This including using a tool called Basset to create CSS and JS collections that can be compiled and minified. I also implemented both front-end and back-end validation and created an API authorization system for the API calls.