Coding - it's a scary word. In fact, it's so scary that those of elder generation look with awe upon those who do it for a living.
It certainly was something I never considered attempting at my young adulthood stage. I was never good at STEM, and had zero interest in web development. However, in this digital world it is crucial to have an online presence connecting your business with potential customers.
I am no expert on coding to be sure, and I never want to be a software engineer. This guide is for beginners or small business owners who have limited time and budget to develop an online presence.
1. Decide why you want to learn to code
If you really want to become a career programmer, then you'd best take some college courses. You will want courses that focus on software engineering, and you should begin with learning C++, Java, and Python.
There are some great online courses for free too - Harvard and Stanford offer them. So does Khan Academy. But if you just want to design a website, or develop games or Android apps, then you won't need to dig so deep, and there are lots of online tutorials that are very hands-on and interactive, so you learn by doing - the best way to learn anything, by the way.
2. Choose a Coding Language to Start With - The Word is "Swift"
As mentioned above, if you want to be a serious software engineer, then you will want coursework that moves you in that direction. Many recommend starting with C; however, the language you choose should be tied to what you want to do with it. And, once you learn one language, it's much easier to pick up others, so no one should really agonize about which language to start with.
If you want to go into iOS app development, though, you will have to learn Swift, so just start with that. Swift is a new language that was introduced by Apple in June, 2014, to be used for iOS app development, and according to Narges Berry, CEO and Founder of Bermotech, "Swift has been designed with a modern and easy to use syntax." It is also compatible with Objective-C, so if you have already learned that language you are doubly ready to start developing once you learn Swift. Besides, both Objective-C and Swift and Java (core programming language for Android) are all object oriented programming languages. Basically, if you master one of them, understanding the second one should come easy. An iOS developer can easily switch to Android development and vice versa.
There are a number of free online training sites for Swift, and they use all different teaching formats, so you can choose one that is right for your learning style.
3. Learn the Terminology
One of the issues you may encounter at first is the terminology. There will be terms that may not actually hamper your learning, but we tend to be less confident when the terms are foreign.
To familiarize yourself with the most-used terms, you can get easy to understand definitions from Vin Vacanti, founder of Yipit. While his focus is really on helping people learn code to build their own websites, not necessarily apps, the terminology is no different from that which you will encounter, so it will be worth your while to spend about 10-15 minutes familiarizing yourself.
4. Start with a Small Project
If you take online tutorials, you will absolutely start small. And the best advice? Don't skip any of the lessons, and repeat them as often as necessary until you have mastered them. One "test" for yourself may be to go through a simple tutorial lesson, delete all of the code and start over again from scratch. You will begin to pick up patterns and the more you use them, the more "cemented" they will be in your brain.
5. Begin with a Kids' Tutorial App
These apps are great for teaching kids to code and there are a large number of them available for all ages. Probably the most popular is Scratch, because kids can learn how to code animation, games, music, and they love it. But the great thing for adult learners is that coding is very simply explained.
You will get good experience writing simple code, and that will give you lots of confidence to take on more difficult challenges. EdX, a clearinghouse for free online college courses, has recently added a "Scratch" course, and a lot of adults are taking it. By the way, EdX is a great source for lots of other coding courses too.
6. Get Free Programming Books
When you begin to try coding on a project of your own, expect to get stuck, expect to make mistakes, and expect to be frustrated. But you will be less frustrated if you have some reference books for the coding language you are using (Swift for iOS apps). GitHub has a huge list of free programming books, and you will be happy to have a quick reference tool.
7. Add Some Fun with Coding Games and Apps
There are a couple of great options here. Game Maven is a tutorial that will have you creating some simple games and yourself. Or, you can play coding games by yourself or with someone else on sites such as Code Combat or CodinGame. And neuroscientific research shows that having fun while learning makes that learning faster and more retained.
8. Join an Open Source Community
There's a huge community of coders "out there" who work on open source software to improve it. If you know anything about WordPress, for example, you know that it is a free platform for blogs. It is open source, with programmers always adding new elements, tools and apps. They share what they have done with others in their communities, and those others go in and add their improvements too.
You can "hack" someone else's coding and see if you can go through each line and understand what and how the coder did what they did. You might even find some way to improve it in some way. If you do, add your improvement, and remember to share your improvement back.