How to learn programming from scratch

How to learn to program from scratch

1. Self

If you have an iron will and a burning desire to become a programmer, you can achieve your goal through self-education. This is not the easiest and shortest path: you yourself will have to deal with informational chaos and fight procrastination. But you can study at a convenient time for relatively little money or for free.

The easiest way to start is with interactive online courses . There are many sites on the Web, the materials of which explain the basics of programming in an accessible way and set the direction for further development. Pay special attention to those options that teach on examples of real projects, that is, they tell you step by step how to create a specific application or site.

Platform with Codecademy development courses

Remember that you won’t succeed without practice. Learn from project-oriented courses and try to write programs and websites that are analyzed in them. Look for lectures on YouTube with an analysis of projects that you would like to develop. First, copy other people’s work and think about it. Then try to deviate from the original, experiment, change individual elements until you can create something unique.

In addition to courses and video lectures, there are official documentation available on language sites and books. When you understand the basics, look for recent publications with the subtitle Best Practices for your chosen programming language. Such materials contain the best development techniques.

Be sure to set a goal to create your project and constantly work on it. This will help to consolidate the acquired knowledge and understand what information you still lack. Your skills will develop along with the project. When you finish it, take on a new one – more difficult.

If you have any difficulties in the learning or development process, you can always turn to programming communities like Habr Q&A and Stack Overflow for any question. For example, they will help you solve a problem, choose a good course, or point out errors in the code.

Service of questions and answers on technological topics “Habr Q&A”

It is convenient to hone skills at special sites, solving various practical problems with the help of code. There you can compete with other programmers or deal with tasks from interviews in large companies. These services include Codewars , TopCoder , HackerRank and LeetCode .

2. With the help of a mentor

A mentor is a personal mentor who points out mistakes, warns about pitfalls, and helps to plot a course of study. A good recommendation at the right time can save you a lot of trouble and save you a lot of time. Therefore, the mentor will not hurt anyone.

Find out if there are developers among your acquaintances. Perhaps one of them would like to help you. If you do not know such people, you can look for them in the programming communities. For example, on the same “Habr Q&A”. Only mentoring services are not cheap, but no one wants to spend a lot of time on strangers for nothing.

3. Teachers of “live” courses

Distance and face-to-face courses with teachers who teach programming have become incredibly popular in recent years. As part of this format, you also have to work a lot on your own. But you will be engaged in a professionally prepared program, and a living person will check the solutions to problems. The disadvantages of this option include the high cost of training.

Popular Russian-language online platforms that provide systematic training for programmers are Netology , GeekBrains and Loftschool .

If you prefer to study in person, you can look for educational centers that teach programming in your locality. Unfortunately, such establishments are most often present only in large cities.

4. At the university

If you have a lot of time left and you are sure that you want to connect your life with programming, you can study computer science at the university. But keep in mind that traditional educational institutions are lagging behind progress, so you will have to master modern programming languages and other technologies on your own.

On the other hand, the university will provide fundamental knowledge of mathematics , algorithms and other areas that will help you become a high-class programmer. Over the years of hard study, you will form the right type of thinking, thanks to which you will grasp everything on the fly in the professional field.

How to choose a direction and language

There are several areas in the IT industry, each of which uses its own set of languages. We list the main areas in order of increasing complexity:

  1. Web development. Popular languages: JavaScript, TypeScript, Python, PHP, Ruby.
  2. Mobile development. Popular languages: Java, Kotlin, Swift.
  3. Development of games and programs for desktop computers. Popular languages: C++, C#, C.
  4. Big Data, machine learning. Popular languages: Python, R, Scala.

What to look for when choosing

To find the ideal direction and, in particular, the language, consider the following factors: the complexity of mastering and the amount of training materials on the Web, your personal preferences (what exactly do you want to develop) and the demand for the language in the labor market.

Statistics on the use of programming languages among Stack Overflow users

The demand for the language in your area is easy to check on job search sites. Just open the section for software developers and see the number of available vacancies .

What to do if you can’t decide

If you’re confused, take a look at JavaScript, the language in which almost the entire web is written. Many organizations and programmers advise beginners to choose this particular language as their first language.

It is also worth looking at the newer TypeScript language, which is used for the same purpose. It has more features, but is backwards compatible with and compiles to JavaScript. Most likely, this new generation will gradually replace the JS development environment.

What else should a programmer know?

Any programmer needs a deep understanding of mathematics . For areas like game graphics or big data, a mathematical mind is a must. But when it comes to web development and the creation of simple programs, in most cases, mathematics can be dispensed with. Although there is no consensus among professionals on this matter.

But understanding English, at least at the level of fluent reading of the documentation, is mandatory for all programmers. Official documents and most educational materials appear primarily in English. Books are often out of date before the translation is out. In addition, knowledge of a foreign language opens up prospects for working with the whole world.

Add to bookmarks 📒

How to get your first experience and first job

To find your first job as a programmer, you must have a portfolio. This is a project you created, or rather several, that demonstrate all your developer skills. The program of most courses includes the development of projects that can complement your resume.

A very valuable point will be the presence of work experience, especially team development. Here’s where to get it if you’re looking for your first job.

  1. Complete several orders on freelance exchanges . For example, it could be ” Habr Freelance “. Offer your services for free, then the first customers will come to you.
  2. Find like-minded people and create a common project with them. People unite for such purposes in almost every educational platform where there are programming courses.
  3. Choose courses whose organizer helps with employment. For example, at GeekBrains, after training, access to internships from different companies, including paid ones, is opened.

Before an interview, be sure to search the Web for lists of tasks and questions that are often asked to job applicants.

This article was first published in February 2018. In September 2022, we updated the text.

Read also 🧐

Leave a Reply

Your email address will not be published.