I Taught Myself to Code and You Can Too!

Many people want to teach themselves to code. The problem is that there are hundreds of resources, and it’s difficult to evaluate what works, and what you need. As a teacher by training, I know how to break a complicated subject down into smaller pieces, and how to connect abstract concepts to their practical application. In this blog, I will share the process of evaluating your own learning preferences, choosing resources that fit your preferences, and becoming a part of one (or several) tech communities so that you can teach yourself to code, and continue to find help along your journey.

Get TestRail FREE for 30 days!


How Do You learn?

I Taught Myself to Code and You Can Too! Coding for Software Testers. Learn to code. Software Testing Software TestRail.

First, you need to know how you learn. Think about the moments in your life where you have felt “in the zone” or had “aha” moments. Were you learning alone or with others? Were you reading a book or watching an instructional video? Were you doing a hands-on activity in a classroom, or listening to a lecture? Were you in the classroom, in a lab, a musician in a band, or outside in nature? Identify the successful learnings in your life, and then identify the patterns.

People have preferences. Mine are learning by doing and visual learning, so I know I will be successful when I have the chance to pair with a skilled programmer and then apply my knowledge on my own. I like to learn from my own mistakes, because I find I recall the solutions much better than if someone gives me rote instructions.

Choosing Resources

I Taught Myself to Code and You Can Too! Coding for Software Testers. Learn to code. Software Testing Software TestRail.

Choosing resources is actually really difficult. Most people are not professional educators, so may not think about two important concepts when selecting learning resources: scope and sequence. Scope is the amount of material that is covered in a given instructional material. Some programs, such as Code.org or Code Academy, for example, cover a broad scope that does not have a lot of depth. They are good for an overview but won’t get you a lot of practical skills. Other resources, such as edX, coursera, or MIT Open Courseware, offer full-fledged online degree courses that go into much more depth.

Sequence is the order in which concepts are learned, and the reasons for instructional choices. How a course is sequenced might have a great impact on what you choose. For example, some courses introduce you to skills and then build upon previous skills, utilizing scaffolding to allow you to build confidence and knowledge. Other courses and materials, such as Zed Shaw’s Learn the Hard Way series have learners go through rote learning of practical skills in a sequence that promotes familiarity with the language over building an application.

Knowing what you want or need to do with your knowledge will help you decide what kind of skill sequence you need. I knew that I needed to be able to build Python selenium, but at the time I was learning, there weren’t many courses available for Selenium using Python. So I took a coursera course and used some selenium books, along with documentation and google groups, to go through the process of learning to build and implement automated testing suites. I even used Ruby resources, as they were far more robust in dealing with Selenium when I was learning.

Receive Popular Monthly Testing & QA Articles

Join 34,000 subscribers and receive carefully researched and popular article on software testing and QA. Top resources on becoming a better tester, learning new tools and building a team.

We will never share your email. 1-click unsubscribes.

Teaching and Learning

I Taught Myself to Code and You Can Too! Coding for Software Testers. Learn to code. Software Testing Software TestRail.

They say the best way to learn something is to teach, so once I learned the foundations of Python, I became involved in the Python education community. Reading papers, organizing conferences, and evaluating presentations that were above my level of ability helped me to increase my skill and understanding. There are local, regional, national, and even international groups that meet and discuss the nuances of working in every language. Also, sites like CodeNewbie offer a robust social community via Twitter and slack.

Teaching beginning Python to local school kids helped me to solidify my understanding of basic concepts and motivated me to solve novel problems presented as my students expanded their understanding and curiosity about programming.

You don’t have to be an expert to volunteer to teach girl scouts, boy scouts, a youth organization, or an afterschool club how to start writing code and solving problems. Like the students, you simply need to be willing to keep an open mind, ask questions, and model good problem solving practices for the students. This modeling is better than giving the answer right away, because modeling demonstrates good problem-solving skills. Also, working through issues with students models the nature of learning a creative discipline like code.


I Taught Myself to Code and You Can Too! Coding for Software Testers. Learn to code. Software Testing Software TestRail.

Now, there are so many resources to teach yourself to code, that it can be difficult to pick your path. However, once you figure out how you like to learn, and then identify what you want to do with your new code skills, you can choose the best resources to help you accomplish your goals.

This is a guest posting by Jess Ingrassellino. Jess is a software engineer in New York. She has perused interests in music, writing, teaching, technology, art and philosophy. She is the founder of TeachCode.org

Test Automation – Anywhere, Anytime

Try Ranorex for free

In This Article:

Sign up for our newsletter

Share this article

Other Blogs

Automation, Programming

How to Report On Test Automation (Tools + Metrics)

Test automation streamlines repetitive tasks, accelerates testing processes, and ensures consistent, reliable results in software testing. Reporting on test automation provides actionable insights and visibility into the test outcomes, enabling teams to mak...

General, Programming, Software Quality

How to Unit Test Your Database

Database unit testing is not only possible, it’s worthwhile. This post will teach you how to unit test your database. Leverage your existing frameworks and tools to begin database unit tests now.

General, Automation, Programming

Programming Languages Aspiring Technical Testers Need to Learn

Testers who want to get technical should start by learning some new programming languages. But which should you learn? There are so many languages to choose from that there is often confusion about where to start your journey and what would be useful for yo...