What integration patterns do you use?
Event-driven (Kafka, EventBridge, custom message buses) when freshness matters. Batch (nightly ETL) when volume dominates. Real-time API calls when both. We pick the pattern for the use case, not the fashion.
How do you handle integration failures?
Idempotent receivers, exponential backoff retries, dead-letter queues for failures we cannot process automatically, alerting that fires on real failures (not noise). Failure handling is most of the integration work.
Can you integrate with custom or legacy systems?
Yes. Most enterprise integrations include at least one legacy or custom system. Mainframe, ColdFusion, custom APIs without documentation. We do the code archeology to understand them before integrating.
What about observability?
Per-integration health dashboards, error rate tracking, retry visibility, payload-context error capture. You should know which integrations are healthy and which are degraded without paging engineers.
Do you handle data migration during integration projects?
Yes. Most integration engagements include backfill or initial data migration alongside ongoing sync. We design the backfill, the cutover, and the steady-state pattern as one engagement, not three.