Top 5 Ways to Start Programming

It's a new year, and you may be thinking of switching careers or starting a new hobby. I've spoken to many people considering a career change or trying to pick up a hobby, and the idea of IT and programming has always floated across their minds. If you're thinking about getting into programming as a career or just a hobby, this article is for you! These are my top 5 ways to get started with software development.

Language Doesn't Matter!

There are SO many programming languages out there to pick; it can actually be a really daunting task to figure out what language you want to start with. To be really honest with you, it doesn't really matter. If you talk to just about any software developer, you know they'll usually tell you that whatever language they learned in school or started with is likely not a language they're using today. I started with Visual Basic, I did Java in college, and when I got into the workforce, I primarily used C# and moved into JavaScript. The truth of the matter is that most programming languages follow the same set of principles. Once you've mastered the basics, it shouldn't take you long to pick up a new language.

If you're still having trouble picking, have a look at a few lists of the most popular programming languages and pick one! To give you a helping hand, here's my list of 4 programming languages I think you should start with (in no particular order).

  1. Python — Python is a wonderful language to start with. It was designed to teach people how to write software! It's super simple to set up on your computer, and the syntax is really easy to pick up as well. Python is also used all over the industry for loads of different things, so if you're looking to start a new career, this is a good one!

  2. Java — this is a widely popular programming language used by companies of all shapes and sizes. You may be surprised to find out that Java is used to make Android apps, so if you're looking at getting into Android app development down the road, you may be interested in Java. Java is also used as a back-end programming language. The back-end is the magic sauce that works behind the scenes that help websites and apps do stuff.

  3. C# — this is a very similar language to Java (see meme below). It can also be used for App development, but this is most commonly used in many enterprises. As the meme says, it is a language created by Microsoft. Microsoft has only recently made C# cross-platform, meaning it can be used on any operating system. That being said, you may find it more difficult to work on a C# project on a Mac or Linux computer. A large majority of C# is used as a back-end programming language, much like Java.

not my meme, but very accurate

4. JavaScript — JavaScript is a language used mainly for front-end development. If you're a beginner, you may be wondering if JavaScript is related to Java at all. I'm happy to report; it is not! It's a funny story; actually, JavaScript used to be called LiveScript in the 90s. During that time, the Java programming language was taking off, and LiveScript was changed to JavaScript to take advantage of that popularity. So really, the name was a marketing tactic. Another interesting fact is that most websites are made using JavaScript! It can also be used as a back-end programming language or be used to make both Android and iOS apps. JavaScript has become increasingly popular over the years, and its uses have expanded greatly. Since JavaScript can be run in the browser, you only need to install an IDE (Integrated Development Environment, basically a text editor but for code).

Find a Good Course

No matter what language you choose to start with, there will always be a course somewhere. I'd start with YouTube since it's free, and there are usually a lot of excellent teachers on there. The really nice thing about YouTube tutorials/courses (or video tutorials/courses in general) is that you can always go back and rewind them and refer back to them. There's also an abundance of tutorials and courses out there, so if one doesn't make a whole lot of sense, you can always find another. Once you find a good tutorial, it's important to stick with it and see it through.

Besides YouTube, you can also find full length courses on platforms like Udemy or Skillshare. These are usually paid courses, but they're well worth it, in my opinion. Remember that what you start with isn't always what you'll do forever. When you take a beginner's course, you will spend a fair amount of time going through the basics of programming, which will be the same across all programming languages. However, the programming language you start with will kind of shape how you view software development as a whole. Once you start getting into the nuances of a programming language, there will be a right and wrong way to do things, and that kind of changes from language to language.

Get Really Good at Google Searching

The chances that someone has run into an issue you're having and posted something about it is like 99%, especially when you're starting out. If you run into a problem and your tutorial just doesn't cover the issue, the first thing you should do is turn to good ol' Google. This is what most software developers do when they've hit a wall; there's no shame in it. This will take your Google Search skill from 0 to 100 really fast. The best thing you can do is to be specific. Don't include a bunch of nonsense in your question. If you're trying to figure out how a feature works, like how routing works in Angular or how to make an interface in C#, all you have to do is something like "Angular routing" or "interfaces in C#." Whatever your question is, keep it short, sweet, and to the point, and you should be well on your way.

Ask Questions

Sometimes your Google searches turn up absolutely nothing. Even after over a decade of working with software, I still have questions about things. Whenever you're learning something new, you're going to have lots of questions. One of the most popular places to ask programming questions is a site called StackOverflow. I would 100% recommend creating an account on there so you can not only ask questions but see questions that have already been answered. StackOverflow is completely community-driven, and there are clear guidelines for posting questions. It works somewhat similarly to Reddit Karma; sometimes, you won't have enough points to ask questions, usually when your past questions get downvoted. This shouldn't be too much of an issue, but definitely, something to keep an eye on.

Another great place to go is GitHub. When you're starting out, I would also 100% recommend you to create an account. I will say about GitHub that the issues posted on there are generally specific to a project. Plagiarism is not only standard in software development but highly encouraged. That being said, you will be working with many different libraries, or shared code, that provides pre-built functionality. This is where you're going to start having some more complex issues. A great many of the libraries you will use are going to be a part of the Open Source community. Open Source basically means free to use (to a point). There are some different Open Source licenses, but you won't really have to worry about that much when you're getting started. The good thing about Open Source is that the projects are community-driven. These are the kinds of things that will have a GitHub page and allow you to post questions or, more commonly, defects with the library. Don't forget, all the programming languages and libraries you're using were built by people and might have a bug. These are the kinds of things you would post about in a GitHub issue.

Don't Stop Learning

As a software developer, you are always going to be a student. There's always something you can learn. There are a lot of developers working today who believe their cup is full and they have nothing left to learn. As soon as you adopt that mindset, your skill will remain where it's at and never progress. When you're starting out, this isn't going to be much of an issue since you're naturally going to be learning a lot anyway. This one is more advice for down the road. Being a software developer is really to be a problem solver. Each problem will have its own nuances and differences, requiring you to think about it a little differently. When you keep learning and practicing, it's like working out. You're going to exercise those "muscles," and you'll be able to solve a wider range of problems quicker. You'll also find that you're able to overcome bugs and issues with more ease as well.

The Wrap Up

When you're starting out with any new skill, it won't be easy at first. Not everything is always going to make sense. My ultimate advice for you is that if you really want to become a software developer, don't give up! Computational thinking is really just a logic puzzle. Some people are good at them, some people aren't, but that doesn't mean you can't learn! Unless you're doing something really specific, there will also be little to no math involved. If you're not good at math or you just hate math, don't worry; there will be none of that here. Keep learning and reading, and you'll be fine! If you have any other questions feel free to ask them in the comments!

If you’ve enjoyed this article I’d love for you to join my mailing list where I send out additional tips & tricks!

If you found this article helpful, interesting, or entertaining buy me a coffee to help me continue to put out content!

Previous
Previous

Using Web Components in Angular

Next
Next

Angular for Beginners: Understanding Angular