Valid points. He is a very capable programmer and the work is definitely not boring. His team mates think he threw his toys out the cot because he did not agree with using a particular technology going forward. So now instead of helping write the code, he chooses to do small tasks that he sits on for weeks and months. Really, this is also a failure on management. Managers should know how much work load he has and when he should realistically be able to finish it. But they haven't paid attention to that, so he gets to sit on these tasks for the longest time.
For example. He decided to build a date-picker from scratch for no apparent reason, when there are a trillion jquery, bootstrap date-pickers available. It took him 3 months just to do this, Now he has said he is gonna work on CSS clean up and re-styling all the validation errors, its been 3 weeks of him doing this.
He is the senior dev in his pod. So when theres demos, he's the one that talks and includes himself on features that they rolling out as a "team" effort when he hasn't written a single line of code on it.