Work in IT attracts various factors: good specialists are in great demand, you can work remotely and build relatively free schedules, the choice of professions is large, and there are also many programming languages.
If you have no doubt that your future should be connected with development, here are a few steps to start with.
You need to decide on the approach to learning programming languages
There are several approaches to learning programming languages:
Conservative
Start by working out the basics. You'll understand how technology and the sphere itself are developing.
- Advantages: You understand the technology stacks, you learn the theory, you can orient yourself in the working methods
- Disadvantages: It will take a long time to study, and the process itself is oriented on theory, not practice
Modern
Proponents of this approach advise studying the language in which you plan to build work in the future.
- Advantages: practical orientation of training, you can quickly find work and interesting projects
- Disadvantages: it will not be possible to choose alternatives for solving problems
Utopian
Start learning several programming languages at once in order to be able to operate in a small amount on each of them.
- Advantages: great opportunities for successful employment, the ability to quickly find an alternative
- Disadvantages: your future is the middle peasant in programming. You will not become an inspired creator and a thorough connoisseur in all selected languages
You need to determine the scope of future activities
If you are only looking for a sphere that could be interesting, then here is a brief digest of the main movement by area:
Site Development
Popular direction. This is where the simple and extremely accessible in learning html will be useful, the dynamics of the page will add JavaScript. For frontend it is a minimum set of skills, backend can be based on php, Java, Python, C#.
Game Dev
Your choice is C++, Java, C #, Python.
Application Development
If you sleep and see hundreds of users running your app on a smartphone, your friends are Java (Android), Swift and Objective C (iOS). You can use C++, Java, C#, Python for desktop development.
Choose a programming language
Even among experienced developers, there is no single point of view on which programming language is worth learning first. Someone initially strives to work in the complex languages of group C, someone starts with JS and gradually increases pace. In order not to jump from one language to another, it is important to understand what tasks you want to solve with its help and what you generally strive for in IT development
When choosing a language - your main tool - you need to take into account certain criteria:
- The amount of time you can spend studying
- Language prevalence
- Scope and specificity of its application
- Future use in the coming years
That is why I recommend starting with the simplest and most popular languages:
1. JavaScript
Everybody loves JS. There is enough browser to work with it. On the JavaScript you can create everything: mobile, desktop and cross-platform applications, games, servers. Compared to Python, the language is more complex: constructs, service characters appear, it is not always possible to guess its purpose by the name of the function. But the possibilities JavaScript much deeper, it is considered fundamental.
Another reason to start studying programming is with JS - its similarity with the languages of group C. You will roughly navigate the spaces C #, C++, Java and PHP.
2. Python
The language is quite simple and convenient to master. The general message of the code can be understood even without knowledge in programming. Syntax will not take much time to write a program, and a large library base will save a bunch of nerves. In addition, code on Python is easily collected in a single exe file that does not require the installation of additional components.
3. Java
Created more than 20 years ago, but still remains one of the most popular programming languages. Developing apps on Android is just one of the capabilities of such a powerful tool. This is a clear and structured language that helps you learn how to really develop: here the principles of object-oriented programming are implemented, memory work is verified, there are options for use as functional programming.
Start Learning
There are four options for studying programming:
Self-education
The first thing that comes to mind. Self-education can be combined with all other ways. On the Internet, you will freely find books, resources, applications that will help you master the necessary skills. But this path seems to me the most difficult because of poorly developed self-discipline, the absence of a person who will help with advice, and a clear sequence in training.
The higher education
Not always the university makes it possible to turn around in practice, but, as a rule, it gives a strong theoretical base and initial competencies, with the help of which you can make your own small projects.
Curator
A curator or mentor is the person who is able to advise something useful, direct, help sort out a mistake or even just support at the right time, check the code, suggest how to solve errors or optimize what is written, recommend books. All this is not in the format of "the teacher teaches the student," but as a senior comrade who helps the younger.
As a rule, you can find mentors in the local IT community among familiar developers, at informal meetings or on the Internet.
Courses
Face-to-face and online, paid and free - now a wide range of courses. Often under their wing they are carried out by different companies, after passing it it is possible to get an offer of employment. Try looking for courses like this in your city. If the price bites, the Internet will help.
Personal advice is not to save on training, because not always free materials are enough to fully understand the technology.
Pump additional skills
Knowing development language, platform, libraries is important. It is invaluable to be prepared for constant development, the study of a new one and the expansion of the outlook.
The entire IT sphere is extremely mobile and changes almost daily. Therefore, it is necessary to be flexible, ready for change and never dwell on what has been achieved. What today is only on paper - tomorrow will be applied in large companies. And even if you can't put this knowledge into practice, then you will still get profit in the form of increasing erudition.
The main thing is to always strive for development. No matter what language you choose - go ahead and want more. Study literature, attend conferences, monitor forums, listen to podcasts, follow trends and thoughts more broadly.