“I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain.” ― Frank Herbert, Dune
Nashville Software School is a safe place to fail. I tell students this all the time. I say something like, “Failure is part of the process,” or “It’s ok to fail at NSS,” or “Developers fail. We fail all the time.” I say these things with the best of intentions, but, for some reason, students aren’t often comforted.
I can’t imagine why.
Truthfully, though, I get it. Learning is hard, and on those occasions when you’ve finally reached the point that you know you’ve really mastered something...you’ve got this...maybe this coding thing is for you after all...and then...fail! You were wrong. You didn’t understand it. You’re an idiot. Everyone else in class gets it. They’re all a bunch of super-geniuses, and you somehow slipped in here without being noticed. Maybe you should slip out the same way?
But you don’t slip out. Part of you would like to, but you can’t. You’re committed to this. You’ve invested money. You’ve invested time. You’ve altered your life to be here. You’re scrimping by right now and, by god, this whole thing had better pay off. A few months ago, you made a decision, and somehow, that choice led you here. To this place. This place of pain. Of doubt. Of fear. Your head in your hands, eyes staring down at a keyboard lit by a screen of red error messages.
This is how it goes sometimes. How it piles on. You make one simple mistake with a parenthesis, or run a loop one too many times, or try to call a method on a null object, and suddenly find yourself questioning your ability to do anything right. If you could focus on the simple error before you, it wouldn’t be so bad, but bigger questions keep whispering in your ear. Doubts. If you can’t get this, what does that mean for your future? It’s hard to ignore the risk you took when you came here. It’s hard to not see these small failures as a prelude to a larger failure. The big one. What will you do if this doesn’t work out?
Learning a new and complex set of skills is a risk and it is hard. And there are no guarantees. At NSS, we’re quickly approaching 1000 graduates. We have a greater than 90% placement rate. We have a devoted instruction staff as well as a tireless career development team that works hard for students every day. But can any of us promise you it’ll work out?
No. No more than any of us can do the work for you. We’re here to help, but you are the champion of your learning. You are the one who decides not to slink off to someplace less risky. You are the one who decides to pull your head out of your hands and put your fingers back on the keys, to reread the error message, to google it, to ask for help. You are the one who decides to keep going.
I wish I could offer some sage advice to fix everything. Some inspiring meme that could make it all better. But, honestly, sometimes it’s just gonna suck. It’s sucked for the hundreds of students who came before you and it’ll suck for all those who come after. It’ll suck when you leave the friendly safety of NSS to venture forth into the real world. It’ll suck in a couple of years when your manager asks you how long it will take to wire up the new app to use SAML for single sign-on. Sometimes it’s gonna suck.
Ok, that’s depressing. So if it sucks so much, why do we do it?
Is it the money? The money’s not bad, and the security and stability it brings are a powerful motivator.
Is it the dopamine rush we get when we finally fix that pesky issue or solve that tricky problem? Personally, I’m a big fan of this one...to the point where a part of me gets excited when I find a bug.
Is it the thrill of reaching a flow state where everything just clicks? This one is powerful in a way that’s hard to explain to the uninitiated. Few things come close to the mix of the oddly satisfying and somewhat terrifying realization that you haven’t eaten or gone to the bathroom in several hours.
Ask a room full of developers, data scientists and analysts why they do this work, and you’ll get a multitude of answers. We all have our reasons. Sure, that fear of failure creeps in sometimes. It’s unavoidable. But we live and work for those days when the job is fun, challenging, and rewarding. We feel privileged to be able to have work that we enjoy.
It’s really not so different as a student at NSS. The pace might be a little faster. The ups and downs come at you a bit harder. But all in all, it’s pretty much the same thing. A series of failures punctuated by thrilling successes. That’s the job. I highly recommend it.
So, what are your reasons for going on when things get tough? When fear of failure comes skulking around, what do you tell yourself to remind yourself why you should keep trying? What helps you move past your doubts and frees you to focus on the problem at hand? Do you have any advice for others going through dark times? Any advice for your past self? Or your future self?