Practice. Though there are some weaknesses that a person may never be able to overcome, we all have an opportunity to improve in almost all areas if we practice.
This may sound "pat", and maybe it is, to some degree, but it still remains true. If you can't sing when you're 17 years old, practice. By the time you're 20 you'll be able to sing with much more "talent" than you did before you started to practice.
You discover your Strengths and Weaknesses by performing actions, tasks, processes, and procedures, and then evaluating your performance. Oftentimes, the evaluation must wait until you've engaged in an activity for a period of time, to get a true idea of your capabilities. Afterwards, you can make an informed decision on your performance based on a host of data.
Another way to discover your Strengths and Weaknesses is to ask the opinion of others. Ask a family member, relative, friend, a sports coach, a mentor, your boss at work, for feedback on a particular task you regularly perform.
Children are very honest in their innocence and will tell it like it is; they're not afraid to tell people in a roundabout way of their Strengths and Weaknesses. I'm reminded of a sitcom I saw a few years back. An uncle, who was a boxer, invited his nephew to his boxing match. The nephew was very excited and said, 'Great, and after the fight can I ride with you in the ambulance to the hospital?"
The uncle learned very quickly his Strengths and Weaknesses as applies to boxing.
Finally, professional, accredited tests and grading in a particular discipline will give you a well-documented record of your Strengths and Weaknesses in the discipline of your choosing.
You can improve your Strengths by continually applying yourself to the task; researching better ways to perform a task; getting advice from professionals in the discipline, and taking an academic course that will help you develop your skills.
Experience is the best teacher. As you learn, grow, and experience various situations in life, you will certainly come to realize your strengths and any areas in life you need to make improvements in. Live long enough, and you may realize you have many things to improve upon, from procrastination, to eating healthy, to maintaining positive relationship, the list goes on and on regarding what we discover about ourselves.
Most people discover their strengths and weakness as they move through life. We discover things we aren't good at or things we are great at. Some people make these discoveries earlier than others. It helps if the person is more in tune with or is actively seeking this type of knowledge. Once you discover that you have a strength, using that strength in new and different ways will help to make it even stronger. If you find you have a weakness, working through that weakness can help reduce it as well.
The above post is exactly right. It is not pleasant to find out that you aren't as good at something as you'd like to be. But we all face that, and the key is to be honest with yourself. Another way to assess your strengths and weaknesses is to challenge yourself by doing difficult work. You will not find out what you're good at unless you push yourself past your comfort zone.
You have to do something that most of us find difficult to do: take a good hard look at yourself. Try to divorce your self-analysis from your emotions when you think about your areas of weakness and strength.
One good indicator is what you like to do, as opposed to what you don't like to do. We usually like the areas in which we are strong, and dislike the areas in which we are weak.
It really helps if you write this stuff down. It's easier to self-analyze when you see the words in front of you--it gives you a little emotional distance.
Essentially, one discovers their strengths and weakness through trial and success or trial and error. One can only find out if they are good or bad at something by trying it out.
In order to improve strengths, one can only refer back to the age old adage: "practice, practice, practice."