/*

Refining the Development Process Through Automation

Joel Marrero is a Site Reliability Engineer (SRE) at Mobile Advertisement Tech Company, Tapdaq. With a passion for computing, Joel has a wealth of experience in automation, specifically in workflows and infrastructure level automation.

We caught up with him to find out how both large enterprises and startups can benefit from automating parts of their workflow.

 

How can we take advantage of workflow automation in terms of development?

As an SRE, I think a lot about the workflows of our company’s developers.

In an application lifecycle, the job doesn’t just stop there once the code has been written - as I’m sure you’ll know. The code must be tested, verified, packaged and possibly tested again before it can finally be released or pushed into production. This can lead to weeks, even months of development time.

Imagine having to wait for up to six months for simple new features to be added!

The ability to make the development cycle predictable and stable allows for many areas of time and cost savings.

For example, instead of employing a large Quality Assurance team to go through every possible scenario, a single person could write scripts to automate the testing.

Or, instead of having a team looking after servers, as well as a deployment team, businesses could shrink that down to just a handful of people.

Meanwhile, the employees can focus on what they do best and develop their skills, rather than spending time doing repetitive tasks.

 

Does this apply to all businesses or just large firms?

Automation is really for any sized business, from big multinational, billion pound companies, like my previous employer, to small lean fast-growing startups, like my current one.

 

What are the main benefits of workflow automation?

Automating part of this workflow enables speed of development. Your new features, bug fixes and other changes to the code can be released to your customers as quickly as possible.

It also allows for predictability in applications. A developer can use modern technologies, such as Docker, and be guaranteed that the same code works exactly the same everywhere else as it does on their local machine.

Lastly, it encourages greater stability, especially in infrastructure level automation. We can make guarantees as to how an application functions in production based on tests made throughout the development process. We also know that, if there are any changes, we have a full audit trail of exactly what was changed when and by who.

 

How can automation apply to traditional and modern infrastructures?

This is where it gets really interesting. By applying coding standards and practices to infrastructures

Recently, there have been some very high-profile vulnerabilities. In a traditional set-up, our operations engineers would have to manually go through each server in all environments, updating the systems by hand. This can be further complicated by the need for testing to make sure everything is working and compatible. This would take at least a few days and possibly some long nights.

 

If someone wants more advice on workflow automation, where can they head?

I’m always happy to answer questions if you see me around the C4DI building. Alternatively, email me on marrerojoel@gmail.com.