Data visualization looks intuitive and nice in D3 examples thus be something 'every programmer should know'. It's so simple, just pick it up.
Any production environment data visualization is going to run into a plethora of sticky problems. How do ensure your queries aren't going to overload and crash your visualization client. How do you handle time series and gaps in data? How do you evict data from a vis?