> If you don't tell them what you're building, then they won't know until you've built it.
In my experience, they'll usually not listen until it's built. They'll not even test it until they need for real work. At that point, they'll get stuck and their customers will get angry. And then, should I feel guilty?
If you're getting paid a rate similar any other IT professional, then you're getting paid to provide more service than just typing code into a text editor. Seriously, the rate for a decent programmer is insane, yet many of them seem to think that anything other than writing code is outside of their job description.
If a client doesn't appear to be paying attention, then you either have to be more persistent, or re-think how you're communicating with them. Are your questions too technical? Too vague? Full of words that they don't understand? If so then they're not going to give you good responses. If they still don't answer them, then at least you have a record of the questions that you asked.
In my experience, they'll usually not listen until it's built. They'll not even test it until they need for real work. At that point, they'll get stuck and their customers will get angry. And then, should I feel guilty?