Where to start studying programming?
Tags: code, beginners, programming, javascript
Published: 2022-12-07 15:29:03

**Introduction**

This question is normal in the lives of those who are starting in the area of systems development and also when we already have some development time and need to learn something new, where to start?

We have in our minds that to be a programmer, the person has to be highly expert and that he must know everything about mathematics, but it is a differential and not an obligatory rule.

In this post we will help you with some tips on how to learn to program that helped me in my +17 years experience in systems development, we will try to summarize and give simple and practical tips.

**Where to start studying programming?**

Everyone, anyone who knows how to read and has a logic of things is capable of learning programming.

Our life is composed of logic, when we wake up, brush our teeth, make breakfast, go to work, come back from it, our life is a sequence of defined and finite steps, programming logic and in essence that's it, a sequence of logical steps to achieve a goal.

When we start learning to program, we actually learn a specific language "programming language", think of it as if you were learning a language (eg English, French, Portuguese), only with fewer reserved words.

During the stages of the learning process it takes some assumptions such as dedication, concentration and patience to study, however, it is an evolutionary process, but calm down that we will help by giving tips on how to learn to program by yourself.

**And we come to the second question, Why should I learn programming?**

The answer is kind of straightforward, lots of spots available.

But between the lines, there are still other details at the present time almost every company needs a system for control and organization which guarantees tracking of all stages of their workflow and most of the time needs a system or several, which for in turn needs a skilled workforce for creation, maintenance and evolution.

But with time and vertical growth (+ systems) and also horizontal (+ companies), compared to the number of professionals in the market (qualified) all these issues raised, currently generated a major problem, we do not have qualified professionals for creation and maintain and evolve, knowing that in the future there will be an even worse scenario, due to many people thinking that we will have a shortage of professionals, but we also see another point to be evaluated, many are migrating professions, leaving their training and coming to ours area, it still won't be enough.

**And we come to the third question, What about wages and don't come up with it depends?**

In the field of development, you will hear this word a lot, it depends.
A division by level of experience (Junior, Full and Senior) can have salaries ranging from 2 thousand and often passing 10 thousand reais easily.

This will depend a lot on your qualification.

But I can already tell you that programmers' salaries are many times above the market average.

**And the Remote Work “Home Office”:**

To start with the development of systems, it is only necessary to have a computer or notebook and often without interaction with users.

In this case, many companies opt for home office work for their developers.

Another point to be taken into account, as it brings a surprising quality of life and a gain in the speed of deliveries and its qualities (but that is a subject for another post).

**What steps are needed to learn programming?**

**_1. Learn programming logic._**
First of all, to learn to program, we have to learn about programming logic and its basic principles.
- Principle of identity
- Principle of non-contradiction
- Principle of excluded middle.


**_2. Choose a programming language._**

Secondly, choose a programming language to start your studies, always the simplest one.
In programming logic, there is a more complex language, when starting out, and better typed languages that will help you take the first steps in programming languages, in my case I started in C language and then went to an Object-oriented language in my case Java.
**But always only choose one, only one**.

**_3. Set a language that has to do with your goal._**

For example, if you are going to make a Web System, in this case it is necessary to understand which languages to create this Web System.

**_4. Choose more up-to-date languages that have a wide range in the market._**

There are hundreds of programming languages, but many are already outdated, others are little used and have little demand.

A simple internet search for the most used languages for each platform gives you this information easily.

Then we have which platform to start programming in this case we have (web, mobile or desktop).

below some examples:

Web Development: JavaScript, PHP, NodeJS, Typescript.
Mobile development: Java, Kotlin, Javascript
Desktop development: CSharp, Java.

**_5. Practice makes perfect, but remember the best is the enemy of the good._**

The more you practice something, the better you will be, programming is no different, the more we code the better we will be and the more we learn and the learning curve of something new decreases drastically.

I created something simple, this enhances your learning model, remember that here is a ladder, and we have to climb step by step, **don't skip a step, this is a mandatory rule**, because only then will we learn in the best possible way .

Look for examples on the internet that can help you solve a certain problem.

There is but I'm copying, yes, but you're also doing something, important, validating ways of solving problems, techniques, this is always beneficial, but just copying and running the code doesn't make you a developer, solving problems does.

And like a person who has 100 books in PDF, but has never read them, and even reading did not paste the knowledge of reading, in practice, we translate, **we read -> we understand -> we put into practice**, this is a loop, we go back to the beginning, **we read -> we understand -> we put it into practice**.


**_6. Study in Community_**

Search for groups and people who also have the same goal as you and exchange their experiences, see what each one is going through, which books and courses were beneficial in learning and also a support because your problem today, someone there, has already passed and can help you.

In social networks there are several communities in which they talk about programming. Join forums, ask questions, and ask group members for help.

Telegram today has many groups that can help a lot, in addition to sharing a lot of information and knowledge, and if divided by subject, in addition to being able to create your own space with people who want to study focused on just one purpose.

Twitter also gives you the opportunity to meet people who dominate and are a reference in the object of your study, I remember when I was studying angular, on Twitter I started to follow the exponents and who brought content that helped me a lot.


**_7. Where to start studying programming – Look for sites with tips._**

There are several websites that you can learn programming.
A site that helped me a lot:

https://www.freecodecamp.org/

Very complete the same:

- Responsive Web Design
- Front End Development Libraries
- JavaScript Algorithms and Data Structures
- Data Visualization
- Relational Database
- Back End Development and APIs

among others, it also has a Completion certificate, which can be added to **Linkedin**.

Below tip of two well-known sites for those who are starting.

https://www.codecademy.com/
https://www.w3schools.com/


**_8.Try to study English._**

If your language is not English, it's good to study, because most of the documentation and commands of programming languages are written in English, and there will always be a delay in the translation into your language.

**_9. Study on Youtube_**

On youtube there is always someone who can help, in the beginning we always looked for subjects on websites, blogs, or even on Stackoverflow, today we tend to search on youtube, many nice people are taking time there making top tutorials, and we should give them our support , as it is rare for a person that a youtube video did not help.

I want to leave here two that I'm a fan of, both are Indian:

https://www.youtube.com/@Javatechie

And when I was learning Angular

https://www.youtube.com/@LeelaWebDev

And also to a hero in the area of development that I also studied via Youtube:

https://www.youtube.com/@loianegroner

**_Conclusion_**

Studying programming is fun, we have enough information, on all platforms, what I discovered is that we must be calm and dedicated, concentration and patience, and always seek knowledge, know how to do, programmers are problem solvers, so the main premise is, know how to solve problems using programming.