The engineer who knows he can't write, but is willing to keep trying, will slowly get better at it. When he does write something better, his coworkers will notice. A bad attitude doesn't have to be the reason you aren't good at something, but it will keep you down and prevent you from getting better.It's like telling an engineer who doesn't write very well that he doesn't write very well because he has a bad attitude.
I think you need to work out what a bad attitude is, and then focus energy on not doing those things. That's basically it.But I don't know how to have a good attitude because I don't know how to force myself to care.
About caring, well, maybe stop calling it caring. Call it diligence. Are you willing to work after new things lose there cool and it's not fun anymore? How easily do you give up in adversity? Are you willing to call something that sucks the best you can do for now? I do know that diligence is something you can work on, at least. Learn time management so you have a way to be productive, if not caring.