Skills Needed to Integrate Applications and Data
How to build APIs, integrate REST endpoints, and knowledge of JSON are the top three.
Join the DZone community and get the full member experience.
Join For FreeTo gather insights on the state of application and data integration, we spoke with 18 executives from 15 companies who are involved in the integration of applications and data.
Here’s who we talked to:
Shawn Ryan, V.P. Marketing Digital as a Service, Axway | Kurt Collins, Director of Technology Evangelism and Partnership, Built.io | Thomas Hooker, V.P. of Marketing, CollabNet | Piyush Mehta, CEO, Data Dynamics | Daniel Graves, VP of Product Management, Delphix | Samer Fallouh, V.P. of Engineering, and Andrew Turner, Senior Solutions Engineer, Dialexa | Andrew Leigh, V.P. of Marketing and Alliances, Jitterbit | Trevor Hellebuyck, CTO, Metalogix | Mike Stowe, Developer Relations Manager, MuleSoft | Zeev Avidan, V.P. Product Management, Open Legacy | Sean Bowen, CEO, Gordon McKinney, Senior Solution Architect, Ross Garrett, Product Marketing, Push Technology | Joan Wrabetz, CTO, Quali | Razi Sharir, V.P. of Products, Robin Systems | Girish Pancha, CEO, StreamSets | Bob Brodie, CTO, SUMOHeavy |
And here’s what they told us when we asked them, "What skills do developers need to integrate applications and data?"
- API development is a special skill requiring education and experience. Know how to correctly structure APIs, set break into correct models meaningful to consumers and IT. There’s a skill to building APIs correctly and a lot of questions about how to do it right.
- Given that we’re a Microsoft shop, our developers need to know Microsoft technology, C#, and Angular JS for UI/UX. Integrate REST endpoints and JSON.
- What you need to be proficient in is changing. It used to be programming languages. That’s less of a requirement now. Today you need to understand how data flows. We code less and less thanks to tools like Zapier which allow us to manage the process with greater understanding of the systems in play. Understand why data is important, where it’s going, and what it needs to integrate with.
- Know what types of data to use, how to use it, and how not to be killed by the scale and speed. Microservices can scale independent of each other - 100 times faster growth. Able to handle the scalability of Pokémon. Understand the modern concepts of the development and organization of APIs. Be aware but don’t take corrective action since the Rest API should take care of them. Develop a microservices infrastructure with properly constructed APIs.
- Stay abreast of what’s new, particularly on the backend of the database. Do not let your knowledge become dated. You must really love data and data integration – connecting things together.
- 1) Have the skill to collaborate with your peers and the people who want the data. Be able to have a cogent conversation with the owner of the application. 2) Modern skills like building REST APIs, knowledge of JavaScript, basic design skills, the ability to understand test patterns. 3) The ability to “walk in another person’s shoes” and see things from their perspective. The soft skills around making your apps work for the customer. Can you be a part of a team and get the outcome your customer desires?
- Look at the next generation of integration solutions for your connections. This is a best of breed world – there’s no one best solution. Speed, agility and depth of functionality. Follow agile integration and building quality measure ROI. Deprecate as needed. Do everything in an agile methodology and philosophy.
- Desire to learn and understand the why (e.g. how Restful APIs work). Learn the foundational components and treat them with trust with respect. Learn data structures – how JSON XML is built. Learn the different approaches to passing data around – push, pull, streamed, queues. A good understanding of how RESTful APIs work: Body, Headers, Response codes. A good understanding of data structures (JSON / XML). A good understanding of various approaches for passing data: Push vs Pull, Streams, Queues.
- It used to be coding skills. Now there are easy to use interfaces to minimize the need to know languages. While there’s less flexibility, it gives developers the best of both worlds – the ability to use the language of choice (i.e. Python). Developers need to focus on SLAs and metrics around the data itself – data flow, latency, semantics, fidelity. Up level your skillset to understand what that means for the business.
- Ask how data is being managed currently. Is the software out there integrated to manage data in an easy manner and get greater control? Data should be able to accessed across multiple applications and know how to get access to data points. Who has access to the data is very challenging. Manage controls at storage level for security. Mismanagement can lead to breaches and corruption.
- Have a robust knowledge of the application to provide reliabile data and a better user experience. These are hard problems to solve. You need to be on top of your functional skills. Have empathy for the network – there's more information on more devices. Understand event-driven architecture and products or find products that can help with the heavy lifting. We provide the APIs. Remain transparent and stay out of the developers’ way.
- Mobile is known and is here to stay. Microservices is an emerging trend. Architect to create components and loosely coupled apps that can scale. JavaScript is evolving to be the foundation for microservices and the frontend. You need to know Cloud and DevOps, CI, and CD. Iterations are every two weeks or faster. Be able to move at pace, it's a skill that spans.
- Know APIs, especially REST APIs, inside and out.
- Simple integrations have become quite simple, as developers are able to use a myriad of tools. However, for true integration management, including working with more complex integrations (multiple services, on-premise and cloud, data transformations and normalization) developers need to have an understanding of the systems they are integrating (whether mainframes, REST APIs, SOAP APIs, other protocols, etc.). They also need to have a strong understanding of design patterns and development best practices to avoid memory issues when working with large amounts of data. In other words, they should have a fairly strong programming background and familiarity working with a variety of systems. With tools like the Anypoint Platform, explicit experience with the platform is not necessary to start using it for basic integrations, but again for complex integrations they’ll need a strong familiarity with their integration platform in order to quickly deal with the more complex operations.
Are their additional skills you see developers need to be focused on to be successful with application and data integration?
Opinions expressed by DZone contributors are their own.
Comments