I’d always fill my sprints with tons of coding features to keep our days full of delicious problem-solving.
Then I built a team of AI agents.
Suddenly, we were knocking out code so fast that the intellectual output was no longer the problem.
I could do everything faster: design, build, architect.
My customer must have noticed our amazing efficiency, because during a backlog review he said, “Oh, maybe we have time for these integrations?”
I think they heard me groaning all the way in Pittsburgh.
There was a reason those integrations had been quietly collecting dust at the bottom of the backlog. I put them there. Not because they were technically difficult, but because I knew exactly what they would cost.
You see, I’ve integrated with plenty of systems. The typical system integration is usually as simple as “my app needs to call a single API on your app.” One silly network transaction, and months of effort.
This is typical:
- Email the external systems person and make the ask.
- Email again, because they’ve blown me off.
- Finally get a response, then plan a meeting in the slim margin between our time zones.
- Have the meeting, lay out the need, discuss feasibility and the timeline.
- Write a follow-up message summarizing the meeting.
- Email again, because they’ve blown me off.
- Finally get some service credentials, an endpoint URL, and the go-ahead.
- Write the code in five minutes.
- The code, which worked great on my machine, doesn’t work on my development instance.
- Beg operations for web server logs.
- Finally get the logs, find that it’s a network error.
- Try to figure out how to submit a firewall change request again, since network operations processes change every week.
- Submit the firewall request.
- Find out my request needs: a business architect’s approval, a complex Visio document, and approval from a committee that meets every other Tuesday.
- Fill out forms, write diagrams, submit the request again.
- The business architect rejects the request, saying it needs more specificity.
- Update the cryptic forms and diagrams.
- Meet with the business architect, beg and plead, and he takes pity and approves.
- Wait for the architect to submit my request to the committee that meets every other Tuesday.
- Get the approval.
- Submit the firewall request again.
- Wait for the firewall ports to open.
- Test DEV; it works.
- Pray I got the IP addresses right for the UAT and PROD instances.
Haha, isn’t that funny? You probably think I’m exaggerating.
I’m not.
I’ve watched a simple integration stretch across three months, not because the software was difficult, but because every business unit involved had its own process, approvals, and priorities.
The strangest part isn’t how long it takes.
It’s what it does to you.
After you’ve been through it enough times, you stop seeing an API.
You see the meetings.
The follow-up emails.
The forgotten requests.
The firewall committee.
The forms you’ll fill out twice because the first version wasn’t specific enough.
Eventually you begin delaying the work, not because you’re avoiding the code, but because you’re avoiding everything that comes after it.
Experience doesn’t just teach you how to solve problems. It teaches you which problems are going to exhaust you.