Illustration by Isabel Ryan.

Illustration by Isabel Ryan.

It’s quite possible that you spend a lot of time with technology. You may wake up to a digital alarm, hop on your laptop to finish up your homework, use your phone to check the latest Instagram updates, and then post the perfect emoji to convey your mood on social media. The list goes on. With today’s technology, human beings are super connected, and the tools you use to communicate are created and updated by real people on a daily basis. These people often come in the form of software engineers, also known as computer programmers. They spend their days coding up the software (the programs that tell your devices what to do) that’s become second-nature to you.

Believe it or not, with some tools, and with a lot of time, practice, and dedication, that person building software could be you! According to Computer Science Education Week, an annual program for youth interested in computer science, “computing makes up two-thirds of projected new jobs in STEM (Science, Technology, Engineering, and Math),” and just 22 percent of AP Computer Science students are women. Only 13 percent are Black/African American or Hispanic/Latino. I’m a black woman, and I started learning to code on my own, ended up graduating with a degree in computer science, and am about to start my full-time job at a technology company working on a product I love. Below, I’ve whipped up a step-by-step guide that can hopefully help you take your first steps into the fascinating world of computing:

Step One: Consider Your Interests

Look at your favorite app or website, or think about a pastime you enjoy that incorporates technology. Google search what programming language was used to build it. (For example, try searching, What programming language was used to build Pokémon Go?) This can be useful when trying to figure out where to start.

Don’t spend too much time on this step, and don’t get overwhelmed! This is simply meant for brainstorming purposes. Some projects are built with multiple languages, and some don’t release that information publicly. You also may have no idea what your interests are in terms of software at this point. That’s totally OK. If you’re unsure of what you’re interested in, head over to Step Two anyway. There are still options for you.

Step Two: Pick a Language

After you consider your interests, decide on which programming language you want to learn. Based on Step One, you can try to pick a language based your interests. (For example, love beautiful blogs? Try HTML and CSS to build your own. Obsessed with your iPhone? Learn Swift to make an app. Are you an artist? Try making computer art with JavaScript.)

Alternatively, ask someone about their first programming language, and if they would recommend it. The first programming language I learned was Python, and I highly recommend it! It’s very human-readable, and also quite powerful. If you’re totally stuck on picking a language, Python is a great option.

A quick note on languages: Your choice here will not make or break you as a programmer. Programmers typically know a few different languages, and have to learn new ones all the time! So again, do some light research, but don’t spend too much time on this decision.

Step Three: Learn It!

Your next step is to get coding! Once you’ve nailed down your preliminary interests and decided on a language, you should dedicate time to learning it. Fortunately, there are a few different resources online that provide free, step-by-step programming lessons.

Here are some options for free online lessons:

  • Codecademy (My favorite!)
  • Khan Academy: Here you can discover the basics of programming, find programs made by other people, and make and share your own.
  • Coursera: Coursera works with universities and organizations to offer online courses. If you use Coursera, make sure you sign up for a free course for beginners.

Some others that I haven’t tried, but are available online and worth checking out if you feel so inclined, include: Google for EDU; and costly options, in case you’re curious: Lynda.com, Treehouse, Code School, Pluralsight, and Udemy. (And more! A quick Google search can give you some more options).

Note that not all of these will have the specific language you are looking for, so this step might require you to re-plan. Keep in mind that coding involves a lot of different concepts, some of which may come to you easily, and some of which may take some more time. Be patient with yourself.

Step Four: Consider Your Resources

In addition to the guided lesson plans from Step Three, there are amazing resources that can come in handy when you need an extra hand. Here are some to help you throughout your learning process:

  • Stack Overflow: This is a question-and-answer site for programmers. Stack Overflow will become your best friend. Trust me.
  • YouTube Tutorials: You can search any language or programming concept on YouTube. Like many great things in life, YouTube tutorials come to the rescue.
  • W3 Schools: While the information on W3 School is specifically for web development, meaning there are significantly less overall languages covered, the documentation on W3 is amazing, and really helpful if you’re making websites.

Step Five: Join Communities

As much as lessons and extra documentation will help you, at the end of the day, nothing beats a great support system. Here are some online communities for you check out if you’d like to ask more questions, get inspired, or generally see what coders are up to:

  • Ladies Storm Hackathons: A hackathon is a type of coding competition quite popular in certain programming communities. Though “hackathon” is in the title, this community is open to anyone interested in learning more about technology, including programming.
  • CodeNewbie: A community for people learning to code.
  • Open Source: Open source software is software that is built, maintained, and available to the public (as opposed to privately owned by individuals, organizations, and/or companies). The open source community can be super helpful with increasing your programming skills, and there are some options available to beginners to who are interested in open source, such as the LearnProgramming Mentoring Community by Github.

Be sure to always indulge in safe internet practices. While these spaces are generally great, you should always be smart. Never give out your personal information or agree to meet someone you don’t know, especially alone or in a secluded place. Additionally, these resources are usually most beneficial after you have somewhat of an understanding of code, so make sure you’ve mastered the previous steps before joining communities.

Step Six: Build Something

Ready for the big dogs. Now, build something with your newfound knowledge! Spend some time researching feasible projects for beginners with the language you’ve learned, and try to come up with something related to your interests. Like music? Make a website that archives your favorite songs. Love artwork? Use Processing to create beautiful, moving images. Enjoy chemistry? Write a program that tests your knowledge of the periodic table. The options are limitless! The super-fun online game Tampon Run, which destigmatizes periods by letting you throw tampons at your enemies to gain points, was built by two young women not long after they started learning programming.

Step Seven: Keep It Up!

The more time you spend practicing, the better you will become. Take your time. You may find that a certain language is preferable to another. The project you were planning to build might not work out on the first try. It’s possible that you’ll spend days debugging (aka trying to fix) a program, only to find that it was missing a mere semi-colon. While these things can be frustrating, overcoming them is where the magic happens.

You may be interested in becoming a full-time software engineer one day, or just want to build something quick and never look at code again. Either are admirable in their own ways, and both require some level of patience and dedication. This is by no means an exhaustive list, and there are endless additional resources which you may discover throughout your journey in programming.

And my final words of advice: Ask lots and lots of questions. Questions are the path to success, and boy, do I see a successful future for you. Good luck and happy coding! ♦

Terri Burns is a technologist, occasional freelance writer, and burrito-lover. See more of her work at Forbes, Scientific American, and terriburns.com.