Foreword by Ken Rimple:
After 5 years of working in and around tech, I’m finally learning how to program. It’s a big step, and one that I was unreasonably nervous about taking for too long. But after acquainting myself with the basics of my language of choice (Java) and successfully writing my first two programs (wooo!) I’m realizing that all my nerves were for naught. Here’s why.
You’re not reinventing the wheel.
I was totally under this impression that as a programmer, it was up to you to write out every. single. aspect. of your program. For example: say you’re building a simple calculator, and you want to find the square root of 49 – do you need to create a program that divides your input number (49) by a world of numbers and determine which of its operators is a square root? You don’t, thanks to these fabulous things called libraries. Libraries are essentially pre-written code that you can use freely in your own project. So, instead of tying your brain in a knot, use what’s already been created. In Java’s case, you’d write Math.sqrt(49); and out pops 7. Good stuff. We can use the analogy of building a house to describe using libraries: your bricks are given to you – you just have to put them together.
There are so, so, so many resources to learn how to code out there.
Can you imagine what it would be like to learn to program even 15 years ago? We’re lucky enough now to have endless guides, videos, tutorials, and hands-on workshops – making self-teaching a very simple thing to do. It’s comparable to your teachers, or professors – ever had one that makes things click for you? Or one that seems to make things more difficult? With so many materials available, you might find that CodeMonkey283’s YouTube channel teaches you wayyyy more than, say, an online lecture series with Professor X. You get to pick and choose what works and what doesn’t.
If you identify your own learning style, you can master this stuff.
With all these resources at your fingertips, it’s important to understand which approach to learning works best for you to narrow your materials down. Do ideas tend to stick better when you hit the books, or do more lightbulbs go off when you’re in a class with other people? Be honest with yourself and determine the most effective learning style for you – it will make planning for self-teaching a lot easier.
Impostor syndrome is a real thing.
There’s a name for that nagging feeling that you’re not good enough, and it’s a very real phenomena experienced widely by women who work in male-dominated fields (especially software engineering). It’s called impostor syndrome, and it’s an inability to internalize your own success. It’s discrediting your own hard work as luck, or good connections. It’s feeling stupid (“everyone here has been programming since they were like 9. I’m too far behind”) or like a phony (“soon people here will realize that I’m not as qualified or knowledgeable as I seem.”) Thoughts like that. Ick. Impostor syndrome is an ugly, ugly thing, but it’ll only keep you feeling insecure if you fail to keep it in check.
Good news: it’s easy to beat with the right frame of mind! Recognize it and cut that stuff out. Truth be told, good programmers are learning every day. Learning every day means spending a lot of time feeling dumb. It’s OK! And if someone gives you, a newbie programmer, any kind of sass about not knowing or tries to make you feel inferior, you don’t want to be learning from them anyway.
You can just go back to CodeMonkey283.
Written by Becca Refford. You can tweet her @bexrefford.