📜 ⬆️ ⬇️

I and the code: how to become a popular programmer

After one of the recent posts we received a lot of interesting questions and comments. Including you wanted to know how, in our opinion, to become a sought-after programmer.

The projects of the Krasnodar studio Plarium differ significantly from each other in the stack of technologies used. We have to solve diverse tasks and involve a large number of professionals. Programmers are an important part of the Plarium Krasnodar team. In total, more than 50 of our colleagues work on the creation of code in studio projects.

We analyzed their experience and are ready to answer the questions received.
')


Anyone can be a programmer.


Perhaps, all IT specialists from time to time are asked: who can become a programmer? If you wish, anyone is able to come to this profession; you just need to develop certain qualities in yourself. The basic requirements for a programmer are at least two: the ability to think and analyze. Obtained education, contrary to stereotypes, is not so important, although the technical background significantly simplifies the task.

The significance of the mathematical base depends on what exactly you will do in the future. So, in Data Science deep knowledge in mathematics is an obligatory competence of a programmer. To solve most problems in this area, you have to create complex models. Of course, if you think consistently and logically, then write the appropriate formula will turn out without a doctoral degree in mathematics. However, the corresponding theoretical training will save you a lot of time and effort.

English is now the unofficial industry standard. There are far fewer quality tutorials in Russian. Documentation on current technologies, news, seminars, lectures of reputable speakers, with rare exceptions, are published in English. Localized versions may not exist at all.



Learning never ends


IT industry is developing continuously. Every few years new programming languages ​​are developed. Libraries, toolkits, and efficient coding techniques are even more common. For this reason, specialized education and academic achievement are not a panacea, because in fact learning programming never ends. Universities and colleges rather form the necessary patterns of thinking. The knowledge gained in the walls of the alma mater is rarely applied in practice, as many of our colleagues are convinced of. Really important information must be obtained independently.

In teaching programming languages ​​can not take long breaks. It is advisable to devote daily to this activity for several hours. And along the way - develop time management skills. Although this competence does not depend on future specialization, the faster you learn how to properly manage your time, the more successful your studies and further work will be. An important part of education for a programmer is communication with colleagues. In such conversations you can learn about new technologies and professional secrets.

The Internet is the best source of knowledge


Both for beginners and pros, the main source of knowledge is the Internet. You can use both specialized resources for programmers and general sites. For example, the news is most convenient to follow via Twitter. In the same place you will find lifehacks from experienced developers.

There is a lot of useful information on YouTube: tutorials of various levels of complexity, recording of lectures, seminars, presentations, visual demonstrations of the capabilities of various technologies. Do not ignore livecoding broadcasts (conducted on Twitch and YouTube). On them you can live to see how experts work, and if something seems incomprehensible - immediately ask a question to a streamer. Peeped on the broadcast techniques and approaches to work, up to the location of the windows and the keyboard shortcuts used, will save you a lot of time and save you from annoying errors.

In the process of learning it is extremely important to analyze the code that is already running. GitHub and similar services are useful here. Programming books cannot provide the same amount of high-quality and relevant examples.

In their daily work, Plarium Krasnodar specialists use a lot of other sites. We selected the most interesting and prepared a selection of resources for programmers.

If you plan to devote yourself to C # and web development, useful sources of information will be:

- https://blogs.msdn.microsoft.com/dotnet
- https://metanit.com
- https://learn.javascript.ru/

If you're interested in learning about the Unity engine, stay tuned to the following resources:

- https://connect.unity.com
- https://blogs.unity3d.com
- https://jacksondunstan.com

If you want to dive into the game development industry, visit these sites:

- https://dtf.ru
- https://gamasutra.com
- https://www.alanzucconi.com
- https://app2top.ru
- https://simonschreibt.de
- https://engineering.riotgames.com
- https://proglib.io/p/gamedev-blogs



Programmer - Universal Specialist


IT programmer is a universal soldier. It is not necessary to focus on a specific field of activity: despite a different technology stack, a specialist can easily move from gamedev to Enterprise and vice versa. This does not negate the fact that you need to understand the features of the work. For example, a programmer in a game dev still needs to understand the gaming industry and be a gamer himself.

In the process of learning, the question inevitably arises what is better: to research the maximum possible number of technologies or to specialize in something specific. The answer will come with experience - as far as solving the problems of a programmer that you encounter in your daily work.

Common mistakes newbies


We analyzed typical mistakes of novice programmers and formulated several tips based on them. Do not step on other people's rakes!

You can not complicate the code without extreme necessity. The listing should be easy to read, so that it is immediately clear what and how each part of the program does. There are unacceptable situations where after some time you can not figure out how to use the previously created classes or libraries. Cumbersome, non-obvious designs are hard to debug, and to make mistakes when writing them is simple.

Do not reinvent the wheel. For almost any task, you can find a suitable piece of working code. If the search fails, most likely, you incorrectly formulated the request. Often, programmers have a certain self-confidence. Even if the searches were successful, it may seem that the self-written code is better than a ready-made solution. Over time, you will begin to understand exactly when the efforts spent on writing a system from scratch are justified. Prior to this, it is more expedient to use other people's work.

No need to give up books. The engineer differs from the ordinary coder with a good knowledge of the theory. With such preparation, he is better oriented in the technology stack, quickly finds optimal solutions and makes fewer mistakes. Fundamental theoretical base is helped by specialized books, but not articles.

Seven times measure cut once. If deadline allows, all the nuances should be thought out before starting to write code. Otherwise, you may lose a lot of time searching for errors and optimizing algorithms. It is better to sharpen the ability to think correctly, rather than quickly dial the code.

Alternate fast and high-quality work. Some tasks have to be solved as quickly as possible, even if the code does not look very good. In other cases, the timing is not so critical and you can focus on quality. If you begin to alternate these approaches to programming, you will eventually begin to perform any tasks quickly and efficiently.

Get rid of the rigidity of thinking. Explaining how not to do it is much easier for a young programmer than for an older colleague. With age, we become less open to new ideas and begin to painfully accept criticism. Try not to become self-contained and consider problems from different sides.

We hope that the article has proved useful to those who make the first steps in programming. And if you have already become a code guru, share your story in the comments: how you studied, where you gained experience, what inspired you, what mistakes you made.

Source: https://habr.com/ru/post/433530/


All Articles