This article was written by team member Nizar Mahmoud.
Work often involves a lot of repetitive and time-heavy tasks. For example, at OpenCraft we automate the decommissioning of unneeded servers, the preparation of monthly invoices for our employees, and tasks like sending reminders about project and sprint planning. Since most of these tasks require following a step by step procedure, we work carefully to establish good procedures, and then automate these procedures. Doing these tasks manually takes a lot of time, but by instructing a computer on how to perform these tasks (therefore automating them), we save time.
By automating (almost) everything that can be automated, OpenCraft team members are liberated from mundane and tedious tasks. Accordingly, we can instead focus on challenging work that requires creativity and critical thinking.
Automation not only makes the workspace more enjoyable, but also improves quality, productivity, and security.
Automating tasks improves the quality of our code. One of the most common methods of automation is continuous integration/deployment. Here at OpenCraft, we use continuous integration to ensure that every change made on our maintained repositories is tested. This approach guarantees that every time we change the code, the previous features we added still work, bugs we've fixed before remain fixed, and the quality of the code stays high.
By identifying the issues in the changes early, results can be delivered without any unexpected failures.
Automating routine tasks also improves security. Executing such tasks manually can become boring quickly. When the person is no longer focused on the task at hand, the risk of human error usually increases. Such errors can have a serious impact on security when updating configuration files or applying updates or patches.
Ocim is our hosting platform which makes managing configurations, patches, updates, and customizations easy through automated deployments. Automated deployments help run a number of procedures that ensure proper security on the hosted applications.
Another common method of automation is monitoring for errors or attacks on deployments and alerting team members about those incidents. OpenCraft combines multiple tools to notify the team of any incident, instantly. This way we can address serious issues quickly, and minimize downtime. Since we are a fully remote company with team members all over the world, this means that our team can work around the clock to resolve issues.
Automating tasks results in increased productivity. By automating all tasks that don’t require critical thinking, team members can focus on complex tasks that cannot be solved by machines. Meanwhile, the tiresome work is getting done, without wasting the members’ time... nor our clients' budgets!
Automation also reduces the repetitive act of jumping from task to task (we call it "context switching"), which keeps us more focused.
The benefits of automation are various, including improvements in quality of work, productivity, and security. Even though some time has to be set aside for automating work, it is definitely worth the investment!