First steps for a novice programmer

Father

Professional
Messages
2,601
Reputation
4
Reaction score
647
Points
113
In this article:
  • Who is a programmer?
  • What are programmers like?
  • Types of programmers
  • Levels of professionalism
  • Choose the language and destination
  • How do I start learning a programming language?
  • Code editors
  • What do you need to get started?
  • Salaries of programmers
  • Important tips
  • How do I get the initial experience?
  • The end

Beginning

Who is a programmer?
A programmer is a specialist who creates (writes) source code for the program. This program can be an OS, a game, a Dodo Pizza website, or even an algorithm for how your smart refrigerator works. As in any profession, programming has its specializations. And before starting, you need to decide which direction you are interested in. The task of a programmer is to create digital products and services for solving certain life tasks.

What are programmers like?
Let's start with the varieties of programmers. There are usually two types of programmers:

The first one is a software and hardware developer (backender).
First, let's find out what is "backend". Backend is everything that is under the hood of any site, application, or any other service. For example, you log in to the Yandex.Taxi app, write the address you need, click on the button, and a notification appears on the screen that your driver will be there in five minutes. Everything you see - the interface, animations, the map and the driver's car on it-provides frontend. The hidden part - studying the request, finding the driver, withdrawing funds from the card, and transmitting data - is the result of backender.

The second one is a client-side developer (frontender).
Now let's find out what a "frontend" is and what it is eaten with. Frontend - the client part of the application / site. A frontend developer creates a website template and creates a user interface. Usually, a frontender is a jack of all trades. They simply have to have the talent of a designer, be a skilled coder and a good programmer.

The third is a Full-stack developer
This type of programmer combines the two categories described above, usually working on web projects. This is the same programmer who can create a full-fledged website on their own. Such specialists are very necessary for small web studios, as well as for freelancing.

The fourth is Game Developer (video game developer
Game Developer is a programmer who specializes in creating computer games. Specialists in this field are in demand in game studios and startups. They develop games from scratch, as well as support, bug fixes, and other updates. There are also mobile app developers, 1C programmers, and others. You can read more about them on the Internet

Now I will tell you about the levels of professionalism.

All types of programmers are traditionally divided into three levels of professionalism:

Junior
Junior is a novice programmer who knows and understands the language, but has not solved real production problems. Even if you have just started learning programming, you can find a job where you get little money and a lot of experience. Or else, normal money and high requirements. If you do not give up development and programming, you can grow into a middle class with a salary and more opportunities, but more about them later.

Middle
Middle-developerwho already has some programming experience. They can already perform complex tasks on their own, but they need to specify experience in programming. They can already perform complex tasks on their own, but they need to specify a direction. Such a developer does not have a very rich experience and will not always be able to choose the necessary and sufficient tools for solving problems. The middle developer sees the solution to a specific problem, but does not always present the overall picture.

Senior
Senior is a developer with significant experience (5+ years) and deep knowledge in commercial software development. Experience working in development for money is a necessary condition, but not sufficient.

Choose the language and destination.
After evaluating your abilities and weighing everything, you will ask yourself-what programming languages will you need to know and where to start learning? No one will give you an unambiguous answer to this question, because you need to focus on the direction that suits you best.
For example, an application developer should know high - level languages (C++, Python, Java, etc.), and a system programmer should know both low-level (Assembler), medium-level (C), and high-level (Java, Python). The main thing is to master several at the same time.

Some of the easiest languages to learn are usually referred to as such PLS:
  • Python
  • JavaScript
  • Java
  • C#

If you decide to learn one of them, be prepared for competition, because not only you know about the simplicity of these languages.
I advise you to focus not on the programming language, but on the field of developmentin which you want to implement yourself and which will be interesting to you at the same time.
When choosing, immediately discard the thoughts, they say, "I will learn a programming language for which they pay more".

How do I start learning a programming language?
Mastering programming involves independent work. Almost all the necessary material is available on the internet, the most important thing is motivation. It is advisable to approach the study in a comprehensive way - for example, combining online courses, articles, and educational games.
About the games. You can learn the selected programming language by playing. Some training sites are games themselves.
Create as soon as you understand. To get started, you don't have to wait until you've read all the programming language books. You need to start writing the first lines of code after the start of training. Complete tasks from books, reprint examples, and understand them.

Code editors
There are both paid editors and free ones. The most popular ones for beginners:
  • Sublime Text 3
  • Atom
  • Visual Studio Code

What do you need to get started?
Install the code editor. Take courses (free), read books, and look at the code of other beginners. You can ask for help in telegram chats on programming.

Salaries of programmers
On average, a junior mobile app developer earns 45-50 thousand, a junior desktop developer 50-60 thousand, a junior backender 50-55 thousand, a junior frontender 50-55 thousand, and a full stack 60-65 thousand.

Important tips
  1. Learning to program is not a preparation for an important test.
  2. Cramming in programming is absolutely useless. Even if you memorize some algorithms by heart, it won't do any good. It doesn't matter how many pages of information you've memorized. What matters is how you know how to use this information.
  3. You can't easily catch a fish out of a pond.
  4. The only way to learn how to code is to code. If you do not succeed , this does not mean that you need to give up this business. Don't let anyone take away your motivation. If you are sure that you need it, then you need it :)
  5. Don't be afraid to ask.
  6. If your independent search for the answer to the question is not successful , don't be afraid to ask more experienced colleagues for help. Don't rush to ask your own question. Try to formulate it as clearly as possible. You can ask for help in the chat rooms I linked to above.
  7. Practice is more important than theory.
  8. You won't be able to master a large amount of information on languages right away, so it's much better to devote time to honing your skills.
  9. Do what you love.
  10. Without this, alas, in any way. Programming is something that should make you want to finish the weekend and get to work. If you don't admire your work, then how will you create a masterpiece?

How do I get the initial experience?
You can't get a job without experience, and you can't get experience without a job. You need to search for your first projects. You will need to search for orders yourself and complete them. For a beginner, this is very difficult, but after passing this stage, all other options will be a piece of cake. You can record completed projects in experience and show them to your employer. Real projects are a plus for your resume.
 
Top