3 Quick Tips for Absolute Beginner Coders
I've gotten a lot of messages from people across the world asking about my journey into code, so I wanted to take a few minutes to share a list of very basic tips to a wider audience. Later, when I have a little more time, I’ll try to flesh this out into something a little more detailed and extensive, but for now, these are the three main tips that I think you should know out the gate. This isn’t a bulletproof strategy, but it’s what I’d suggest in my (admittedly limited) experience, so if nothing else, it’s a place for you to start considering some options. If you read this and have a question or something to add, please write it in the comments. Feel free to send me a personal message, as well—I love to help others who are interested in tech!
(1) Learn HTML first, then CSS, and then JavaScript.
HTML and CSS are a great gateway into code because they are ubiquitous— Almost everything in software has these two languages built into the foundation. Neither is really a “programming language,” but these are building blocks for things you would add programming to later. HTML is for structure, and CSS is for styling. When you get to a level of familiarity with these, you’ll be ready to start programming. There are literally hundreds of languages which are suited for a variety of purposes, but the reason I recommend JavaScript is because, like HTML and CSS, it is all over the web and, due to its popularity, it is well supported, so you can start developing in it with little more than a text editor and a browser. Additionally, it is OS agnostic (so you can use Windows or Apple or pretty much whatever), it can give you a lot of power with just a little knowledge of it, there are tons of libraries and frameworks you can blend it with for even more ability and flexibility (which you can look at a little later), and it’s going to give you a taste of the logic, general syntax (i.e., how the language is written), and other common concepts that will carry across many of its peers. It is commonly said that once you learn one programming language, it will become easier and easier to pick-up more as you go, so you don’t have to be married to the idea of becoming a JavaScript ninja just because it’s where you get started.
I’d suggest checking out courses on Codecademy and Treehouse right away, but there are countless amounts of other resources out there, free and paid, to get you on your way. If you get serious about it down the line, you can consider a traditional education with a Computer Science degree, or pursuing one of the many progressive models of education that are coming about to accommodate the shortage of coders worldwide, such as coding bootcamps (which is where I was trained) and Nanodegrees. Be sure to reach out to people in these programs and do some research to see which is the right one for you.
(2) Be focused, but don’t feel like you need to “zero in” on a specific type of programming or a particular career right away.
Tech is an awesome field to be in partly because of all of the paths you can take in it. Don’t feel pressured to know “what you want to be” right away, because now is the time to get exposure to different types of coding and the mind-blowing amount of roles you can play on an IT team without shutting out other possibilities that you may not ever learn about if you tune everything but your first interest out. Many people start in one direction and fall in love with something else along the way, or they do one job for a while and decide to change things up later just for fun. Technology is great because once you open one door, you’ll find a hundred more on the other side of it—If you’re curious, flexible, determined, and tenacious, you can turn your career into anything, no matter where you started out (side note, if you don’t have these qualities and don’t desire to acquire them, this is probably NOT the right field for you.)
While it’s great to keep an open mind, the other side of this is to not get overwhelmed by all of the possibilities. Take it one small byte at a time* but keep your eyes and ears open along the way. It can help to think of it this way: Keep your technical scope narrow in the beginning while keeping your personal scope broad. Meaning, pick a couple of languages or related technical concepts to focus in on at a time, while taking every opportunity to talk to professionals with different positions and backgrounds, learn about various industries and how they use tech, keep up to date with new technologies that are coming out, and use this stockpile of knowledge to help you decide how to shape your technical learning and goals as you progress.
(3) Reach out to the community, and don’t fall prey to “impostor syndrome.”
If you’re like me, you may be bashful and start poking around forums for help in the beginning; this can be great, but can also be a real downer on your self-esteem when you start, depending on where you go and who you talk to. There are some great sites where you can get answers from your peers and feel safe asking questions, but keep in mind that, as with anywhere on the Internet, you’re going to run into jerks, trolls, and other bullies who can make you feel like you don’t “belong” in the programming world. For whatever reason, there are a lot of people who feel like they can talk down to others who aren’t as skilled or experienced as them, or who will be combative in response to things you ask about, how you ask, or how you reply. As long as you try your best to comply with the community’s communication guidelines, just tune the non-constructive chatter out. Let them sit on their high horse—Who cares what some stranger online thinks anyway? It can be difficult to do, but don’t let them chase you out if you’re doing your best; they won’t admit it, but they certainly didn’t come out of the womb knowing how to program. However, it’s also worth mentioning that you should read things carefully and not jump to conclusions about what’s being said to you, because sometimes you can smell the snarkiness from a mile away, and other times you may be trying to talk to someone who just isn’t very skilled in written communication, or someone whose first/primary language isn't the one they're writing to you in, which can cause some unintended misses in tone.
The feeling I’m trying to help you fight off is commonly called “impostor syndrome,” which is just what it sounds like. It’s not just a problem in the tech world, but it is often talked about in this space because of the sudden influx of new people coming into the field with varying levels of experience and backgrounds that may or may not have come with any technical experience for them to lean back on while learning. A lot of folks feel like they don’t belong in the room when they first start out, and either are scared away from trying all together, or they struggle alone for a long time because they don’t feel like they’re “good enough” yet to talk to anyone who “really knows what they’re doing.” As with any other social situation, you will meet snobs and other generally unpleasant types, but more likely than not, you will be surprised at the extremely welcoming response you’ll get from tech communities. Meet-ups and hackathons, for instance, are awesome places to hangout/network other techies and pick-up new skills and knowledge, whether or not you’ve ever written a line of code in your life. This is a passionate subculture that is full of people who are typically just excited to meet other people who are excited about what they’re excited about!
SURPRISE BONUS TIP!
Don't stress out too much when you're first learning, especially if you feel like you've never been "technically inclined." I've seen many times where, like myself, people had always stuck to what they were already good at, and incurred a lot of stress and doubt while trying to learn how to code. Another bit of magic in the tech world is that you don't have to know everything right away, even when you start a job in coding-- I do the things I felt like I was "bad" at in bootcamp every single day at my new job, and I absolutely love it! The really important thing is that you enjoy what you're doing, or at least find it worthwhile (even when you feel like taking a baseball bat to your monitor while trying to get something to work) and that you are capable of continuous learning, because there is always something new to discover in this field. So, take your time, stay optimistic, and have fun!
Well done Sondra!