Juniors – Feeling like you’re just no good?

This post is for those who feel that they are lacking in confidence or know someone that is. It’s designed to empathise and motivate and to suggest some possible confidence boosters if you’re ever feeling like you’re not quite good enough.

This isn’t just for you, it’s for me too – a little pick-me-up and reminder of what I need to be doing to get my confidence back on track if my reserves are a bit low. It’s not going to apply to everyone, some people are confident all of the time. Much as my last post – this is me and my experiences as a junior however after discussing it with friends of mine I know there are others that battle with some of the same issues. So I’ve made a list of a few common confidence knockers that you may identify with and some confidence boosters I try to employ that may help.

Drowning in code that’s making you feel stupid

Scenario:
I’m often given legacy code to read, change and add to. At the outset it sounds like a fairly easy task but as a junior this can be extremely daunting – code that’s new to me and written by someone else can mean it takes longer to read, and that itself can leave me feeling a little slow. Then I have to change it – maybe I break it and I don’t know why? The deadline’s looming and I feel like I’ve set myself back even further. Then after I’ve managed to fix the change I made I’ll go on to add something new and… it doesn’t work! Now I really do feel stupid. It all mounts up: I’m thinking I’ve taken a considerable amount of time to read the code, then I feel like I’ve made a hash of the changes and had to spend time fixing them and then I’ve added code and it doesn’t work! Which leaves me asking “Was I ever any good at this?”

Remember:
Yes you are good at this – Seniors would not have given you this work if you were not capable. It does take time to get used to the way other people write their code and it might not make sense to start with (which is probably why the changes you make break things) but don’t think that’s setting you back you’re learning more each time so you’re actually moving forward. Anything you need to add, test! My mentor always encourages me to write tests for any additions to existing code. He’s right to do so as it gives me confidence in what I have written so at least if my tests pass I know that part works and I will know if it ever breaks.

Acronym central and I’m lost

Scenario:
My confidence often flounders when I’m in a conversation with some highly knowledgeable seniors. I end up feeling way out of my depth and like I can’t really contribute anything useful to the conversation. There are all sorts of different acronyms being thrown around that I’d never even heard of let alone knew what they stood for or how I can apply them to my work.

Remember:
You will understand these conversations soon. Don’t think for a second that these seniors just woke up one morning and had a brain full of information. They were just like you at some point (although it may not seem like it at times) and most of them have experienced where you are now. If you don’t understand don’t be afraid to ask – you’re not stupid if you don’t know something, you just don’t know it yet. I’ve found that most of the time seniors are more than happy to explain what they are discussing if you just ask.

The realisation of how little you actually know

Scenario:
Sometimes when I’m trying to learn about a particular topic it can lead me into another and before long I’m looking into a topic I didn’t even know was related.  It’s at this point I realise even with all currently aquired knowledge I still know very little in the grand scheme of things. That’s a bit demoralising at times.

Remember:
You’re never going to know everything, you are learning. You need to stop trying to know everything all at once, you can’t. Knowledge is something you gain over time and by reading into topics and applying what you’ve learnt you’re doing the right thing. If what you are reading or listening to deviates entirely from what you are working on, don’t worry, it’s probably something you will come back to when you have a firmer understanding of the original topic. You will understand just give yourself time.

Confidence boosters!

Do something you do know

Take 30 minutes out, maybe before or after work, and go over something you do know. It reinforces that you do know what you are doing but you’re just on a steep learning curve at the moment and that’s the reason you feel a bit lost. I try to do the Kata when I’m lacking in confidence – it’s a good reminder of your already acquired skills and it solidifies them. Maybe try doing it a little different each time you do it.

Pairing

I get an enormous amount out of pair programming, try not to see it as someone looking over your shoulder but as an opportunity to learn from each other, even as a junior you can teach your pair as much as they can teach you . If find pairing gives confidence through clarification and being part of a team that provided the best solution to a problem.

Cardboard programmer

They just fix things! ;) If you are stuck with something, talk it through with someone. Do a step by step of what’s going on and talk them through the code. Just by doing this you outline the exact problem to yourself and can usually identify the issue before they utter a word. If you don’t have someone there to talk to -then do this processes yourself and note each step as you go along. Another mentor of mine mentioned that he called it the “Teddy Bear Method” as someone had said to him “it doesn’t really matter that much who you explain it to, the talking through it helps you understand” that person also recommended to him that he keep some kind of cuddly toy on top of his monitor in case there wasn’t a real person to ask :)

Ask questions

Don’t be afraid to do this. I’ve spoken to a number of other people who worry about looking stupid if they ask questions about things they think they should know – I often feel the same but because I didn’t ask I still end up not knowing. If you ask then you can move forward and onto the next issue that needs addressing. You’ll probably find there are a number of other people that didn’t know either so it might be worth posting it on the company blog or having an info forum if it’s a large topic.

Code reviews

I find code reviews can be a confidence booster if delivered by the right person. It’s very important that the person doing your code review is diplomatic when they are doing it as it can quickly turn into a confidence knocker if they aren’t. Learning that you did something correctly but that there is a better way of doing is good. Just think how great you’ll feel when it comes to your next code review and you implemented that more efficient piece of code you learnt!

I’m sure there are many more confidence knockers people experience it would be interesting to hear your experiences and how you over came them.

S :)

Filed under: Debate, ,

8 Responses

  1. CaRDiaK Says:

    Awesome article! I can relate to your posts so much being a junior myself. To be honest im quite amazed that I found your blog as it makes me feel “Hurrah! Im not the only one!” hehe. I particularly liked your “Teddy Bear Method” I have been doing that for a while however, we have a rubber duck. We pass it around the office from time to time if someone is having a hard time. The duck quite often helps solve the issue :)

    I also like “Drowning in code that’s making you feel stupid” I suffered this quite badly at one point for a good few months when I was on my own. It really made me question myself and my career. Then I read Code Complete 2nd Edition by Steve McConnell and that made me appreciate that we have limited knowledge and capacity and the trick is understanding and accepting that fact, then working with what you do have intelligently instead of drowning in code. It also made me realise that it wasn’t that I wasn’t any good. Id just learnt to program the right way and this was really old code… quite shoddy old code at that :)

    Now I have a senior and mentor and I don’t have to make an effort to read his code. I just read it. I try to push out of my comfort zone at least once a day. We can never stop learning :)

    Keep up the fantastic work! I love this blog.

    CaRDiaK

    Posted on November 19th, 2009 at 09:31

  2. uberVU - social comments Says:

    Social comments and analytics for this post…

    This post was mentioned on Twitter by SaraS85: Blogged: Juniors – Feeling lLike You’re Just No Good? http://bit.ly/21MWTT

    Posted on November 19th, 2009 at 09:49

  3. Jasper Says:

    Nice one, Sarah. Whilst I agree that a lot of this stuff is valuable to juniors, it’s mostly valuable to anyone. The issues with dealing with code someone else wrote never goes away.

    I deal with a fair amount of legacy code on a daily basis, and sometimes the day ends with me feeling like I totally suck! I find that treating augmentations of legacy code as a little test, and taking regular breaks if you’re getting wound up really keeps your head level.

    Excellent advice, otherwise. I wish there’d been more people to talk to about this stuff when I was a junior. Development can feel like an incredibly lonely profession sometimes!!

    Posted on November 19th, 2009 at 10:37

  4. Brian Chiasson Says:

    Nice post, I wish I had this around when I was a tad younger. And kudos to you for recognizing that it’s a learning experience and not getting too discouraged.

    Suggestion: If you are working with a lot of legacy code (most of us are), drop what you are doing and go get Working Effectively with Legacy Code by Michael Feathers (ISBN 0131177052).

    -Brian

    Posted on December 1st, 2009 at 16:36

  5. Svish Says:

    Nice post! Very helpful indeed :)

    In your acronym central you could probably add techy jargon in general as well. Weird pattern names and programming practices you’ve never heard of for example. Or that you have heard of (and maybe even done!) but just didn’t know it had a name… Oh, and even more importantly: Business jargon and insane business rules that just… doesn’t make any sense :p

    Posted on December 14th, 2009 at 14:35

  6. Svish Says:

    (btw… have you changed the url to your rss feed recently? I had your feed in FeedDemon, but discovered that the posts there were quite out of date. Had to re-add your blog for it to get the latest posts)

    Posted on December 14th, 2009 at 14:37

  7. Sara Says:

    Ah I wonder is anyone else is having this problem? Did you fix it?

    Posted on December 23rd, 2009 at 15:56

  8. Amy Says:

    Nice one, Sarah. Whilst I agree that a lot of this stuff is valuable to juniors, it’s mostly valuable to anyone. The issues with dealing with code someone else wrote never goes away.

    I deal with a fair amount of legacy code on a daily basis, and sometimes the day ends with me feeling like I totally suck! I find that treating augmentations of legacy code as a little test, and taking regular breaks if you’re getting wound up really keeps your head level.

    Excellent advice, otherwise. I wish there’d been more people to talk to about this stuff when I was a junior. Development can feel like an incredibly lonely profession sometimes!!

    Posted on April 23rd, 2010 at 11:15

Leave a Reply