I am working with a PLM based product. Everything is fine, but I feel that the technology stack is too limited. I want to work with Java based technologies like Spring, Hibernate etc.. and learn how those fit in together.

I could try interviewing with companies that offer such positions. In fact, I am trying as I post this. But there is a problem here: I am somehow not trusting my potential. I truly am good at programming, but I do not have any confidence whatsoever. I can crack interviews, that is not a problem, but I don't have confidence at all.

This is really starting to bother me. I could see other people who are not having that much of a tech exposure are jumping off to different companies and are getting better pay, yet I'm not even able to make that jump. I am even getting thoughts of continuing in my current company forever.

How can I overcome a lack of confidence to succeed in changing jobs to obtain more pay?

  • confidence really does make all the difference even WITHOUT the skills...so, what are some things you can do to increase your confidence? Apr 20, 2013 at 20:12
  • 2
    "I truly am good at programming" and "I don't have confidence at all" seem somewhat in conflict to me. Saying the first (which, by the way, rarely is true if assessed objectively) requires some serious confidence.
    – Hilmar
    Apr 20, 2013 at 20:40
  • Hi Pavan, I'm going to take a guess that your question is "How can one overcome a lack of confidence to make it through the interview process", and I'm going to edit this into your post. We're currently experimenting with our site topic to see if we can improve questions from new users such as yourself. Can you take a look at the bottom of this meta post and use that as a guideline for more edits, assuming I guessed wrong, that is. Hope this helps this post get better answers! :)
    – jmort253
    Apr 20, 2013 at 20:41
  • 1
    I can crack interviews, that is not a problem, but I don't have confidence at all. <-- this doesn't make sense to me. What do you mean by the "I can crack interviews" part - having confidence allows me to do well in interviewing. I'm not sure how someone can do well interviewing without it, to be honest.
    – enderland
    Apr 21, 2013 at 0:39
  • Thanks everyone for your posts. I may not be as good as Dennis Ritchie or James Gosling, but I am very much sure that of my abilities. I somehow get these negative thoughts like 'would I be able to take new assignments?' .. 'would I be able to solve a given problem'?. Now, these kinds of thoughts are what troubling me the most...and I want to get out of these thoughts...
    – pavan
    Apr 21, 2013 at 14:17

4 Answers 4


First, the fact that you lack confidence is not bad--it's actually a good sign, because it means you understand enough about what it means to be competent to have doubts about how competent you are. I completely empathize with your situation, because I cycled into and out of the same state for a couple of years.

One thing you need to realise is that for most programmers, it's not even desirable to be as good as Dennis Ritchie or James Gosling. If you were, you'd be flat miserable in at least 85% of the jobs out there, because the idea that all programmers or most programmers or even a significant fraction of programmers are working toward that level of proficiency is a fiction. So most teams you will be on will not value the things you would need to have a high level of mastery of to be at that level. This means that, at a minimum, a significant portion of your hard-won skills will go unused. But more likely you will find yourself coming into conflict with teams whose basic coding phiosophy is diametrically opposed to yours.

So, if the team you are on remotely values good practice, consider whether you are going to be jumping out of the frying pan into the fire, as it were. It's nearly impossible to know exactly what the real coding practices are in a team you're joining until you're actually on the job, no matter how careful you are in the interview.

This is not to say you shouldn't be interviewing. Being able to ace an interview is in itself a confidence-builder. About 3 years ago, I interviewed for one of the top consulting firms in my field and didn't get the job. But I did get a good understanding of what it takes to be hired into that kind of position, and two years later I interviewed for them again. This time, I aced the interview and was offered the job. Sadly, for reasons beyond either party's control I had to turn it down, but knowing I had progressed that much in 2 years really helped my confidence.

That brings me to my last point--where you are today is not where you will be in 1,3, or 10 years. So keep working on the skills you value for you, and then seek a team that will allow you to exercise those skills. And keep trying. Just because you fail to get onto that team today doesn't mean that you won't get onto that team next year, or the one after that. And looking at it that the team has to be right for you, not just vice versa, will also take some of the nerves out of the situation.


Being a good programmer is more about figuring out problems no one else has seen before instead of just having all the answers. These are the jobs given to, or taken by the good ones.

Confidence needs to be rooted in experience. It seems like you have very high standards for what is a good programmer based on some of the top names you mentioned. This is only a good thing if it motivates you to do the things to get better. Right now, it's holding you back.

One way to get better is to take on more demanding responsibilities. You don't have to take a new job to accomplish this. Also, you can try to be more fluent with the technologies you're currently working with.

Have you ever failed to complete a task given to you? Are there problems you couldn't solve or search for the answer? If not, what makes you think you won't be able to figure-out the next problem?

So you're not worried about passing an interview for a better paying job? What is your biggest fear? Getting fired? People seeing you fail?

Decide what's the bigger concern: Holding back your ability to grow as a programmer by staying in your current job or failing at a more difficult one that pays better?


Read up on your target change and start some home projects in the target programming environment, to start to get comfortable in working in a technology new to you. Imagine your going to learn the piano, reading up on music theory and learning to read sheet music (eg the keywords and syntax), doesn't give you the ability if you don't lay your hands on the keyboard.

Next find the most common theory and practice in your chosen target technology. Writing the sequence of notes on the keyboard isn't going to be that useful if you join a band or orchestra that rely in sheet music - in other words learn the basic rules of your new programming language, the code conventions and standards, the design patterns most prevalent.

Join a few meetups, groups and forums and engage in them.

Practice, practice, practice - that will help grow your base confidence and give you the necessary pointers to look for help when you lack confidence. Try to find a mentor and get then to give you friendly code reviews and pointers.

Next look at your cross transferable skills. You already know your current technology environment, what can you take from it to your target environment. You can transition your current workplace skills to a new one.


Lack of confidence often has a root. This can range from teasing in high school, to being belittled by your parents, or something else. Dealing with this can be hard, and is often a long process. Getting some professional help is a really good idea. Alternatively, find someone you trust to talk about this. Try and identify what the root is, this could lead to a strategy to (partly) change your thought patterns.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .