How to step into the programming?

Nobody is surprised how many things in your daily life are related to programming and the IT industry today. No matter if you open your mobile phone, or you’re travelling by plane or you’re in the hospital – almost everything is powered by different programmes. You may think „I wish I could make software like that, but I don’t know anything about coding”. If so, don’t worry, my friend – today, I’ll show you a way to enter the programming world. So, let’s get to it!

Imagine building a house. What is the first thing to start? Maybe materials? Or the electricity? Of course, they are important. However, they all will be useless if you don’t have a plan for the house before. You can think analogically about programming. I don't say that technologies and programming languages are unnecessary. However, without the backbone, they will be useless. That’s what the algorithms are about – they are one of the best choices to start your journey with coding.

So, what are algorithms? They are sets of instructions to execute in the given order. For example, let us think about making tea. Firstly, you boil the water. Then you sprinkle the tea into the cup. After that, you pour the water into the mug and there you go, you’ve prepared yourself a tea. Technically, the procedure of making tea is also an algorithm. Briefly, you can think of algorithms as recipes for different dishes.

When you read the tea analogy, you might know why algorithms were significant in learning to code. There is a lot of different kinds of tea. Nevertheless, the steps of making a cup of it are the same all the time. That’s the reason why you should learn algorithms. The world may forget about today top-notch technologies in 10 years, but it won’t forget the knowledge of developing the solutions. Hence, when you are new to programming, you should start with learning algorithms.

From my personal experience, I can tell you that the best languages for learning to solve algorithm problems are the simplest ones. If I were you, I would’ve chosen C++. That is one of the most commonly used languages to step into the world of algorithms. The other choices can be C or Java. But, they are a bit more complicated languages than C++. With one of these languages, you’ll be able to practice problem-solving. Where can you learn developing algorithms? There are many different ways, but some of the most popular are books, online and youtube courses. You can choose whatever source of knowledge you want to learn – beautiful, isn’t it?

When it comes to the first steps in IT, many people ask: „Which language should I learn first?”. To my mind, that’s one of the most pointless things you can ask. Why? It isn’t a mystery that different languages are used for other purposes. One technology will be a great option for one project, but not necessarily for another. For example, you can create a mobile app with SwiftUI, but you cannot build a website using it.

Therefore, instead of asking: „Which language should I learn first?” you should know what you would like to do. After that, you’ll find it easier to choose a technology to learn. Do you want to be a Web Applications Developer? Javascript and its frameworks will be a good choice. Maybe you would like to study Mobile Apps Development? If so, consider React Native, Flutter or SwiftUI as your target languages. And if you think about doing AI and Data Science stuff, Python will be appropriate for you.

As you can see, there is no language that you should learn first. I agree that every programming language has its pros and cons. For example, Python won’t be the best choice to learn algorithms, or you’ll find it a bit harsh to build a web application using C++. Nevertheless, by knowing what you would like to do in IT, you’ll surely feel far more satisfied with what you learn.

Okay, so you’ve chosen a programming language to learn. Day by day, you’re enlarging your knowledge. What do you have to do now? One of your top priorities now is to train as much as possible.

I think you aren't surprised that to understand programming, you'll have to program a lot. So, maybe after some time, you won't have to do that much programming? To be honest, you cannot be further from the truth. You’ll have to continue learning and practising indefinitely. Right now, you can be curious about why exactly you need to do that. So, let me explain.

The first reason for that is the dynamic of the IT world. Day by day, we witness the rises and falls of different programming languages and technologies. It may be hard to swallow, but the coding world is just like a real-world – nothing is forever. For example, let us consider a COBOL language. In the past, it was widely used, especially in finance IT. However, this language was created in 1959 and hasn’t been updated for decades now. Nowadays, no company thinks of starting a project from scratch with COBOL because there is no reason for using it. That’s because there are other possible solutions to use that are simpler and more modern than the 60s programming languages stuff. Consequently, you should update your knowledge regularly. Otherwise, it’ll become obsolete one day.

The other purpose for training programming in a planned way is how your brain works. Try to recall anything you learned in school and was useless for you. Is it easy to do it? I guess not. Your brain has never needed this information, so it forgot about this. Now think about programming in the same way. If you don’t write in a specified language for a longer time, you’ll struggle to write something only a bit advanced one day. The brain didn’t have any reason to keep this knowledge in your mind. Eventually, some part of this information vanished – mainly because you didn’t use them.

Shortly speaking, to become a master in programming and maintain your knowledge, you must write as many programmes as possible. However, please remember one thing when training. As our parents and grandparents said, your brain is like a muscle, so you should use it as much as possible. That is only partially true. If the brain is like a muscle, you can overtrain it. And trust me, you don’t have to give a lot of effort to do that. It means you should practice, but not over practice. If you do, you’ll start to struggle with many problems, especially memory leaks 😉.

Well, that's true to be honest
Well, that's true to be honest

Gathering knowledge is one of the most important parts of programming. Knowing more and more, you’re capable of building more advanced applications. However, coding knowledge is not the only skill to master. You should also develop your so-called soft skills.

You may be confused why. Well, there is a good reason for that. You won’t achieve much only by yourself. Sometimes you need someone to help you, the other time someone needs you. And the most important thing – how will you work in a company if you don’t have any social skills? Do you think you can build a vast app without having a well-organised team in a short time? I don’t think so. Hence, it’s important to create a programming community around you.

With the help of other people, you’ll have a chance to develop your coding skills faster and more effectively. You don’t have a clue how to solve a problem? You can ask a friend to help you. Do you plan to build a profitable app? Why don’t you invite a trusted programmer mate to do it with you? As you can see, having a group of programming friends can boost your projects.

If you don’t have any projects on your mind, it’s also worth having mates like this. By maintaining acquaintanceship with them, you create precious contacts that can be profitable in the future. I think it’s one of the most beautiful things in It. Contacts don’t cost you money, but you can make money using them – do you agree?

Grand, but where can you find such friends? There are plenty of options. For example, you can join one of the programming groups on social media. It’s a good place to exchange your knowledge with others or ask for help. Other possible choices are programming portals like Stack Overflow. Their advantage is that you’ll find it easy to get some help there. And, last but not least, what about your real-life mates from school, university, and so on? Try to find some programming passionates among them. I’m sure it can be beneficial for every one of you.

Summing up of this part
Summing up of this part

And when you’ve completed all of the above points, well… start all over again. And then again, and again. As I’ve written, the training is the key to the success, especially in programming and IT stuff. But don’t worry – if you are a fresher to the coding, just give yourself some time and I’m sure one day you’ll be a trurly programmer. See you!