What I Wish Someone Had Told Me When I Was Learning to Code

cats and codeA couple weeks ago I was invited to speak to the current students of the New York Code and Design Academy’s Philly class. I wasn’t really sure what I could say to help them out, so I just decided to prep a few slides on what I wish I had known when I started learning web development, and then leave the rest of the time open for questions about anything — everything from what my workday looks like to how to leverage transferable skills from prior jobs. I had a great time getting to know them a little and chat about life, work, and web development.

I want to share the points I made during the prepared portion of my talk in case they’re helpful to anyone else. You can see the original slides here, but this is what I said, with more room to elaborate because I’ve been thinking about it a few weeks longer.

It’s not magic. Ok, maybe it is a little bit magic. But really, it’s just a bunch of text files all linked together that a computer understands*. No magic here! (Except, I mean the witchery that happens when you type `rails generate scaffold` is still pretty freaking magical to me.) You’re totally capable of learning what you need to know to feel like you’re starting to understand. But don’t be alarmed if you feel like it’s still a little magical. The more magical things happen the deeper you go. Start with HTML and CSS. Along those lines…

You don’t need to understand everything to get started. This was a huge mental block for me. I likely would have started learning long before I did, back when we lived in West Chester when Chad first started to try to teach me git and the command line. But how did the browser know what to do with all the things I was manipulating?? It drove me nuts. I made Chad explain binary to me, and then took a good long break from anything technical. But he was right, I didn’t need to understand every single thing about how a computer knows what to do before getting started. Once you begin, the understanding will start to creep in little by little, sometimes without you even realizing it. Also, I still don’t know all the things. I’m more aware of the crazy amount of things I don’t know, but I’m no longer struck by existential dread because I don’t know every single piece of what I’m doing. Get started anyway.

You’ll feel stupid 95% of the time, and like a total genius the other 5%. I remember when I realized that this wasn’t just me being dense, this is often what it feels like to be a person who writes code. Even the most experienced people feel this way sometimes. You’ll spend hours trying to figure out why something won’t work, and then when you stumble upon the solution you’ll feel totally brilliant. (Or sometimes, embarrassed that the issue was something so small.) And then you’ll start your next project and feel like a total dunce again. It’s ok. You’re learning.

You will never feel like you know enough. “I’ll just learn JavaScript, and then I’ll have made it.” “I’ll just learn Angular/Ember/React/whatever new framework or library everyone’s squeeing over right now, and then I’ll feel like I know what I’m doing.” No you won’t. The next thing will come along, and then you’ll have to learn that, too. Everything changes so freaking fast, you might always feel kind of behind. At least I do. But hey, we’ll never get bored. There will always be new stuff to learn and new ideas to build.

Comparison is useless. There will always be someone more knowledgeable and more experienced than you. There will always be someone who’s a little behind where you are in your learning journey or career. Instead of beating yourself up about not being farther along, or getting cocky because you think you know so much, use this as an opportunity to learn from others and grow, or to articulate your knowledge to share with others. Answering someone else’s questions or teaching someone a new concept will help you crystallize your own knowledge and skillset.

I am literally still experiencing all of these things, and I’ve been working as a full time, in house developer for over two years. This is what my life looks like, and I’ve made peace with all of the above. I hope sharing this here is helpful to someone out there!

* Before the entire internet comes out, pitchforks blazing, I understand that this is a gross oversimplification. But text files aren’t scary. That’s my point.


Comments

One response to “What I Wish Someone Had Told Me When I Was Learning to Code”

  1. I took my first coding class in high school. It was AP Computer Science and we were learning Java. I was so sad because the entire class revolved around passing the damn test and had absolutely nothing with teaching us how to code. Also. Glad to know that feeling like an idiot 95% of the time thing is normal. There’s a blog post brewing in my brain about me being in AP Computer Science. I’m 95% sure I was only there for comic relief…

Leave a Reply

Your email address will not be published. Required fields are marked *