We spoke to 20 executives in 16 companies to get their thoughts on what developers need to keep in mind when working on enterprise integration projects.
We spoke to:
Adam Fingerman, Chief Experience Officer, ArcTouch | Jon Gelsey, CEO, Auth0 | Nishant Patel, CTO, and Matthew Baier, COO, Built.io |Tyson Whitten, API Management Product Marketing, CA Technologies | Andrew Warfield, CTO and Co-Founder, Coho Data | Zeev Avidan, V.P. Product Management, OpenLegacy | Mike Han, V.P. Operations, Liferay | Uri Sarid, CTO, Conor Curlett, Principal Architect, MuleSoft | Gabe Stanek, Director of Field Engineering, Neo Technology | Florent Solt, CTO, Netvibes | Sean Bowen, CEO, Push Technology | Jon Bock, Vice President Products, Snowflake Computing | James Jinnette, Director of Information Technology, unidentified CRO | Suchit Bachalli, President, Unilog |Asanka Abeysinghe, V.P. Solutions Architecture, WSO2 | Phil Manfredi, Aaron Sandeen and Kiran Chinnagangannagari, Co-Founders, Zuggand
The key advice for developers is to keep enterprise integration as simple as possible. Don’t “boil the ocean.” Focus on solving the business problem.
Here are their specific suggestions:
- Look at middleware rather than just writing code. Don’t spend time writing middleware - focus on the business logic. 80% of code can go away if you use the middleware that’s already created.
- Standards are key. Don’t overcomplicate things. Know what the platform accepts and outputs.
- Don’t get frustrated. Don’t “boil the ocean.” Don’t spend too much time on any one solution because it will change. Experiment and play with solutions. Stay aligned with business objectives. Show progress and get feedback on a regular basis.
- Know the business process. Make it easy for business. Understand the business requirements. Don’t just dive in, you don’t have to build everything anymore. Orchestrate between existing functionality. Think about the big picture.
- Don’t lose site of the big idea. What are the user needs that we’re trying to solve for? Where does what I’m working on fit into the bigger picture of the solution we’re providing?
- Do not build authentication and authorization from scratch. ID is easy to screw up if you do it yourself. It’s easy to overlook security items for APIs.
- Analyze what you need to do and what you need to change. Don’t change for change's sake. Change to improve. The challenge is to find the best way to do something.
- Developers of APIs, developers of apps and enterprise architects need different skills but need to ensure a seamless integration over the long run across the enterprise. Everyone needs to think about speed. Tools that will enable consumers and stakeholders. Everyone needs to think about simplicity to accelerate, sustainability for enterprise architects, and the right number of SDKs.
- Never stop learning. Always study new technologies and software. You can always learn more.
- Developers need to understand that the IT department is an asset and you need to help IT understand the problems you are trying to solve.
- Keep it simple. Be agile in how services evolve. Tie in a good protocol layer. Ensure services can handle changes over time. Don’t get caught up in the hype. Focus on the core business value you are providing. Don’t chase the silver bullet - there isn’t one. Be well-grounded in the business value you are providing.
- With mobile, know what the cost of two bytes really means. 10,000 connections equals terabytes of data over a year. If we reduce 2,000 bytes to 2 bytes we save a ton of money and bandwidth. Make messages small and efficient.
- Do not look at enterprise integration as a thing to do. Must build plumbing that is usable. Be laser focused on the customer experience in the new integrated enterprise. This will result in a better/stronger integration.
- Everything happens at the developer level. Everything we do is about making the developer as effective as possible today. You need to embrace a new toolset - technology and mindset - get good at being flexible, changing, evolving and standing the test of time. Stay agile. Think about how what you develop can be used by other developers.
- Choose the right bits of data to store. Get the right data in the right place. Understand requirements and goals to make the right recommendations.
What questions do you have when working on enterprise integration projects?
If you've already had experience working on enterprise integration, what advice do you have for developers?