The work of an integration developer is not as well known a term as, for example, that of a frontend developer, which most people in the IT industry are familiar with. We asked our integration developers what their work involves.
At its simplest, an integration transfers data between two separate systems and ensures that the data being transferred integrates into the target system in the desired way. Therefore, in practice, we develop programs for data transfer, and often a separate integration platform is used as a tool. There are many different integration platforms on the market, but at Frends, we mainly use our product Frends and Azure's integration services to some extent.
Today, however, integrations are much more than just the transfer of data between different systems. APIs have brought with them the provision of open interfaces as well as consumption. In addition, the API architecture helps customers hide their back-end systems behind general-purpose interface layers. Robotics and artificial intelligence have also brought innovations to the realm of integrations as they are utilized in various integration solutions.
When making integrations and the integration platform, you also have to familiarize yourself with the operations of the source and target systems and the customer's business processes, which are automated using the integrations. Implementing integrations is in practice programming, although integration platforms offer a lot of ready-made components and functionalities. In addition to this, the role of an integration developer often also includes defining individual integrations, considering the architecture of integration solutions, identifying the fault situations of solutions in production, and participating in the testing of solutions with the customer.
Sometimes we also implement custom components or plug-ins for integrations when customer systems do not have interfaces that conform to more common standards or perform more complex operations on the data being transferred. Customized components are developed with custom code.
We work according to the DevOps model and an average day consists of trouble-shooting for solutions in production and the implementation of new integrations or changes. Production support is primarily the responsibility of our Operations team, but we developers support them with production troubleshooting as needed. In addition, while the project is in progress, the developers are conducting problem-solving work on the products in a test environment.
A support ticketing system aids our work. One ticket can be a change to an existing integration or an entirely new integration. The number of tickets can therefore vary considerably. It is part of our operating model that another developer always reviews the implementations of others. So each of us also conducts reviews between implementations. This review verifies that the desired action has been made in the implementation according to the agreed coding practices and that the solution has been documented sufficiently.
We take coffee breaks to chat with our colleagues and teammates either in person at the office or via digital channels. We also occasionally need to attend various meetings: status meetings, project meetings, and testing meetings. In addition to email, we also communicate with the customer through various messaging applications such as MS Teams or Slack.
In integration work, it is possible to get to know the customers' industry superficially because we automate their business processes. When we integrate ERP systems or automate the receipt of work orders, we inevitably become familiar with the dialogue between different systems and thus also with the customer’s processes. Our job involves a variety of tasks. And it is interesting to learn about other industries as well.
We also become familiarized with different systems (or at least their interfaces), which allows us to gain broad experience. Integrations are not always just simple file transfers but can be large and complex undertakings.
Our work requires a lot of logical reasoning and the ability to manage multiple projects, which can be challenging at times. You’ll also have the chance to “get your hands dirty” and see the results of your hard work and how what we do helps the customer’s daily life and its relevance.
The most challenging part of this job is convincing the customer: in our line of work, the customer isn’t always right. Sometimes we need to tell them what they need instead of doing what the customer thinks they want. It is the consultant’s responsibility to highlight their experience and explain to the customer how things should be done.
In many cases, customers tend to ask for so-called point-to-point integrations because they are cheap and fast to do. However, too many subscriptions complicate things in the long run and are challenging to maintain. In this case, you must explain the advantages of a good and scalable integration architecture to your customer. Anyone can end up with this issue, not just a vendor or an integration architect. But in the end, once all the parties on the client side have been convinced, they are usually grateful that we dared to challenge them.
The work of an integration developer requires much more than logical reasoning and programming skills. For example, social skills are needed when, in addition to our colleagues, you encounter representatives of the customer and other system vendors in our work, not all of whom may have much technical expertise. You also need to be able to talk about things.
Having patience is a big plus as changes in requirements are commonplace in this role, and sometimes the same thing needs to be done many times. Integrations are always part of larger projects where the customer's back-end systems are replaced or upgraded to involve hectic periods and slow periods. Sometimes you have to wait for others to do their job, and then it’s time to buckle down and work hard once more. The ability to work well under pressure will help in this role.
The role of an integration developer is suitable for someone who likes to work as part of a team but also likes to take responsibility, enjoys doing different tasks, learning new things, and solving problems.
As you’ll be working with customers and projects from various industries, you’ll also have the opportunity to shape your role. Thus, it is suitable for a wide variety of individuals. Why not give it a try?