I've heard that it's better to leave weaknesses be and instead utilize your strengths. The reason is because if you just work on your weakness, you end up being just mediocre.
It depends what they are. Early in my career I was told I was too introverted and I took that on board. Looking back I think should have told those people to fuck off.
That's a lot different from having a shallow understanding of some technology you use or not understanding your employers business that well.
What's your opinion on this?