It happens very often: the requirements we have to work with are not clear. Customers, requirements providers, product owners, managers, architects, and other programmers are simply too lazy to specify them right and they just drop those feature requests and bugs on our heads. We have to deal with them. The most enthusiastic of us dive into those unclear problem descriptions and attempt to clear things our on their our, attempt "to figure it out themselves." This is a very unprofessional behavior. Instead, you should always try to push back those requirements providers and make sure the requirements you work with are unambiguous, clear, and easy to understand.
The full video is here: https://www.youtube.com/watch?v=z59jkRAeBDg