Harnessing The Power Of Computing
We’re a technology company, and we believe in harnessing the power of computing to make working processes faster and more accurate. Within our business, we are constantly developing new ways to do things better, or faster, and with fewer human errors. Using software process automation to build the bespoke software we design is an indispensable part of how we work.
For us, software architecture is vitally important. We work hard to keep up with state-of-the-art patterns, and follow up-to-date best practice guidelines, from AWS to how we document our work.
We use the YAML scripting language to provide automation throughout the development process, which is known as the delivery pipeline. There have always been certain parts of the development process that have been problematic for humans, ranging from monotonous tasks to communication errors between teams across different points in the pipeline. Automation can reduce or remove many of these problems, especially when used in conjunction with manual peer-reviewing processes.
Frontend & Backend Tests
CI/CD services take care of most generic frontend and backend tests for us, including linting. We are currently implementing consumer-driven contract testing into our working methods, to ensure compatibility between microservices we create during projects. This will improve our ability to deploy faster, safer, and more often.
Automated Version Control
We use automated version control throughout the delivery pipeline. Source controls and repositories are automated to save time and minimise human error. We tend to favour Git and a process called GitFlow. This allows us to have multiple code branches that developers and testers can work on separately, while still remaining completely separated from the production branch. Automation also helps us to avoid merge conflicts when creating builds throughout the process.
This is a very progressive outlook on software development, and the field is developing very quickly. We are constantly evolving how we can use software automation to make life easier for ourselves, our clients and their users. Increased speed, accuracy and quality are the main benefits, though there are many more.