How to Get Started Programming


A good friend recently asked me, “Can an old dude learn to code?” Well, I mostly learned to develop software on my own free-time so my answer was enthusiastically, “Yes!” You can learn to code if you find an interest in it and are willing to put in the necessary time to learn. There are also a range of ways to make money with your new skills, from selling mobile apps in online marketplaces like Google Play or Apple App Store, to creating websites and monetizing them with advertising, to freelancing or even full-time as a software developer. Whatever your desire with learning to program, the opportunities are out there.

Find Your Area of Interest

It is a wide world of programming out there, a world full of so many opportunities that there truly is something for everyone. Are you the creative type who loves to design and finds joy in the perfection of alignment and composition? You might find Front-End (FE) development with HTML, JavaScript, and CSS to fit you best. Are you the left-brained type who enjoys data analysis and math? You might consider SQL and other data tech and analysis like Big Data and NoSQL. Are you the type who just likes to build things and work as a part of a team to build amazing things? In that case, your possibilities are everywhere.

There are many different aspects of programming and different areas of specialization that you could find an area of interest to start, no matter what type of person you are. A lot of companies break down engineers into basic categories like Front-End, Back-End, Data and Analytics, Full Stack, Dev Ops, etc. Also, they will focus on certain platforms or audiences like Java/C#, Mobile, Android, etc. Within these categories, you will find a range of personalities who came into the business through various means. Trust me, not everyone has to be a Computer Science major to get into programming. In my experience, it is actually quite the opposite. I’ve worked with many types of engineers in my 18 years in the industry and have heard a wide range of stories on how they got there. Yes, there are many CS majors, but there are also people who learned from books, learned online, studied a completely different field before they found interest in programming, or went to art school (like myself).

So, think about your personality and use that as a starting point to determine if you want to focus on Front-End (design, arts), Mobile (apps), Back-End (algorithms, math), or Data (science and analysis), and then you can drill down to a specific set of technologies to learn. For example, if you think you’d enjoy front-end web development, you can look at focusing on languages like HTML/CSS/JavaScript, and then dig deeper into specific frameworks using those languages, like Angular.js and jQuery.

A Good Book is Your Best Friend

A good place to start, for example, would be to get a book about building a jQuery-based website such as jQuery in Action, which covers HTML/JavaScript, as well as a deep-dive into jQuery. By the end of it you could build an entire website. Similar books for Android, iOS, ASP.Net all exist. Focus on finding a book that walks you through building an entire product and adds features to that product throughout the book. That type of structure leaves you very well covered in core competencies at the end, where-as other books are more for reference and aren’t as good for learning from. If you are interested in Android programming, check out the Big Nerd Ranch’s Android Programming Guide. If you are interested in building websites with Microsoft’s ASP.Net platform, check out Pro ASP.Net MVC. These are just a few examples of books that will supply you with a thorough knowledge of how to work in each technology.

Don’t Spend Money if You Don’t Have To

Sometimes, it takes money to make money. This is also true in software development as well. If you learn from books, the books cost money. If you take a class, they are not usually free. However, there are ways to reduce the costs and you can find a lot of tools and learning resources for free. To reduce book costs, I recommend using a Kindle reader, so that you can take advantage of the cheaper cost of eBooks over the printed versions. Amazon.com also offers a rental program for many tech books, which allows you to rent a book only for the time you need it, much like a library program. When it comes to classes, you can often find archived webcasts or overviews posted online that can give you a chance to explore material without forking over cash for the class. For example, MSDN has a ton of free webcast content online to learn about Microsoft technologies.

What about tools? Luckily, most software for individual developers is free these days, but it wasn’t always this way. A few years ago, the free version of Microsoft’s IDE, Visual Studio, was barely worth using because it lacked so much functionality. Now, the free version called Visual Studio Community is packed with features for individual developers to build software for free. Android Studio is also free if you are interested in mobile programming. My mantra is usually to use the free software until I encounter a problem that requires a paid version, which is rare these days. You can probably get by without paying for an IDE for quite some time.

Lastly, certifications help prove that you know the skills required to get work. However, certification classes are not cheap. The good news is that certification tests can usually be taken without taking a class. The tests are not near as expensive as the classes. When you research certification classes, they’ll never tell you that you can take the tests without the class, but if you do some research you’ll often find that you can. If so, you can buy books or find learning materials online to acquire the knowledge without the need for a class and then take the test when you feel you are ready. You can also look at sites like hackerrank.com to prove your skills by taking online tests and getting ranked in certain areas of expertise.

Anybody Can Learn to Program

In summary, learning to program is an option for anybody who has the interest and time to learn. It does not require a CS degree to build software, and it often can be done with only spending a small amount of money for books and tools. Software programming is extremely rewarding in terms of remuneration opportunities and is also quite satisfying in terms of personal achievement. I recommend anybody who thinks they’d like to program should just give it a shot and use the tips above to help you get started. Let me know in the comments if you have any questions or additional suggestions about how to get started programming.

Additional Resources

MSDN is a network for Microsoft developers. They have tons of free learning content and decent forums.

Stackoverflow is a great tech community. Here you can find the answer to pretty much any programming question you may have.

GitHub is a large open-source software repository provider and community. I highly recommend you learn Git along with whatever else you choose and use GitHub to store your code. You can also browse and learn a lot by looking at other’s code.


Leave a Reply

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