DEV Community

Asael Shinder
Asael Shinder

Posted on

The Course Says Your Team Is Doing It Wrong

You come back from a two day course on service design full of energy. One slide is still in your head. Each service should own its own data, and services should never share a database. Then you open your laptop on Monday and look at your team's system. Four services, one database, and three of them reading each other's tables.

The temptation is to walk into stand up and announce that we are doing it wrong. Resist it for a week. What you learned is only half the picture, and your team holds the other half.

Courses teach with clean examples on purpose. The example system has no history, no deadlines, no customer who needed a feature by March, and no team of three supporting it. Advice built on that example is usually sound in general and silent about your particular situation. Your job now is to translate it, not to import it.

Start by finding out how the system got this way. Ask the person who has been on the team longest, with real curiosity. Why do these services share the database? Often there is a reason you could not have guessed. A reporting requirement, a migration that ran out of money, a decision that was right at the time.

Then look for the actual cost in your system, not the cost the course described. Has the shared database caused an incident? Does a schema change in one service regularly break another? Write down two or three specific examples. A problem the team has felt is far more persuasive than a principle from a slide.

If the cost is real, propose something small and reversible. Not a redesign, but one table that only one service may write to from now on, and a review after a month. Small changes let the team test the idea without betting on it.

Frame it as a question, at least at first. I learned something on the course that made me wonder about our database. Can I show you what I mean? People join a question far more readily than they accept a verdict.

And be ready to conclude that your team was right. Sometimes the principle is sound and the trade off still goes the other way. That is also learning, and probably the most useful kind the course gave you.

– Asael Shinder

Top comments (0)