What does it take to be a Software Robot Developer?
By now you have probably already come across some of the recent buzz words like RPA or software robots, and have at least a general understanding of what it is all about. Maybe you already have some experience working with some commercial RPA tools, but have heard of the rise of the open-source way of doing things and would like to know more?
Or perhaps you would like to know more about what it actually takes to build one, and have considered getting into building software robots yourself and are wondering what the day-to-day work of a Software Robot Developer is like?
Then you have come to the right place, since this is exactly what we are doing here at Skaler: we develop software robots with an open-source tech stack! So let’s look at some of the most valuable skills a Software Robot Developer needs.
What is a Software Robot?
First things first: a software robot is basically just a bunch of code that is automating some business process. Of course the reality is a bit more complex and sophisticated than that, but let’s start with this.
Let’s say you are sitting at a computer doing some mundane task every day, every week, or once a month. You are perhaps copy-pasting some information from one system to another. Or maybe you are retrieving data from several different data sources to build some monthly report in Excel. Basically you are performing some straightforward task that takes up your valuable time which could be spent doing more meaningful work.
These types of situations are prime opportunities to utilise software robots. They can help you achieve better quality, quicker throughput time, better job satisfaction for the employees, among other things. The use of software robots is also commonly known as RPA (Robotic Process Automation) or IPA (Intelligent Process Automation).
What is a Software Robot Developer?
Of course, a software robot is not just “a bunch of code”. Creating a well-functioning, reliable and scalable software robot is basically just like any software development. And for this we need Software Robot Developers.
Some RPA tools advertise themselves as easy to use tools targeted towards business people to automate their own work with just a few clicks in some drag-and-drop tool. In our experience the outcomes from working this way are most often suboptimal.
A Software Robot Developer uses actual software development tools and best practices, such as writing unit tests for their robots, using version control tools, and making sure the robots are easily maintainable in the future.
You can’t really become a Software Robot Developer by learning just one tool. You need the whole toolbox. It is not enough to just be an exceptional Python programmer. You also need some knowledge in DevOps, cloud technologies, databases, APIs, network traffic, machine learning, front-end technologies, etc. You also need to know your way around regular expressions as well as XPath and CSS selectors.
We are specialised in building software robots on an open-source stack. So all of these tools are free for everyone to use, and you can start learning them right now! Some of the tools that we use include Python, Robot Framework, MongoDB, and Jenkins, and we are hosting our robots in AWS and Azure with dedicated orchestration solutions that manage the automation pipeline.
But even if you already know everything there is to know about the common tools in our toolbox, every customer case is still unique. You always encounter new target systems, some peculiar legacy software, and new business domains.
We are a tightly knit team, but most of the time you are working a specific customer case alone. So you need to be an excellent problem solver, and you need to be able to at least use the correct terms when searching for an answer to your problem from Stack Overflow.
...master of none?
We are not looking for just “Python developers” and you don’t need to be a “Python guru”. Rather, we are looking for people who perhaps already have a wider set of skills, who can adopt new skills quickly, and have a burning desire to always learn new things. Of course, having solid Python experience is always a good start!
For anyone interested in becoming a Software Robot Developer, my advice is this: don’t focus too much on mastering a specific RPA tool. Even though there might be a huge hype around some commercial tools right now, and there are also more and more ready-made, out-of-the-box open-source RPA tools available, it is more beneficial to focus on gaining some basic knowledge on a wider set of technologies and methods. These skills can then also be leveraged in other tech areas as well, and you have learned some valuable things about software development applicable to all different fields in IT.
It’s not all about the tech
We as Software Robot Developers are always consultants. We are the experts telling the customer how to do things smarter and more efficiently. Therefore it is crucial to be well versed also in other aspects than just the tech.
Most of the time the people you are dealing with from the customer’s side are not tech people. They are usually the experts in the business process. So you need to have good communication skills to get a good understanding of the process by interviewing the experts, and also to explain the technical side of things in layman’s terms to non-technical people, and to write clear documentation – not just for your team members but also for the process owners.
One valuable thing is also understanding, measuring, and visualizing the benefits the automation brings to the customer, so that you can effectively communicate these facts and KPIs to the stakeholders.
Domain, domain, domain
As a Software Robot Developer you need to actually understand the process you are automating and speak the same language as the customer. So you need to be able to see the bigger picture, break it down to bite-sized portions, and understand the process from start to finish.
That is why it is a huge benefit if you have some domain knowledge or even prior experience in the specific field, and this is why we are always thrilled to work with people from different backgrounds. So if you have previous experience from HR, finance, logistics, etc., don’t think of it as “a lack of relevant tech experience” but as a huge asset as relevant domain experience.
I, for example, used to work in the insurance industry as a mathematician. And it just so happened that two of my first customer cases as a Software Robot Developer were for insurance companies. And one of them even involved the exact same software that I had been using for years in my previous job!
Ready to get started?
If working as a Software Robot Developer sounds like an interesting opportunity, have a look at this: software robot developer
Or, if you are just looking for some light but also educational entertainment to cheer up your day, have a look at these:
- Practice your CSS selector skills at the CSS Diner
- Hone your regular expressions with a few rounds of Regex Golf