What is fear preventing you from doing, and what can you do to overcome it?

(Daniel Hollands) #1

At last month’s brum.js meetup, @Judes mentioned something interesting about fear - specifically that of being scared to make changes to code for fear of what you might break, or just the idea that you’re doing something wrong, but don’t understand what or why.

This is a feeling that I know well, as it’s something which I - and probably every other learning coder - has experienced.

I suggested at the time that git was a lifesaver for me in this instance, as I was the master of what I created, and if something didn’t work, it was quick and easy to revert to an earlier, working, revision of the code base.

I’ve also (mostly) embraced TDD, which very quickly tells you if something is broken, meaning (provided your test suite is good enough) you can feel confident deploying.

A combination of both these things has made me feel far more confident in trying new things - things which are slightly different to what the tutorials says, but common sense suggests they should work. No longer am I scared of even just trying

…but neither of these things take away from the fear of doing something wrong. Sure, you’ll get the same results on the screen, but maybe what you’re doing is inefficient, or doesn’t actually do what you think; it just looks like it does.

So, this topic has two questions:

  1. what is fear holding you back from doing?
  2. what can be done to help overcome this fear?


(Jim Gumbley) #2

Add more tests? :slight_smile: Seems simple but means you can refactor with confidence.

Also use a production like dev environment… run some bigger tests (end-to-end, integration) in a staging environment, make sure everything is automated and repeatable- smoke test prod after a deploy, and monitor from infrastructure up to mock business transactions.

(Ben Paddock) #3

I think as long as you receive regular feedback (from peers and users), you should have no fear, even when failure occurs.

(Nick Banford) #4

I would say define clearly testable acceptance criteria for the task you’re trying to do. If you can’t do that then the task might be too big and you’ll need to work with whoever defined it to break it down into smaller chunks.

TDD helps massively to remove fear because you don’t think about too many things at once. Just how to get the current test passing. Sometimes this drives an implementation of the code that you initially thought wouldn’t have been suitable. It also means you only do what’s required.

I love the feeling with TDD when you finish your test fixture and you’re sat there like “oh, is that it?”.

I’d say fear has prevented me from speaking up to try and improve processes in the past. But I don’t find that it helps. It’s always best to be honest and try to improve things where possible.

(Jude Gibbons) #5

Speaking as the person who sparked this conversation, it feels a bit more complicated than that! I don’t currently work in a dev team so I feel very isolated, and not coding at work means that I’m trying to grab a few moments here and there when I can and it’s not very productive.

This may be a good time (or a bad time, given that it’s been a few weeks since the original post) to ask: is there anyone who would be able to spend a little time with me as a mentor? Specifically: I have a small JavaScript project which I’ve ground to a halt on because I can’t work out how to do something and I’ve started reading around the basics of the language which I feel I’m not clear on and I now feel a bit overwhelmed. Just talking it through with someone and getting some pointers would be really helpful.

One thing I’m never afraid to do is to speak up about things that I think need improving - some people may think that I do this too much! :sunglasses:

(Nick Banford) #6

Hi Jude,

Have you checked out codebar.io? They have one in Birmingham now and that’s a place where mentors and students can meet to work through coding problems. I’m planning on attending as often as I can. Last time I was there I was helping someone with some JavaScript learning.

I don’t claim to be a JavaScript expert but I’d be happy to help. If you don’t want to do the codebar thing we could always arrange something separately.

(Daniel Hollands) #7

I might be able to take that role, if you’ll have me. I’m no expert at JavaScript, but I’m learning it right now, so if nothing else, I can probably show you how I go about solving problems like you’re having.

I would also second what @Banford says about codebar, and don’t forget @Jess’s Open Code, and @jackweirdy’s Brum.js meetups,

(Jude Gibbons) #8

I’ll look out for the next Codebar event in Brum; I already attend BrumJS and OpenCode from time to time. Thank you both for your offers: I would love to take one/both of you up on it! Maybe in the first instance I can email you a link to my project and explain the background to what I was trying to do and how I was trying to do it, and you could make some comments - would that be an ok way of doing it?

(Nick Banford) #9

Sounds good. I’ll tweet you my email.

(Jude Gibbons) #10

Thank you - I’ll get in touch over the weekend!

(Andy Wootton) #11

@Judes Out of interest, would you say you are an extrovert or introvert? I’m definitely the latter so I won’t go to things like OpenCode until I’ve done more self-study. I’ll go when I feel I need feedback on what I’ve done or I have a problem I can’t solve. I’m wondering if extroverts learn better in public right from the beginning and this difference is something that training courses should take account of. I dread that bit on courses where they say “Don’t worry, there will be lots of group exercises to make sure everyone understands”. If you want me to understand, let me go into a quiet corner and think, without interruption. (I’m not anti-social, honest!)

(Jude Gibbons) #12

I am an introvert, but with the ability to be social if I’m in the mood and among people I feel comfortable with. For me, OpenCode is somewhere I feel I can go even though I very much haven’t done enough self-study: I have learnt things there by asking (to the detriment of other people’s coding time unfortunately!). If I waited until I thought I had done enough on my own, I would never go! I know I should be able to learn ok on my own, but I find it frustrating when I want to clarify a theoretical point but I don’t have anyone to ask, and then I google it, find a really good article to read, get distracted, overwhelmed and disheartened, and end up doing no coding at all. This is what has been happening to me over the last few months (years, actually).

I don’t like group work: it seems that either I’m put with fairly passive people and I end up doing everything (has happened with design stuff, not coding) or I’m with people who are miles ahead of me and I feel out of my depth and unable to contribute. And if I’m learning in a structured group, I am able to ask questions, but then feel very conscious of potentially hijacking the group’s time, or slowing other people down, which makes me feel bad. I would definitely like to do more pair programming but not in a competitive environment!

(Daniel Hollands) #13

I’d not think of it like this. If said people didn’t want to help you, they have the ability to politely refuse. Helping others learn is often a good way of learning yourself, so don’t think that the people providing the help are getting nothing out of it, because they’re probably getting more than they realise.

What if you’re not the only person that doesn’t understand. What if there are others who are too scared to stop and ask questions. What if you have questions that other members of the group had not even thought of?

I say raise your hand and ask as many questions as you can think of. Or, if you’re feeling a bit scared to, wait until the end and ask, or ask your peers. Just whatever you do, make sure that you ask.

I wasn’t aware that pair programming could be competitive?

(Jude Gibbons) #14

The only time I’ve really done pair programming was in a meetup where it was a little ‘which team can do this first’ task; the person actually doing the typing was waaaaaay ahead of me!

I really don’t mind asking questions, but my questions tend to expand to cover the whole universe which I realise can be counterproductive, for me as well as others.

(Daniel Hollands) #15

I would say that’s up to the person you’re asking the question of. If they don’t think it’s appropriate, they’ll say so (and if you’re lucky, will point you in the direction of more suitable help). I still say ask the question anyway :smile:

(Steve Pitchford) #16

When I was standing atop a girt big snowwy hill, board strapped to feet, I used a simply affirmation as a mantra “nothing to fear but fear it’s self” a few times. It seemed to work.

On telly, there is a great series called “Ed Stafford Naked and Marooned”.

If Ed gets in problems he seems to refocus on an achievable task that contributes towards his wellbeing, then, whilst “basking in success” - comes up with a better considered plan to deal with the next bite of the elephant…

So, in conclusion:

Maintain a healthy state of mind, focus on achievable goals, maintain a vigilence on your location within the journey to the solution, and if things start to go awry, calm yourself down by re-scoping or refocusing ( a micro-pivot of sorts ) and getting an easy win.

A little like @Banford 's explanation from 28 days ago - with less tech focus.