problem with arduino and MAX7219

I'm wondering if it's a case of having the rows and columns switched, but even if it is, that's a hardware thing not too simply fixed, still probably easier to address it in software.

I mean, it's writing to columns and then shifting left. If I were you and I were the experimenting type, I'd see if it will recognize changing the word "column" to "row", and "left" to "up". I'd be curious if that works anyway.

Could also try a different library like MD_MAX72XX