Self-confidence can be a great thing, so long as you are truly capable of those things that you are confident about.
Feeling good about your own abilities can be very powerful. And correspondingly, lack of self-esteem can be a real problem. We ought to be confident with others when we're dealing with things that we are experts on. If we are a successful business-person, we should feel confident about talking about how our business runs and how we got it to where it is.
Feeling as if our own opinion is intrinsically worth less than others is definitely an issue and I'm sure many people struggle with it. But I think that overall our culture struggles much more with misplaced self-confidence than with a self-esteem problem.
Children are often taught that their work is excellent, even when it's really not when compared to their peers. They are taught that they are incredibly smart, when they really aren't.
The word "excellent" should really mean something different than "good". If I have a good employee, I mean that he performs his duties well and does a good job. This does not make him excellent. Excellent implies that he truly stands out among employees as a particularly exceptional character.
In my company, as in many companies, we have annual performance reviews. During these reviews, our manager assigned a number between 1 and 5 that indicates our performance for the year. I had one manager who consistently gave 4 and 5 ratings to all his staff. His explanation was that "we only hire the best and the brightest, and you all are exceptional employees". This really isn't the point of the evaluation. The point is to show which employee or employees from the larger set of all employees truly are exceptional. Most employees should probably be given a 3 rating -- the description next to this number indicates that an employee with a 3 rating "consistently performs his duties as assigned and meets deadlines" (or something to that effect). In reality, that describes most good workers. People that you want to stay with the company forever if possible and that are a delight to work with and spend time with.
To make everyone special is to make no one special. The point of lifting some people up as experts in their field, or people deserving of honor and reward, is because they truly outshine those around them.
But to take this back into the realm of self-confidence, I think that far too many people in the modern believe that they have amazing "skills" when really their skill is mediocre at best. Consider those who have written some code in their life. Programming has become a very common auxilliary task for many professions. People who work with computers in various fields find it useful to spend some time writing code of some sort to automate, or simplify, or reduce complexity in their ordinary jobs. This is great for them, but they are not experts in most cases.
I'm here to burst some bubbles. Spending a few hours, or a few days, or even a few weeks learning a new skill does not make you an expert. Furthermore, going to a university for an undergraduate degree, or even a graduate degree, does not make you an expert. Even spending years of your life exercising a skill does not make you an expert.
Let me explain what I mean by an analogy: Playing the piano is a lot of fun. Many people enjoy it and many people are even good at it. There are very few experts. I cannot simply become an expert because I practice each day or because I go to an expensive school or because I buy expensive pianos.
Becoming an expert at something is a combination of the effort that you put into a skill and the inherent talent that you possess for that skill.
Keep in mind, it's not enough to just spend time with something. Some people will never excel at something even if they are passionate about it. I've read books by authors who have written for over 40 years whose books are still drivel. I've seen construction work done by people with years of experience in a variety of contracting work that's still awful. I've seen software that's written by veterans of coding who had to punch out their code on ancient computer systems that's simply terrible.
I'd encourage the following:
- Don't expect people to respect you and your work because you were educated in a particular field. Having an MBA does not mean you know how to run a business.
- Don't think that because you work in an industry, you are therefore an expert in that industry. There are far too many people in jobs that they are lucky to have, and really aren't qualified for.
- Critique the praise you receive. Are they simply flattering you because you can do something for them? Are they ignorant of your actual skills? Simply because many people praise your abilities, does not mean that you are exceptionally good at what you do.
But, you might ask, what's the point of being all negative about your own abilities? Am I just being a killjoy that encourages morbid introspection and wants you to run yourself down professionally?
I think the best answer is that you cannot become an expert at something when you already believe you are one. We learn best from our failures. The smartest people I know are people who are painfully aware of many areas where they lack knowledge and ability. They actively pursue these areas and attempt to fill gaps where they know they are less than they can be. They become experts in part because of their own innate talent, but also because of their dogged determination.
So be humble. Never assume you are the smartest person in the room. Never talk down to others when they share an idea. Be ready to learn from anyone. Sure, there will be idiots that you interact with in life and people that rapidly show themselves to be ignorant of areas that you are very knowledgeable about. You certainly are smarter than some people. But if you start with the idea that you are very smart, very experienced, and very wise, you're very likely to get to no smarter, no more experienced, and no wiser through your interactions with others.
Also, it's just annoying.