JavaRush /Java Blog /Random EN /How to become a programmer (part 1)
Bender
Level 1
Маунтин-Вью

How to become a programmer (part 1)

Published in the Random EN group
how to become a programmer So, you have a strong desire to become a programmer. Where to run now? There are many answers to this question on the Internet. We once wrote an article about this . However, judging by the questions we get asked on social networks, beginners are often lost in the abundance of information and do not know where exactly to start. In principle, all we do at JavaRush is help answer this question. However, for those who are completely confused, we decided to draw up a rough plan of action.

First, decide on the pool of technologies

  1. Choose 2-3 main sources of knowledge, as well as a dozen additional ones. But don’t forget to “Google” if something is not clear.
  2. Select a development environment and install all the necessary software on your working machine.
  3. Decide what else to study and where to get information.
Now let's talk about everything in order. First, decide on the language and technology pool. If you know absolutely nothing about programming, you have two options (in fact, more, but we are not here to confuse you). The first way. Try something as simple as possible at a basic level, and only then decide. HTML CSS JS For example, the website markup language HTML. Basic knowledge of HTML is a useful skill for any IT professional. However, this language itself gives a beginner a very vague idea of ​​programming as such. Markup is not completely programming, and in order to get from creating pages to real problems that are solved not by layout designers, but by programmers, you need to learn a lot. However, getting an understanding of HTML and its beautifying companion CSS is very easy. Interactive courses can be found here: https://www.codecademy.com/learn/web https://htmlacademy.ru/program Both courses have paid and free content. Free is enough to get started. It won't be too difficult to learn the basics of JavaScript. This is already a real programming language. Mega-popular, however, with one “but” - this is the most popular “second language”, that is, the one that most programmers use as an auxiliary language. It is the main one for the so-called “Frontend Engineers”, those programmers who create and bring interactivity to Internet pages. To be fair, the simplicity of JavaScript is a double-edged sword. At the initial level, everything is very simple, but programming a relatively complex multi-line application in JavaScript is not an easy task. So it cannot be called a universal language. However, here are a couple of links to good JavaScript resources. They will come in handy, if not immediately, then a little later. http://learn.javascript.ru/intro https://www.codecademy.com/learn/javascript Python is considered a good “learning” language today. It is quite easy to learn, has a readable code and solves a wide range of problems, allowing you to focus on the task at hand, without constantly worrying about how everything works in this very programming. At some point, this feature (“high-level”) can play a cruel joke on a beginner, and he will try to look for arms and legs that are not there in the good “snake”. python Python has other disadvantages, such as slow execution of programs. And there are a lot of other pitfalls that become obvious later, when the programmer gets enough experience with the simplest tasks. There is also a very popular PHP, but it’s hardly worth starting with: the language is indeed widespread, but professionals have a lot of complaints about it. Let's also mention Ruby - a language somewhat similar to Python, but not the easiest to understand. PHP, Ruby and Python solve approximately the same problems. In principle, if you are 200% sure that you want to write only websites and nothing more, the HTML + CSS + JavaScript + Python/PHP/Ruby pool is suitable for you. Although in fact, these wonderful technologies do not even fully cover the Web. All sorts of complex business programs that hide behind websites are often written in more universal languages. Such as Java or C#. In addition to everything else, we recommend that you definitely watch the popular Harvard course on the basics of programming CS50 (we recently translated it into Russian, you can watch it here ). It is ideal for beginners. What if, after learning, you want not to rivet websites, but to write games, create applications for mobile devices, program microprocessors, or create huge corporate programs? What if you become interested in robotics? Science? You never know where it will take you... Remember, did life so rarely make adjustments to your plans? That is why we consider the second path more rational and correct. The second way. Learn a universal and popular programming language, the ability to work with which is well paid. Java The above-mentioned Python is suitable to some extent, but there are much more powerful languages ​​in their versatility. Among them are Java, C#, C++. The first two are similar in many ways and solve similar problems. In fact, they solve any problem. Web, desktop and mobile (with reservations, which will be discussed later) applications, working with the console and graphics. It’s also quite comfortable to write educational code on them. Which to choose? In principle, any of them is good. But let's act rationally (this is very useful for a programmer!). We type something like “the most popular programming languages” into Google and look at the result. Here are some interesting links: https://dou.ua/lenta/articles/language-rating-jan-2016/ https://hh.ua/article/13333 http://itdistrict.ru/kakoy-yazyik-programmirovaniya- samyiy-vostrebovannyiy-v-2016-godu/ https://dev.by/lenta/main/top-15-samyh-vostrebovannyh-yazykov-programmirovaniya-v-2015-m http://www.3dnews.ru/926356 The first article summarizes the results of a traditional survey of developers (6181 people, 91.5% of respondents live in Ukraine, 8.5% live outside of it), dedicated to the demand for programming languages. The second is a survey of HR managers (these are the ones who select staff) about which development specialists they most need. The last three articles contain expert conclusions, we are talking about the global labor market. If you are too lazy to follow the links, here is a summary of the articles: Judging by the sources, the most popular language is Java. JavaScript and PHP are also among the leaders in some places. JavaScript because of its prevalence on the web and because it is very often used as a “second” language (this is also reflected in the study from the first link). The reason for the spread of PHP is the following: a lot of sites were written in this language, they need to be supported somehow, so specialists are still needed. However, their number, according to the same research and common sense (the language has a lot of shortcomings, most developers agree with this thesis), continues to decline. There are fewer people writing in C#, while the number of people using Java has increased, and so has JavaScript. The number of Python programmers has also increased, but the percentage of respondents in the market is still small: 8%, while the share of Java is 26.3%. Next is a survey of recruiters. From it we can also draw a clear conclusion that the most in-demand developers today are those who speak the Java programming language. They were called necessary by all interviewed HR people, without exception. The second most sought-after jobs, according to recruiters, are those who program in C#. Links to articles that describe global trends did not add any variety to the harmonious picture: Java, Java and Java again. Or here’s another detailed video in which a sophisticated programmer explains what language is needed and why. He programs in C#, C, Python. Recommends Java as the first language: https://www.youtube. com/watch?v=T70qJndjYi0 The popularity of the language is primarily due to its specifics: many business applications are implemented in Java, it is universal and does not depend on the platform on which the program runs. The language is great for creating programs large and small. In addition, Android is based on Java. Java has been around for quite some time, and in the time since its birth, the language has acquired many useful libraries, and at the same time is actively developing and updating. So, to work with Java, specialists are needed both to develop new products and to support/update existing ones.
Well, okay, let's say Java. How are specialists in this language paid?
how do programmers get paid? There are many excellent sites to find out, such as DOU. Among other things, this site collects statistics on how much development specialists and other IT specialists earn in Ukraine. So, follow the link , select there, for example, the city of Kiev and the position of Junior Developer (or simply Developer), select Java and compare with other languages. If you don’t live in Kiev, don’t worry: we tracked the difference in the cost of work in different cities and in the article “The Programmer’s Path ”, we provided a table with approximate data. Let's copy it here, here it is: salary comparison This is the pre-crisis table. At the moment, the situation has changed somewhat, Kiev salaries have remained approximately at the same level, but Moscow salaries have approached those in Kiev. If you've looked at the DOU link, you've probably noticed that Java programmers are not only the most in-demand, but also some of the highest paid professionals.
Or maybe Java is too complicated?
...Not really. There are languages ​​that will seem easier at the first stage of learning. However, Java has a huge plus: it is widespread, necessary, and has been on the market for many years. Accordingly, there are a great variety of training materials, lectures, books, forums for both beginners and seasoned programmers. The community helps my studies a lot. The main thing in all this diversity is not to get confused and choose educational materials. We will write about this in the next paragraph. You decided that you definitely want to develop games and read that most of the greatest hits are written in C++. So maybe we can teach him right away, this elder of the world of universal languages? You can try, but the idea is not the best: C++ is extremely difficult for a beginner. But after training in Java, you can easily switch to C++ if you want. By the way, not all “big” games are written in C++. The famous Minecraft , for example, was created in Java.

Brief conclusions

conclusions
  • The most sought-after developers write in Java and the need for them is constantly growing;
  • Java developers have high salaries;
  • Java is a universal language. You can write almost anything on it. Games including;
  • Java is relatively easy to learn;
  • After Java, it’s easy to switch to C#; it’s quite easy to learn JavaScript, Ruby, Python. After Java, the programmer is ready for a detailed acquaintance with complex C++;
  • Android is based on Java;
  • The implementation of multithreading in Java delivers. If you're new, you probably don't yet understand how cool it is. Just remember this phrase =);
  • The vast majority of programmers speak JavaScript as a second language.
Based on all of the above, our recommended pool of technologies to study at the entry level is: Primary language : Java. We learn that part of it, which is called Java Core; Additionally : HTML, CSS, JavaScript. Connect them gradually, starting from the second or third month of study to distract and relax from Java. Read the second part of the article here . Read the third part of the article here . Read the fourth part of the article here .
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION