Building your own business through task automation

Building your own business through task automation

2023, May 07    

The importance of Task Automation:

Task automation is the process of using software to automate simple tasks or a series of more complex tasks. This reduces the need for manual handling of such tasks, therefore improving accuracy and efficiency. Once configured, tasks are completed automatically, allowing more time for employees to focus on creativity and strategic workflows.

How to Automate Tasks:

There are many different ways to automate tasks. Some common methods include:

  • Using software robots (bots) to perform repetitive tasks
  • Creating macros to automate tasks in a spreadsheet or other software program
  • Using workflow automation tools to automate processes that involve multiple steps

The Benefits of Task Automation:

The many benefits of task automation include:

  • Increased productivity: Task automation can free up time for employees to focus on more creative and strategic work.
  • Improved accuracy: Task automation can help to improve accuracy by reducing the risk of human error.
  • Enhanced efficiency: Task automation can help to improve efficiency by streamlining processes and eliminating unnecessary steps.
  • Reduced costs: Task automation can help to reduce costs by eliminating the need for manual labor.

How to Get Started with Task Automation:

If you are interested in automating tasks in your business, there are a few things you need to do to get started:

  1. Identify the tasks that are most suitable for automation.
  2. Choose the right automation tools.
  3. Develop a plan for implementing automation.
  4. Train your employees on how to use the new automation tools.
  5. Monitor the results of your automation efforts and make adjustments as needed.

How I Automate Tasks in my Development Environment:

Throughout my professional career, the companies I have founded have all stemmed from observing an existing need, and recognizing my ability to fill that need. Be it web design, application development, or software automation, my companies were also all established as partnerships. This collaboration allowed me to provide value to the client while collectively sharing responsibilities.

As time goes on, responsibilities can shift and the levels of efficiency and productivity can change. As usual, I answer the phone calls, I respond to the emails, I lead the efforts in sharing what the business is all about. In addition, for my current company I am also the primary developer which my clients are seeking to have working on their projects. The successes and experience gained through my previous companies have helped to establish myself as one of the top engineers in the field, intimately familiar with the software and hardware stacks being used.

This is where I start to let my creative juices flow a bit. The more effort spent on tasks “X”, “Y” or “Z”, the more I am able to identify the portions of those tasks which are repetitive. At this point I am able to mitigate this repetitiveness by utilizing existing automation tools or by creating new tools from scratch for these specific tasks. This results in a very lean infrastructure for a business. This form of task automation allows me to be more creative and focus on exemplary solutions for my clients and the community, instead of solutions that can bring a quick buck.

Task Automation in Development:

When it comes to task automation in development, normally the mindset required does not come naturally. Meaning not everyone can easily recognise that they have performed the same steps in a process 3 times in a row. Their focus is on the task itself, not the process in which to complete it. To find this process, you must also record or note each step taken to complete the task/s.

For example, when working with Linux and AOSP development, 90% of the steps one takes are already recorded by default in a hidden file in the user’s “/home” directory. Check for a “~/.bash_history’’ file and it will contain all the commands entered into the terminal for that user’s bash sessions. Scrolling through the lines of commands recorded, we can begin to spot the repetitive commands which keep repeating. Those lines can be copied out into a separate notepad/.txt file for now, including a comment about the task it relates to.

After scrubbing through the history looking for patterns, there will be an arsenal of repeated steps, start looking at each task and establish variables from the parts that change. This allows us to start building small functions that can handle these variables (Example: do_taskname $1, $2, $3, $4, etc.). Building out functions to take specific inputs can also help take the work out of a lot of things that just take time away from creativity. Especially when we start to tie those functions together into something usable.

In AOSP, we still use a “vendorsetup.sh”. This allows us to build a “vendor profile” or use one that already exists in the project, and add the common functions there. Or if you are like me, you tie those functions together with a menu or a UI, and lock the user into the process they should follow.

An alternative route one could take when looking for ways to automate things in software and engineering, is to also look for others that thought of it first. This is where tools like the “Android-Generic Project” come into play.

Very often, when you see a need for a solution somewhere within your workflow, someone else also saw that need and already started working on a solution. My recommendation for places to look for such solutions include: Bitbucket, GitHub, and GitLab. There are of course other options though, you just have to keep your eyes peeled.

For your company, you have the unique knowledge and details of what you or your team’s workflow consists of.You have now equipped yourself with the knowledge of what to look for in order to make things easier, accurate, and efficient!. Get out there and start automating your work tasks. You can thank me later ;)

Conclusion

Task automation is a powerful tool that can help businesses to improve productivity, accuracy, efficiency, and cost-effectiveness. If you’re not already automating tasks in your business, then what better time than today to consider the benefits and get started?

Here are some important tips to help automating tasks in your business:

  • Start small. Don’t try to automate everything all at once. Start by automating a few simple tasks and then gradually add more complex tasks as you become more comfortable with automation.
  • Be patient. Automation can take some time to implement and get up and running. Don’t get discouraged if you don’t see results immediately. Just keep in mind that the efforts going in will lead to the improvements to the business in the end..
  • Be flexible. As your business grows and changes, you may need to adjust your automation strategies accordingly. Be prepared to make changes as needed.
  • Get help if you need it. There are many resources available to help you automate tasks in your business. If you get stuck, don’t hesitate to ask for help from a consultant or other expert.

If you would like to check out some of the task automation I have been using in my profession, feel free to head over to Android-Generic Project (https://android-generic.github.io). If you feel your AOSP based project could use an automation mindset to help make things easier on your engineering department, please checkout the Bliss Co-Labs (https://blisscolabs.dev), as that is kind of what we’re here for.

I hope you found this blog post helpful. If you have any questions, please feel free to leave a comment below. And if you know someone else who might find this information helpful, please share it with them.