Learning to Program from Scratch - A step-by-step guide for beginners. Ten steps from a teapot to a professional programmer

This is the most pessimistic answer to a question asked by a sophomore on Quora.com, and even it is based on a very inspiring thesis - "There is no limit to perfection."

Q: — How to become a world-class programmer in 3 years?

A: - And this is a rather interesting question, especially considering that you are aiming for a "world-class" programmer rather than just asking how to become a very good programmer.
What do you consider world class? And how do you measure it?

Let's consider this situation: the ability to solve obscure problems on a small scale does not make you a good programmer. That makes you a smart programmer, no doubt, but that doesn't mean you can solve a big problem that someone else has also created.

In reality, you have to look very broadly and work with systems that already exist, and as complex as they are, you need to understand them; you have not contributed a single line, and already you have to deal with great difficulties, or at least find them.

And the more of these problems you solve, the better you become. That's what I think:

1. Programming is about solving problems. Surround yourself with problems. The bigger, the better. They'll seem intimidating at first, but once you get to grips with them, things start to get easier.

2. Surround yourself with smart people - and not necessarily programmers. Firstly, they will use techniques and solutions that you would never have thought of, and secondly, they will force you to learn and develop. When you're working alone, it's very easy to come up with arrogant claims that you have all the answers.

3. Expand the number of languages ​​used: saying "C++ or Java is the best, I will use it exclusively" is pretty stupid; everyone has their own subtleties that you can use to your advantage, and owning them is very useful.

4. Do not relax if you have found a great solution to a problem. Rest assured, you only have one solution out of many, so it's not all that cool. Be open to new methods and ideas.

5. Work as a team. It's like point 2, only a little different: every programmer has a unique point of view that helps expand your own.

A: Do you allow other people to look into your code? Try using services like StackExcange : it's free and people give a lot of good advice on how to improve your code. I started to make significant progress in programming after I started showing my code to other people.

An MIT professor said, "Work every day for two years and you'll be a great programmer. Work every day for two years and learn how to work with algorithms and you'll be a world-class programmer."

I'll paraphrase: "Work every day for two years and use the help of colleagues to gain peer reviews, and become a world-class programmer."

A: - Hmm, I'm not sure at some point you will be able to say "Achievement unlocked! Now I'm a coder of the last level."

What could be cooler than the answer to the question "What is my rank?" among some mythical developers of the Earth? I guess understanding what you write is better than last week, month or year.

I think it helps to improve:
- Willingness to learn new things I have been improving my program since 1996 - and there is still room for improvement;
- the habit of sharing new knowledge: the ability to explain to others is useful for yourself (by the way, not many people know how to do this);
- interest in subject areas outside of programming: the ability to quickly understand different things is extremely important for a programmer - to whom do I explain?

A: - Write code. Lots of code. Working code. Create your own engine. Write the One True CMS (it will be the same as thousands of others, but you will find many discoveries in the process). Create your own task tracker. And then supplement it with an email client. Also, let it support plugins. Are you still here? Write your own language for writing plugins and your own interpreter for it.

A:-10: Practice
20: RTFM (Read The Following (Fucking) Manual)
30: Use the right tools
40: Read someone else's code
50: Develop Communication Skills
60: Solve code problems
70: Practice
80: Practice
90: GOTO 10

This is basic :-)

A: Oh, I have a favorite quote which I reread when I need inspiration. Chris Hasfield (Earth-orbiting astronaut) answers questions on Reddit:

Question: What advice can you give to a young person who wants to get into this field?

Chris' Answer: Understand what's on your heart and challenge yourself to move your life towards it. Every decision you make today, down to what you eat and what you do with your time today, transforms you into who you will be tomorrow and the day after. Try to see the self you want to be and start sculpting that person from your existing self. You will not be one in an hour, but you will do what you believe suits you. Don't let life accidentally kick you into the adult you don't want to be.

And then someone made a comic out of this answer:

A: — Don't allow yourself to conclude that you are a world-class programmer. You will lose the ability to learn! What kind of a programmer would you be then?

A: - Read a lot of code and contribute to Open-Source projects.

A: - Short answer: "No way"; long answer: "I'm not sure there is such a thing as a "world-class programmer".

Programming is just a means to an end. I am sure that many successful projects were created by average or good, but not outstanding programmers, but had great success. This is due to the fact that this very success lies not only in the quality of the code, but also in many other things, such as vision, passion, and so on. So if you want to become a great coder, you need a lot of practice and diversification. You can eat sometimes.

A: - Three things that I know:

1. Do not look for some 100% successful paths to your goal. All of them are different.
2. Almost all the best products are not written alone. If you are a genius, find a couple more and learn how to communicate with them.
3. All languages ​​are limited (as is English), but are constantly evolving. Do not stop the development of your products, and your own.

How to start the journey? Choose a prestigious profession.

I welcome you back to my blog and today I will try to answer the question of how to become a web programmer from scratch as quickly as possible? I must say right away that this is possible, in principle, for any person, I do not see any restrictions in this regard. The most important thing is your desire and perseverance.

First step

First, you need to decide what technologies you need to learn? That is, you must clearly understand what you need to study in order to achieve your goal. Of course, the matter will not end with theory, all the knowledge gained needs to be put into practice a couple of dozen times - then they will get into your head much better, so even after that, wake you up at night and ask: “ how does @keyframes work in css?” - you will tell everything in detail.

So this very first step is to find out what you need. To do this, I recommend going to a very popular IT portal - Geekbrains. There, scrolling the page a little, you can see in which direction they teach on the portal. We are interested in the profession of a web developer - this is a web programmer, in fact.

Here at the very bottom you can see what you will study if you pay for the training.
I cropped this screenshot a little on purpose to show you which technologies you need first.

What should a web programmer know?

So as you can see it is:

  1. HTML / CSS are the basic markup and design languages ​​for web pages, without them it is impossible to imagine website building. This is the basic, the simplest technology that you should learn first.
  2. PHP is the main weapon of a web programmer. With the help of this language, social networks, online stores, frameworks, engines and much more are created. It is thanks to him that most online services work, comment forms, registration on sites, etc.
  3. JavaScript is a programming language specifically for the web, with its help, a page can be programmed so that its design changes with various events. For example, when clicking on the window, it expanded, etc. There are many examples.

Where can you learn all this?

First, I advise you to look at where I write, where you can learn the most basic technologies, namely html and css. If you're wondering what html is in general, read on.

The best option I see is the same Geekbrains. As you can see, training for a web developer costs 7,000 rubles a month and lasts as much as 11 months, after which, if you didn’t cheat, you become a really sought-after specialist. I understand that this may be expensive for most of you, but this is the shortest path to becoming a pro in this profession.

If you decide to study on your own, you can save a lot, and the result can also be achieved relatively well. The only negative is that you will have to collect knowledge and courses on different technologies literally piece by piece. For example, in eleven months Geekbrains promises to teach you the following technologies: HTML/CSS, PHP, JS, NodeJS, AngularJS, Yii. On the other hand, in order to find a job, you do not need to know all this. I already said what is the base. This is html, css, php, javascript.

So, where to learn javascript and along with its most popular jquery library? The best option I see is buying a course from Evgeny Popov. This is a person who really releases cool training courses, so you can be sure of the quality. Here is a link to the description page.

PHP

Okay, but for php I don’t even know what to advise. Mikhail Rusakov has an explanatory course. Perhaps, for today, this is the best way to master the technology from scratch to a good level. Although not, the best thing is to get training from professionals in the Netology online education center. There, students are just being recruited for training in PHP and MySQL. You can sign up here. Naturally, before that you need to pay for the training. The advantages of this method include the fact that the company will help you find a job after graduation, you will receive a certificate and full support.

It is not necessary to know everything

If you only studied javascript (but not php), then you can work as a front-end developer, and if the other way around, you can try your hand at back-end. In general, even with little knowledge, you can already earn something on site building, but the more you know, the greater your potential.

I hope this article answered your question: How to become a web programmer from scratch?» You can find some general principles in my other article. There I just write about how important it is to learn from professionals and why this is the best way. Well, I say goodbye to you today.

A minute of your attention: We all want to place our sites on a reliable hosting. I have analyzed hundreds of hosts and found the best one - HostIQ There are hundreds of positive reviews about it in the network, the average user rating is 4.8 out of 5. Let your sites be good.

Today, many are interested in whether it is possible to learn to program from scratch.

We have all heard the stories that the people who are in this business have huge incomes, go to Bali every weekend and in the first months of their work were able to buy apartments for all their relatives.

In principle, this is not far from the truth, but For such results, experience and reputation are needed. And you need to start with the simplest. We will look at the steps that a person who knows nothing about writing programs needs to follow in order to travel to Bali and buy real estate in the future.

Content:

Step one. Training

Often, novice programmers fail to succeed for the simple reason that they initially failed to prioritize correctly.

They present this craft as something romantic, dynamic - just some kind of constant action.

In films, this process is shown completely different from what it really is.

Moreover, there is generally coding is not displayed, we are shown only the events that revolve around it.

Also in films they show that any person without knowledge, experience and even without gray matter in the brain can become a programmer. In this case, we can recall the film "Personnel".

So if you just got into the spirit of all kinds of films and want to start “coding” yourself, programming is clearly not for you.

Here's the truth about the craft in question - programming is:

  • hours, and sometimes days of monotonous work during which you can not relax, you must always be focused;
  • endless learning in pursuit of the latest trends in this area;
  • similar projects with customers who do not know what they want and how it should look like.

As for the latter, you must it is worth watching a video about seven red lines of different colors, one of which is in the form of a kitten. In principle, this is close to the truth, as customers often demand the impossible. It also happens that they order something, but the result constantly does not suit them.

https://youtu.be/nU0Fy5JXOtY

If you understand all this and are ready to plunge into the wonderful world of programming, then proceed to the next step.

Step two. Choice of first language

There are a huge number of programming languages. According to some estimates, their number has already reached several thousand.

In general, C is one of the simplest languages, which provides the basis for everything else. Moreover, its elements are used in many other systems and programs.

But it is interesting that in good educational institutions, as well as In the courses, students learn languages ​​in the following order:

1 Pascal.

2 C++.

3 PHP and everything related to web programming as well SQL(this is a system designed to work with databases through queries).

  1. Web(development of websites, online systems and everything connected with it) – html(although it cannot be called a full-fledged programming language), PHP, Perl, Python, Ruby, Java, Groovy, and ASP.NET technology.
  2. User software(all kinds of programs like directories, browsers, instant messengers, etc.) - Delphi, C, C++, C#.
  3. User software for mobile devices– Java, Objective-C.
  4. Machine development(work with microprocessors and other devices, robotics design) - Assembler, modifications C.

Someone can also add the so-called 1C programming to this list. Do not trust laymen and ignorant people! This is not programming at all.

When you get to know the basics of the work in question, you will understand why this can be said.

Choose what you like the most.

Advice: Make your choice now! You must know exactly in which direction you will develop and what to study in the future.

Most experts also are advised to start their studies with Pascal. This option will allow

You will write the simplest programs and have a general idea of ​​the craft in question as a whole.

We can say that Pascal is a kind of bridge. A person who just knows mathematics well can go through it into the world of programming.

Attention! Whatever company you get a job after training, you will be retrained for yourself. Therefore, you should simply understand the very principle of writing programs. And for this there is nothing better than Pascal.

Step three. Learning Compilers

For reference: Compiler- This is a technical solution designed to translate input commands into machine instructions, roughly speaking, into zeros and ones, that is, into such an interpretation on which the machine will understand what to do.

Actually, you will write all your programs and execute them in compilers.

If you decide to follow our advice and start with Pascal, then you should download Free Pascal. This compiler is absolutely free and distributed on the official website.

As you can see, it looks rather "old-fashioned", but programming begins with this. By the way, the C++ compiler looks pretty much the same.

It's called Turbo C++ (you can download it).

As for Pascal, there are also GNU Pascal, Turbo/Borland Pascal, TMT Pascal and Virtual Pascal. And for C++ you can use Borland C++, +, Dev C++, GCC and Eclipse.

But this, as we said above, is only the beginning. You can't stop there. Once you've made a choice about your direction, you can move on to more complex compilers.

Here is a list of the most popular compilers today depending on the areas of activity:

    ConcerningDelphi, then the compiler is called there. There is also Embarcadero Delphi and some other modifications. Delphi 7 can be downloaded from many sites, for example,. If you chose C, C++ or C#, then you need Microsoft Visual Studio. You can download it directly on the official website of the manufacturer.

    If we talk aboutAssembler and other languages ​​that are practiced in robotics, then here you immediately need to download MASM if you are working on Windows. In general, depending on the field of activity you have chosen and the company for which you get a job, compilers can be very different. Some firms write their own code processing solutions. Therefore, if you have chosen robotics, it is better to study the relevant books and do everything as they say. We'll talk about this later.

There are also many online compilers. They are useful in that they serve many programming languages ​​and do not require installation - very convenient!

Here are the most popular ones:

This is a unique service that allows you to create several virtual computers and do whatever you want on them, including compiling ciphers.

The virtual machines will be running . On them, you can at least delete the system folder, install absolutely any program, and so on.

Now let's start writing your first cipher (code). You can do this even without books and long instructions.

Step four. First code

For the first code, we will use the first language and the first compiler that we advised you to choose above. These are Pascal and Free Pascal.

One of the easiest programs is written as follows:

1 Download Free Pascal from the link above and run it on your computer.

2 Enter the following: "program [name];". That is, if you want the program to be called "hello", you must enter "program hello;".

3 Enter the instruction "begin". This means that the code that will later need to be executed has begun.

4 We use one of the most common constructions in Pascal "writeln('[some text]');". It just displays text on the screen. Which is contained in brackets and quotes. We will introduce a combination "Hello, world!". Usually, they start their way into the big world of software development with this. So the next line will look like "writeln('Hello, world!');".

5 To complete the executable cipher, enter "end."(required with a dot at the end).

6 Now press the button F9 to run what you wrote. You will see the words appear on the screen "Hello, world!". This is what was required!

To get you started with other languages, books usually also provide instructions on how to write "Hello, world!" , that is, an instruction that simply displays such simple text on the screen.

So, you have mastered your first cipher! A start. Now move on to intensive training.

Step five. Take an online training

The advantage of online lessons is that you see everything clearly, from start to finish.

Therefore, it is better for beginners to start their journey with online trainings. Here the best courses in Russian:

If you chose Python, check out McGrath's Python Programming for Beginners.

Step seven. Stay up to date

When you have sufficiently studied the material in the chosen direction and already have some experience, you need to constantly monitor the development trends of the software market.

Here's what it's about:

All this is necessary so that you can rebuild on time.

Let's say you decide to do a certain kind of programming, you've learned the technology, and you're ready to go to work to submit your resume.

Your data is considered, but they say that the company needs a specialist of a different profile.

So that you have as few such situations as possible, you should always know which areas of development are currently the most popular.

Important! Study both global trends and the situation in your city where you are going to work. If you want to be a freelancer, study orders on various exchanges and forums.

All this will allow you to develop and work in the right direction without wasting precious time.

This is very important in our time, as programming trends change not only in a few months, but in a few days!

If you learned some programming techniques two or three years ago, Now all this is definitely irrelevant.

Step eight. Find a teacher

It is best to find a personal mentor who will tell you what and how best to do in a particular case.

This option has many positive aspects, the main of which is the presence of a personal approach to you personally.

In addition, if problems arise, the teacher will help you solve them. BUT You can find a mentor in the following ways:

1 Enter the university. Yes, training programs in post-Soviet countries can be quite outdated, but you can definitely comprehend the basics, the very principle of programming, some basis of everything

2 Various courses. There are a huge number of courses where people gather in some office and the teacher, just like in a university, explains this or that concept. Usually such courses are very intensive, and students quickly learn the necessary information.

Of course, the services of a teacher will cost money, but the study will be very productive, and you will be able to learn a lot of necessary information.

Step nine. Analyze other people's work

This is a very interesting method that allows you to develop very quickly. The fact is that it is very difficult to understand someone else's code, only a few even professional programmers are capable of this.

If you do this at the very beginning of your activity, for sure, you will be able to reap excellent results in the future.

Moreover, it will allow you to become a project manager in the future, as you will have the ability to correct the work of other people.

More specifically, you need to do the following:

  • think about how you could optimize the cipher, that is, reduce the listing;
  • look for errors and shortcomings without a compiler and with it;
  • Work and, accordingly, earnings in your pocket! And if it doesn't, keep practicing. At least you know what tasks you need to do to get hired.

    In any case, give it enough time and then you will succeed!

What could be more difficult than choosing a profession? We are always afraid of making mistakes and ask ourselves if I can be successful in my chosen field. Our subscriber shared his doubts by writing to us:

“How do I know if I can become a programmer?”

For clarifications, we turned to our experts, and we present the answers we received to your attention.

The first thing to do is to check the base level of logic. Find a test, pass it and score at least 27 points the first time. I managed to give all the correct answers on the third attempt due to understanding - well done.

Let's move on to the next stage. Set up a development environment for C++ or C# or some other language. You did it and each successfully completed step gave you pleasure - a good sign. Move on.

Find a description of how to create the first application, Hello World, in the environment you have installed in your chosen language - this is a classic. Did? Excellent.

Now write your own calculator that adds, subtracts, multiplies, divides. If you did it and enjoyed it, you can become a programmer.

Upgrade Downgrade

Anyone who is ready to work hard and engage in their own development, read specialized books and solve difficult but interesting tasks can become a programmer. To become a programmer, it is not at all necessary to pass difficult exams or study for many years at the university. It is enough to loudly declare to the world that a new programmer has appeared in the world, while working hard and hard. On the other hand, you can have a programmer's lifestyle: do not put off the code editor when you return home, continue learning, get rare material on the net, learn new technologies, improve math and do, for example, ML.

Upgrade Downgrade

A programmer is defined by the desire to write cool code. But it’s hard to surprise anyone with just working code: it should be short, fast and understandable even to a schoolboy. Well, you can write perfect code only when you really love this activity.

You also need to love learning new things and improving in the old. Knowledge of Django is also hard to surprise. The technology stack changes and evolves daily. It is not enough just to know about the presence of some tool. It is important to understand how it works and why it is needed. To do this, you often have to dive into the basics that are not directly related to programming. And to make learning fun, you need an inquisitive mind.

The programmer must have developed systems thinking. He always needs to consider several solutions and choose the best, look at the problem from different angles, offering non-obvious, but effective solutions. Study ready-made tools so as not to reinvent the wheel.

And the programmer must be moderately stubborn and ambitious. If the read text is not clear the first time, it must be read again, or ten, until it becomes clear. Or if there is a better solution, then it is worth trying it out, and not giving up, saying that it will do. In any business, one should strive to become the best, develop, share knowledge, argue. When meeting a challenge to knowledge or skills, it will be difficult for a programmer to pass by.

Well, and, of course, one must be able to build communication with people and adapt to different circumstances. The time of bearded geniuses who single-handedly hacked the Pentagon from the basement, wrote Windows 3.11 and Facebook from scratch has passed. Now the programmer is a member of the team. The success of the entire team depends on communication skills and flexibility.

At the end, ask yourself: "Can I become a programmer"? If your answer is “Yes, I can”, then nothing will stop you.

Upgrade Downgrade

The answer lies, rather, in the field of human qualities and mentality. Of course, if initially there is a high level of theoretical training, for example, a fundamental mathematical education, then learning will go easier, but in general it is a matter of practice.

To become a successful programmer, you need to be able to understand the basic principles of programming and think in terms of the language in which you are going to write code, but this cannot be said to be some kind of predisposition. You need to be patient and work hard, no matter how trite it sounds.

Therefore, a programmer can become a person who is capable of constant learning, primarily self-learning. A programmer learns every day, and this applies even to experienced developers. If you have difficulties with your own motivation and perseverance, this is a wake-up call for the programmer profession, which is more important than a lack of basic knowledge.

Another necessary character trait is stress tolerance and planning skills. The programmer gradually comes to understand how to approach the task optimally, the code becomes cleaner and clearer. The programmer begins to think ahead and works out all the options for the expiration of events, which generates stable code, regardless of external factors.

If in doubt, I would advise you to first try related professions, for example, a tester. They do not need a deep technical base, at the same time, just a similar mindset and character is required.

Upgrade Downgrade

First, you need to understand what counts as a profession as a programmer. Programming has long ceased to be the lot of the elite, who are able to think in bytecodes and keep track of allocated memory in their minds. There are many modern languages ​​in the world today whose syntax is as close as possible to plain English. For example, User.find_by(name: "Vasya").destroy in Ruby (on rails). Knowledge of these commands is enough to write small websites, blogs, online stores. If you want to work at this level, then you just need to choose the dynamic object-oriented language you like (Ruby, Python) and take a course on it, or read a book, there are quite a lot of them for each language. You can also try your hand at front-end development, learn JavaScript and then master the frameworks for it.

If you want to write more complex systems, you need knowledge of abstract logic, you can get it by studying higher mathematics at the institute (ideally discrete, but, in fact, mathematical analysis also develops brains quite well). You can read books on discrete mathematics and algorithms (Stephen Skiena "Algorithms. Design Guide", Thomas Kormen "Algorithms. Construction and Analysis", Rod Haggarty "Discrete Mathematics for Programmers", J. Anderson "Discrete Mathematics and Combinatorics") and just practice programming. It would also be very useful to learn a low-level language, such as C (Kernighan, Ritchie "The C Programming Language") - for a general understanding of how programs work.

If your goal is to do machine learning and data processing, you will need to master mathematical statistics and linear algebra. All these sciences are united by one feature - they can be learned. Therefore, the main idea of ​​understanding your own capabilities in programming is as follows: “If you can learn by yourself, then you can become a programmer. You don’t need to be a mathematician, but you need to be able to become one if necessary.”

There are also many channels in telegrams, several for each programming language, I also advise you to look.

If we talk about the simplest development of web sites, then there should be no doubt that everyone can handle it. If you want to go further, but at the same time think that mathematics and logic are not for you at all, then you can try gaming sites for developing algorithms:
https://www.codingame.com/
https://www.codewars.com/
They need to solve the simplest (and not so) algorithmic problems in any programming language you like. I can't say that it is very useful for learning real programming, but if you enjoy these games, then you will definitely enjoy doing serious development.

Upgrade Downgrade

If you have asked yourself this question, there is definitely a chance. After all, the main thing is to have the desire and desire to fulfill it. But for real success in programming, it is necessary to think systematically: to understand what is connected with what and how, to see system processes and algorithms for solving them in the world around us, and also to be able to find approaches to solving problems. Perseverance is important, the ability to focus on the task.

Patience does not hurt the programmer, because coming up with a solution to the problem and writing the algorithm code is only half the work. Then comes testing, finding and eliminating errors, editing the customer - all this requires the lion's share of patience. But with such innate stubbornness in achieving the goal, it is necessary to maintain the flexibility of the mind, to be able to look at your work through the eyes of users, sometimes it is very difficult to abandon your decisions in favor of the customer's decisions.

Do not be afraid to learn to be programmers, because even if you don’t like programming, you can work as analysts, testers, technical writers and even project managers, and IT education will only help you with this.

Upgrade Downgrade

Today it is difficult to find a profession more promising, technologically advanced and financially stable than the work of a programmer. At the same time, despite the high salaries (several times higher than the "average for the region"), the industry is experiencing a shortage of personnel. As Adam Smith said, "demand creates supply" - but it's not that simple.

The shortage of personnel in the market is not the same as it was ten years ago. The IT sphere has matured a lot, survived the stage when Enikey employees were taken to serious positions. Future programmers face new, complex challenges - the range of "primary" tasks of this profession is becoming primitive, and with the development of technology, it is increasingly being left to the mercy of artificial intelligence and automation.

Professional "hunger" acquires new characteristics. To succeed, you need to have a fundamental base: a high-quality algorithmic foundation, strong mathematics, be responsible and ready to constantly learn. If you have all this - Google, Amazon, Facebook and Attack Killer are ready to invite you for an interview right now!

Upgrade Downgrade

To begin with, software development is now a huge industry with a wide range of tasks and skills required for them, which involves tens of millions of people. The variety of companies and projects is so great that you can reduce the answer to a simple - "Yes, for sure you can become a programmer."

But it is better to reformulate the question into “can I become a good programmer?” In my opinion, you can become a good programmer if:
1. Love programming and enjoy the process of thinking and writing code.
2. You like high-quality and convenient software products, and you want to develop just such ones.
3. Interested in IT development, even if you don't like all the trends.
4. Possess developed critical thinking and analytical abilities.
5. Can work in a state of flow and concentrate on one task for hours.
6. You care about what you do and what people you work with.
7. Ready to work in a team to achieve a common goal, even if you do not like to communicate with people.

Hi all! My name is Konstantin Botnari. I have been teaching programming for almost 8 years now. It all started when I was a graduate student and lectured to my peers in one of the Odessa universities. Now I teach at the Hillel Computer School, I teach the Introduction course on how to become an IT specialist from scratch. I want to dispel some myths around the most sought-after profession of the 21st century and tell you who programmers are and what they do.

Graduates go free swimming

Tyzhprogrammer, or What is a special mindset

Perhaps this is the most common myth. They say different things: that programmers have a different brain structure, that they are alienated and withdrawn. And without this, you cannot become a successful professional.

Is it true? Partly. But a successful programmer doesn't always have to be a snob. What is important and necessary to know in order to learn to be a programmer:

  • Be able to work in a team. Regardless of where to start: web programming, mobile application development, layout and much more - it's a team effort. Therefore, without this - nowhere.
  • Understand what priority is and how to properly prioritize it. Even in the most prestigious company, programmers often get tasks in the style of “Do it now, but this was necessary yesterday, but here - quickly and only correct it.” Structuring tasks is one of the most important skills of a cool progger.
  • Have phenomenal perseverance. No, you won’t have to sit in the office from call to call, but spending a lot of time at a laptop or computer is for sure. That is why IT people are considered unsociable: it’s just that while everyone is resting, most of them prefer to work.
  • Don't be afraid to improve and learn new things. Programming languages ​​become obsolete, new ones need to be learned, mobile applications are created on new platforms, dozens of services appear every day. If you want to become a good programmer, you need to be flexible and ready to upgrade your skills.
  • Love your computer. There is nothing more to add here. Your machine is the main working tool.

Already these skills can bring a stable and good income. And what if we add professional skills and education here?

What a programmer needs to know

Surprisingly, the role of mathematics in the life of a progger is greatly overestimated. Yes, this science is basic, and knowledge of vyshmat can be a good foundation for building a successful career. But this is far from the main thing where you need to start learning programming. Even without mathematical knowledge and a technical base, you can build a career as a cool programmer. In the process of studying at a computer school, you can get absolutely all the knowledge that a good specialist really needs to enter IT from scratch.


Future programmers

The truth is in the details

A career in IT is a lot of work that can only be done with a high degree of attentiveness. There are many areas where perseverance is also important - this is surgery, jewelry, various measurements. But in programming, this skill is almost basic.

Self-discipline, attentiveness and diligence - these are the three pillars on which the career of a successful programmer in a world famous company stands. Just like sitting at a laptop will not work, as well as scrolling the feed on social networks, likes and watching videos.

What you need to be prepared for when you start:

  • Even simple tasks sometimes require a huge amount of time. Of course, then they can be solved much faster, but at first you will have to work very hard to find a solution to the problem.
  • How to program - it is important not not to fall, but to be able to rise. Any failure along the way, broken code, omission of a variable is just a stepping stone to a successful future. And even if the site is down, you can’t leave it and just leave. You need to raise your baggage of knowledge and experience and find that very variable.
  • Where to start programming: remember that the first time is unlikely to succeed. Not a good website, not a user-friendly mobile app, not even a chatbot. Programming mistakes are absolutely normal, and I would even say that they are useful. My best graduates spent several hundred hours searching for solutions and implementing their projects. And write correct code. But then for them this task was something comparable to a rebus in children's books.

Algorithms matter

Everything in programming is based on algorithms. If in general, then there is the concept of decomposition. It is the breakdown of large and complex goals into small sub-goals. Or the maximum simplification of the task. As a result of crushing, the problem no longer seems so complicated, and its solution seems to lie on the surface.

This attitude to things is called algorithmic thinking. Did you recognize yourself? Congratulations! Then the path of a programmer from scratch is just for you! It remains only to add the necessary knowledge and experience.

But often the importance of algorithms and the ability to compose them correctly is simply underestimated. As an example, try to write an algorithm for cleaning the apartment or making coffee. Now imagine that in programming for absolutely any task you will need to prepare dozens of commands and conditions, otherwise they simply will not be executed.

Not everyone thinks in such algorithms. Someone visualizes images, others present abstract models. They, of course, can compose an algorithm, but this will be the fruit of long and hard work, but not the talent and natural nature of their brain. In this case, maybe it makes sense to find yourself in a profession related to creativity or communications?

Programmer: expectation and reality

How to become a programmer is to become a team player. Often an IT specialist needs helpers, like-minded people, support. In the working environment, he is constantly in contact with the customer, prepares test tasks, and approves them.

It is not so easy to survive alone in the field of IT. Remember, the sooner you can get out of your room and sell your project, the sooner you can climb the corporate ladder.

In programming, the most difficult thing is to start, so I want to give future web programmers a simple, but very significant and important advice: do not be afraid of new beginnings.

  • No one got up and wrote a website in one day.
  • There are no those who now earn millions using old knowledge.
  • For self-improvement, you need a little: be yourself and improve.

Each project is a new environment, unexplored tasks, an updated team. You can, of course, retreat. But then you can't become an IT guru. Immerse yourself in this experience, learn from it something new for yourself, gain experience and knowledge.

In programming, it will not work out on the knowledge gained 10 years ago. Too mobile environment. And there is too much demand for dynamic and flexible professionals. Therefore, I wish you to always keep your finger on the pulse and correspond to the time in which you want to work.

Do what you love

Trite, but without it in any way. Programming is something that should give you the shivers in the knees and the desire to end the weekend and get to work. After all, if you do not admire your work, then how will you create a masterpiece? A good programmer leaves a part of himself in the project. Not only time or knowledge, but also a little love for a common cause.

Therefore, if programming for you is just a good job with an excellent perspective, it’s better not to waste your time, effort and money. Look for something else - a business that can become an important part of your life. An integral part.

Internet