Here are some thoughts for anyone reading this…
A developer shouldn’t have to ask for things to do.
If you have developers asking for work, you have problems.
There are two major things going on here. One, you have a developer who doesn’t know what the team is focused on. Two, you have a team that isn’t marketing, internally, what the priorities are.
Let’s start with #1. There are types of developers who want to be “tasked out.” They want a task they can take away, work on, then deliver for someone to verify. There is nothing wrong with this. Arguably, these developers are common. A team needs to know how to make the most out of these types of developers. The software process needs to supply them with work. These developers suffer when the software process and team structure cannot support them.
As for #2, you shouldn’t expect a developer to “just know” what to work on. You should expect a developer to know where to go to get the priority items to work on and where to get the information necessary to complete the work. If a developer is asking for work. More than likely, either there is no defined work to be done (no backlog), or the team isn’t able to convey the priorities and how to accomplish them.
A developer will only ask for something to do if they don’t have anything more interesting they want to do.
In the past, I’ve seen developers go for weeks or months without executing on anything significant. Most of the time, this has been because no one on the team was explicit asking them to work on an item. Moreover, they usually had something that was keeping their interest. It may have been an unrelated task or a side project.
At the end of the day, the core problem is the team being unable to work together cohesively. If a developer feels that nobody is aware of the lack of effort they are putting in towards the team’s goals, and takes that opportunity to work on items they are interested in or just not work at all, then the issue is with the makeup of the team.