Fear is such a fun topic to think about because it's one of those primal
drivers of our own human existence. We can't seem to get away from fear
and yet we do everything in our power to try very hard to minimize it's
effects in our lives. We're constantly trying to numb out fear, make
ourselves fearless, and just plain out ignore the fears that get in the
way of what we want.
I think programmers have to have a special relationship with fear in
order to get anything done. We're constantly being thrown into novel
situations where we have to deal with machines that won't talk to each
other, programming languages that seem to spring up like dandelions, and
the very real fear that we're not good enough to tackle these challenges
head-on. I know in my own experience that I worry that I'm not good
enough or that I'm somehow letting everyone down by my actions or my
Tonight I was reading through the "The Rust Book" where it was talking
about The Slice
. It mentioned
type (which is a "pointer to a primitive string slice"). I
then flashed back to my days of learning C when I kept getting
confused. Which one was the reference and which one was the
dereference? I felt the fear rising up in me as I went to Google to
search on that. I looked for a reference card for C to explain which was
is a pointer,
is an address.
references. Simple, no?). I then wondered if I would ever get the
terminology right or if I was going to be doomed forever to have to look
these things up.
I then looked on Google to see if there were any tips on how programmers
could work better through pushing through discomfort. Maybe there was
something that I was missing.
You'll note that I'm not linking to any articles here because the advice
I read was pretty terrible.
There was one site that (after the "take this quick quiz to see if
you're a broken human being. Oh, congrats! Sign up for our free
newsletter") had advice about how you just need to power straight
through this, and that burnout didn't exist. It also talked about how
famous programmer Scott Hanselman made a point to post a podcast every
one to two weeks about a complex programming topic, and if he can do it
then you can too. So to summarize, just keep working at it sport and
everything will be just fine.
Needless to say I think that's half right and half dangerous.
I think there is value in pushing yourself to see how far you can go and
running into your fears enough times until they no longer scare you. But
I also feel that you can burn yourself out pretty heavily if you keep
pushing yourself to the breaking point. We're not inexhaustible
machines; we're human beings that have fears, neurosis, guilt, anger,
and lots of emotional baggage that we cart along with us from project to
project. What we need is a way to keep practicing with our fears in
small doses until they no longer frighten us.
We also need to be kind with ourselves whenever we face a setback in our
quest for knowledge. Learning is not about getting things right the
first time, it's about breaking down neural pathways and preconceived
notions until we don't have to think as hard about a problem.
Fear is part of the programming process. Learning to work with that fear
and understand what it's telling us is far more useful than just
powering through the fear. Much like powering through a painful injury
only makes the injury worse we need to understand what our fear is
telling us. Most of the time it's just saying "I'm scared that I can't
handle this", which is a perfectly reasonable thing to think. But it's
not the definitive answer on what we're doing. We can say "I don't know
what I'm doing and that's why I'm pressing onward" and welcome our fear.
Here's to more fear in your programming practice, because it means you
get a chance to keep practicing.http://feedproxy.google.com/~r/CraigMaloney/~3/78TEDJgfEqQ/