What to learn the programmer. Learning programming from scratch - Step-by-step guide for beginners

Each time, with difficulty overcoming life obstacles, I want to take and smash this world for yourself. Unfortunately, we are not born by the creators of this universe. Those who want to satisfy their ambitions of the creator, only a virtual world remains.

Although it will not be so many magic and knowledge of runes here for creation here, how much knowledge of the basics of programming. Therefore, for all novice creators of virtual reality, we will tell you how to learn to program.

What you need to know "kettle"

No matter how much it wanted to recognize this, but in reality, programming is not so magical affair. Creating code Sometimes you can compare with the walking by bare feet on the seabed, eliminated by sharp stone wreckage.

To become a programmer, you need to be not only smart, but still patient and soaked. Programming training is always accompanied by a head of pain, red with eyes and a detached look. It is possible that it is easy to find out the programmer.

Many beginner learning consider writing code almost the most romantic profession. The number of people willing to know programming after watching the film "Matrix". It was the main character of this painting neo pushed many to the establishment of software sciences on the way:

But most of the study began to learn it in a few weeks. And the main reason for this is the incorrectly selected direction of learning, a technique or even a textbook on programming.

After the collapse of the USSR, all domestic universities have not even been even trying to smooth their system of learning under the needs of the modern market. Not an exception to this rule and technical universities.

Programming as a separate industry and specialization did not exist as such. Its foundations were taught only as a binding to other engineering disciplines. And even those crumbs of knowledge that were given to students in this area did not comply with modern standards and have lost their relevance as early as 20-30 years ago.

In the countries of the former USSR, the main language of programming taught in technical universities was a Beysik.

The situation has not changed radically and after 10 years. Only some educational institutions, taking into account the trends of the new time, at the beginning of the two thousand years began to overlap their training under the world standards. And from this point on, programming began to be perceived as a separate profession and specialization of learning:

At the same time, various specialized commercial courses and educational institutions began to appear. But the quality of teaching and knowledge given in them was at an extremely low level. Not enough competent professionals who can train newbies not only by theoretical knowledge, but also practical programming skills.

And this in the profession of a programmer is the most important aspect. Therefore, most of today's Guru of the Russian IT industry began their training from scratch independently.

To some extent, such a tendency is preserved to this day. Although in our time the number of professionals involved in teaching has increased markedly.

From what language to start learning programming

The comprehension of software sciences is characterized not only by severe training, but also by its start. The newcomer is sometimes difficult not only to start self-study, but also to determine the coordinates of the starting point of the process. Therefore, we will try to help you get around all these difficulties:

Before breaking teeth about granite science, you should decide what to start learning programming. In the first stages it is very difficult to determine the specialization. Therefore, let's start with the selection of the first language.

Most often the choice drops to the C (SI) programming language. It is from him that most newcomers around the world begin their studies. Based on C, the main part of the program languages \u200b\u200bwas created, and largely they inherit its structure and syntax.

Studying C, you will comprehend the basics of not one programming language, but at once a few.


Consider the features of this language that makes it optimal for study:

  • Easy to understand the base - part of the built-in capabilities of the language for simplicity is carried out in separately connected libraries. These elements include most of the mathematical functions and methods for working with the file system;
  • Optimally fitted type system - thanks to a simple set of data types and strict typing decreases the risk of error assumptions in the process of writing the program code;
  • The focus on the procedural type of programming, in which the clear hierarchy of all elements of the code is observed;
  • Access to the memory of the machine using pointers;
  • Minimum number of supported keywords;
  • Support area of \u200b\u200bnames;
  • Support user data types ( association and structures).

Simply put, C is what the newcomer should begin before learning the programming in other languages.

Programs (compilers) for programming

For training, programming is not enough desire and availability of a computer with an Internet access. To write programs on C you will need specialized software - compiler.

The compiler is a special program that translates the program code in a form that is clear to the computer.

Here are some specialized compilers with language support C:

  • Microsoft Visual Studio is a professional tool that supports many languages, including several server. Suitable for beginners, if you take it "on the grow":
  • Borland C ++ is a free compiler that is ideal for novice learning. Unlike the previous tool, it is characterized by a clear and understandable interface. Therefore, his development will not cause special difficulties even with the independent development of programming azes:
  • Code :: Blocks - a free development environment that supports writing code in several languages. Middle Mastering Option:

As for specialized literature, we will not advise the books of certain authors. Here, as they say, choose what your heart is. Because in most cases, the selection of self-tutorial programming is an individual process. Use that source that is more suitable for you.

Yes, and on the Internet you can find a lot of information. For example, on our website specialized literature on IT the subjects dedicated to the whole.

Perhaps you for some reason suddenly wanted to become a programmer. The good news is that, solving the system, you can learn to pass interviews and survive the first months at work.

The bad news is that the programming alphabet is still not going anywhere, and to feel comfortable in a new position, you will have to pay all the way that you are supposed to and so you know how your five fingers.

Of course, the article will go exclusively about my personal experience, which allowed me to pass interviews even in such top companies as Luxoft.

How I became a programmer

I first met the computer for the first time. At the age of 13, I already had my personal website. The school studied badly, in the university too. In the second year, my friend found a Java programmer work and strongly recommended that I do the same. The idea intrigued. I needed a plan.

First step - resume

The first and the main problem with which newbies face, resume. Without an adequate, clinging resume you will not be invited to interviews. But how to be those who have no experience at all? In order to "not with empty hands" to go to HR, we enhanced me in the summary. A whole year experience work on his project, over which we supposedly worked together.

Salary policy

The next important point in the summary after demanding technologies and English was the desired salary. Thille thinking, and my friend and I decided to play large and wrote the expense of a thousand dollars in the same time, which was supposed to cut off "Nishchebrudes".

Shame and shame

The first interviews were failing. I need literally laughing. On the first technical interview, where I was given a couple of tasks on paper, I was diverted into two bills. Someone evenly advised the book Thinking in Java.

First job

In the end, I was invited to an interview to a branch of one Danish company, where I answered the fundamental questions and pleasantly surprised everyone with my English. I was taken to the position of Junior Java Developer with one condition - the first three months I will go through the SCJP course (Sun Certified Java Programmer), which would have filled my gaps and would give me a more trained specialist. What could be better than paid internships to work without need (give out its incompetence)? In this company I worked for half a year in order to go to the company more in a few months.

Based on its bitter, but still invaluable experience I will give a list of recommendations that will help comrades adventurers relatively quickly find a job by a programmer.

  1. Summary. It must be correctly formatted and written exclusively in English. If there is not enough experience, then it can be (and necessary) to come up with, but you should prepare to respond for each word written in the summary. For example, if you are written there, the JMS (Java Message Service) is written, then at least one trailer should be passed and played with JMS, make some examples, let it and there will be a banal "Hello, World!". Now it will be more convenient to let dust in the eyes, you are really "worked with JMS."
  • Learn the programming alphabet. If you can still allow yourself to "swim" at the deep levels of any complex technologies like Struts and Spring, then the wrong answers to elementary questions will never be for you. If you wake up at night, then you should be able to tell about the OOP, inheritance, encapsulation, polymorphism and other basic concepts, and also be able to explain it all on the examples.
  • Practice. You can learn how to program you, just programming. It hurts and unpleasant (if you are not a programmer), but there is no other way. The only way to stop afraid of tasks on the interviews is to make them at home yourself.
  • Read books and pass java tutorial only in English Absolutely all the terms of programming easier to understand the original language, that is, in English. Read technical literature on Java in Russian - not to respect yourself. Why? Because to understand something in the spirit "... The table module in many meanings is an intermediate version, compromise with respect to the transaction scenario and the model of the subject area," you need to be truly a genius that you are unlikely to be.
  • Learn, finally, English! First of all, it concerns spoken English. It is difficult to calculate the huge number of sensible programmers who were rejected on my memory for one reason - the unsatisfactory level of spoken English. No, if you, of course, are going to work as a programmer somewhere in the domestic company, then your level of language will not play an important role. But if you want to go to work in an international company, then God himself ordered to learn the language. Your English level will be converted to extra hundreds of dollars in the salary.
  • Know the market. Find on vacancies, read the requirements, ask friends-programmers how much they get. Use services that will allow you to make a more complete picture of the IT market. You would be surprised by learning how great the number of talented programmers who get twice as fewer than could, only because of their laziness and reluctance to keep the nose in the wind.
  • Trade. There is nothing reprehensible to bargain for salary. Your argument in the dispute can be both good English and a proposal to work in another company. The last argument works especially well: "Yes, but I offer to Luxoft to 300 dollars more, why should I agree to your conditions? Maybe we could find a compromise option? ". At one time, I managed to cut an extra hundred dollars to my salary a couple of times, and a year later, this hundred dollars gave me an additional $ 1,800 in an open place. You must understand that even for small foreign IT-companies, extra hundred bucks as a drop in the sea.
  • Find a mentor. Well, if you have a more experienced comrade, who can help the Council and answer even the most stupid questions. Thanks to his experience and moral support, you will advance in programming faster than alone. If there is no mentor, it is not bad to go to any programming courses that will not only give a more complete picture of what the programmer does, but will allow you to get acquainted with more experienced people. Who knows, maybe someone from them wants to become your mentor.
  • Start your project. Even if it is a model of the worst coding practices and you will never finish it, at least you will have a matter of which it wants to deal with programming and study new technologies. In addition, you will have an additional topic for sincere conversations on the interviews.
  • Look for work in the summer. First, when all on vacations, the companies in companies are more acute the lack of personnel and increases the likelihood that you will be called for an interview. Secondly, since your competitors are also on vacation, you again have the chances of being noticed by HR.
  • Never give up. Even if it seems that you get the interview, it is important to show resistance and continue attempts to solve the task, no matter how difficult it seems. Who knows, maybe you are at this moment being checked on zeal in work!
  • Avoid jobs on your computer. There is no way to quickly paint the unprofession, than to immediately throw it into the programming bake. Your task is to try to translate all conversations for a high level, where general approaches and concepts are discussed, but not a specific implementation in solving a task. If you were given a paper and handle and asked to write down the decision, then ask the opportunity to draw it schematically. Thus, by removing the syntax of a specific language, you will not only save yourself from any cutting eye of the errors, but also show that it is capable of thinking abstractly, without going so much in the details.
  • Start talking first. Avoid situations when a pause hangs in the air, during which a regular cunning question can mature in the brain at the interviewer. As soon as any hint occurs, start talking to something from what you know well. Try to impose my game to the interviewer.
  • Try to tell the truth. If you never wrote PL / SQL procedures, it is better to say it right. Perhaps this will be minus for you, however, you will save yourself from the need to get out, answering a question in which nothing is meaning. An experienced interviewer for the mile will feel your gaps in knowledge.
  • Fear of small companies. In small companies, as a rule, small teams. The smaller in the team of people, the faster they are lying. Your goal is a big and driving corporation, where you can win for myself a little time.
  • Observe the dress code. If you come to an interview to the position of a programmer in a chic costume, it will cause more suspicions than if you are in shorts or a sweater. It will not be superfluous to push glasses, they say, "I am a book worm".
  • Of course, someone knowing may noted that the above recipe is more likely to become a coder than a programmer, and it will be right somewhere. However, the fact is that you will never find a vacancy with the heading "Requires a bad coder." All need programmers. Preferably Senior. In which more than five years of experience in corporate projects and who are equally well dominated by several programming languages \u200b\u200bat once, while thoroughly understand the DBMS, they know how to write bash scripts, stored procedures, know perfectly with Linux, TCP / IP, have leadership qualities, stress resistance. , sociability and still weighing skills, "without which".

    Such people exist, I saw them myself. But they are too little to fully cover the needs of the ever-hungry market of IT specialists. And this means that you always have a chance, you are a adventurer.

Probably you want to know how to make money stably on the Internet from 500 rubles a day?
Download my free book
=>>

Currently, the profession of programmer is gaining increasing popularity. It happens that people who dream of becoming programmers do not even start learning, learning how it is expensive.

But there are many alternatives to dear learning. Today I will tell you how to learn to program at home and where to better start learning.

Everyone may have learned on their own. There are many ways for this. It is absolutely no matter what knowledge in the field of programming you have, you can learn from scratch, at home. By making programming your profession. I would like to mention - a highly paid and demanded profession.

The main thing is to seriously approach training, because the salary of the programmer depends entirely on his knowledge and skills.

How to learn to program from scratch at home

So, programming has the following directions:

  • Web programmer (website creation);
  • Application programmer (writing programs);
  • System programmer (creation of drivers, creating programs for working with OS).

Before you start learning, determine yourself for yourself, why do you need it, what goals you are haunting. Because programming is different. Think what you would like to do: write games; Develop sites or work with financial programs.

There is a large number of programming languages \u200b\u200band each of them is intended for a certain application. That is why programming is divided into various categories. It is very important before the start of learning to decide which area you need to master.

For programming, English is played with an important role. Therefore, learn it and constantly improve it.

Today you can easily find services that will help learn online programming. With the help of them, you can master the initial principles of working with programming languages, as well as create programs yourself.

Popular Online Programming Services

Let's talk in more detail about the most popular online programming services.

Codecademy.

The service is greatly popular, as it is free and created for those who do not understand anything in programming. After completing the registration, you can choose the course to you.

The learning process is quite simple, with simple tasks. In the process of learning, all users receive estimates for the tasks performed. Thus, it becomes clear that it turns out well, and what else you need to work.

This is the best service learning the following languages:

  • Javascript;
  • HTML;
  • jQuery;
  • Python;
  • Ruby .

Code School

This service allows you to get not only basic knowledge, but also become an expert in programming. After passing the course, you can program anything, even games about zombies. Performing tasks, you can earn various useful points.

The service contains paid and free courses. In addition, the service has courses, both for beginners and more experienced users. The course consists of step-by-step lessons, video, tasks.

Treehouse.

The service is created for those who do not want to spend their time reading. The learning process is based on video classrooms, but, training paid. You can use the seven-day trial training version. However, paying money, users more responsibly relate to learning.

After completing learning, you will have your own personal project.

This service is not limited to some definite courses. It is designed to explore all programming areas.

Udacy.

The service is intended for a group of people. If you do not want to take care alone, then this service is for you. Training holds a teacher, not a robot, as on other courses.

At the initial stage - training is free. The learning process is built in such a way that you will not be relaxed and resting you.

Sparki.

This service is created for children. Learning is simple, but the process itself is long. The application is paid - it is expensive.

Where to start learning programming

Let's try to step by step to disassemble how to start learning programming from scratch at home.

  1. Decide why you need to program;

The programming language that you will study completely depends on your desire and free time.

  1. Choose the right language;

There is no programming, and there can be no better language. If you manage to learn at least one, then with the rest it will be much easier.

It is believed that the programming has languages \u200b\u200bthat the newcomer to study is completely simple.

You can choose Python as the first language. The program code is clear to the usual user. There is a good library base, respectively, you can save a lot of time.

  • Java may also come back newcomer. This language is very popular, despite the fact that it is not so simple;
  • PHP is quite simple language. You can easily find answers to all questions on the forum;
  • But the languages \u200b\u200bof C and C # newbie will be examined.
  • Ruby language is well suited for the second language;
  • JavaScript Light language, but also benefit from it quite a bit.

How to learn to program - Start learning from the simplest, bring patience

  1. Use the application for children

Today, even small children learn programming. To do this, there are special applications that are suitable for any age.

  1. Complete online - trainings and online courses

Such trainings and courses will help you to create the first program, and will also allow you to learn the basics of programming.

  1. Read Programming Books

References will greatly help in finding answers to any questions. On the Internet there are many programming books.

  1. Play and explore

Probably, this is the easiest way to learn programming. You will not only create a program, but you will spend fun.

  1. Find a mentor or become them

Faster to master the information you can help the mentor, who will answer all your questions. You can find a mentor on a special site https://hackpladge.org/. In addition, you will be able to be in the role of a mentor.

  1. Explore other user code

Try to rewrite the finished code by studying each character. So you check it on errors. Always continue to learn by learning something new.

If, after passing a programming programming from scratch, you have any questions - write to the popular forum - CyberForum.ru. The forum has many sections in all programming languages. Specify any questions that arise and get competent, useful answers.

Programmer's profession Although difficult, but highly paid. The main thing is to make yourself read yourself, try and understand. I hope the article helped you figure out how to learn to program from scratch at home. Follow the computer and take care of your eyesight. Get your goals, no matter what.

P.S. I apply screenshots of my earnings in partner programs. And I remind you that everyone can, even newcomer! The main thing is to do it right, and therefore learn from those who already earn, that is, professionals.

Do you want to find out what mistakes make newcomers?


99% of newcomers make these mistakes and suffer fiasco in business and earnings on the Internet! Look at not to repeat these errors - "3 + 1 Newbie errors who kill the result".

Are you urgently needed money?


Download free: " Top - 5 ways to make money online". The 5 best ways to earn money on the Internet, which will be guaranteed to bring you the result from 1,000 rubles per day or more.

Here is a ready-made solution for your business!


And for those who are used to take ready-made solutions, there are "Project of ready-made solutions for starting in the Internet". Find out how to start your business on the Internet, even the most "green" newcomer, without technical knowledge, and even without an expense.

So the most pessimistic answer to the question set by a sophomore student at Quora.com sounds, and even it is based on a very inspirational thesis - "no limit to excellence."

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

A: - And this is a rather busy question, especially considering that you are marked in the programmer of the World Level, not just asking how to become a very good programmer.
What do you generally consider the world level? And how do you measure it?

Let's consider this situation: the ability to solve the incomprehensible problems of small scales does not make you a good programmer. This makes you a smart programmer, no doubt, but it still does not mean that you can solve a great problem that someone else has created.

In reality, you need to watch very widely and work with systems that already exist, and no matter how difficult they are, you need to figure them out; You have not made a single line, but you already need to deal with great difficulties or at least find them.

And the more such problems you decide whether you become. That's what I think:

1. Programming is a solution to problems. Surround yourself with problems. The bigger, the better. At first they will seem frightening, but as soon as you begin to cope with them, everything will start becoming easier.

2. Surround yourself with smart people - and not necessarily programmers.First, they will use techniques and solutions that you would never have thought about, and secondly - will force you to learn and develop. When you work alone, you can easily reach arrogant statements about what you have answers to all questions.

3. Expand the number of applicable languages: talk "C ++ or Java is the best, I will use it exclusively" enough stupid; Everyone has its subtleties that can be used in their own interests, and they own them very useful.

4. Do not relax if you have found an excellent solution to some kind of problem.Be sure: you have only one solution option from a set, so not everything is so cool. Be open to new methods and ideas.

5. Work in the team. It's like paragraph 2, only a little different: each programmer has its own unique point of view that helps to expand your own.

A: - Do you allow other people to look into your code?Try to use such services as StacckExcange: it's free, and people give a lot of useful tips on improving code there. I began to make significant progress in programming after I began to show my code to other people.

One Professor of the Massachusetts Institute of Technology said: "Work every day for two years, and will be a great programmer. Work every day for two years and learn to work with algorithms, and will become a world-class programmer."

I am paraphrazing: "Work every day for two years and use the help of colleagues to get expert estimates, and will become a world-class programmer."

A: - Hmm, I'm not sure that at some point you can say "Achievement is unlocked! Now I am the coder of the last level."

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

I think to improve help:
- Ready to learn new: I improve my program since 1996 - and still there is to improve it;
- The habit of sharing new knowledge: The ability to explain to others is useful for you yourself (by the way, not so many people know how);
- Interest in subject areas outside programming:the ability to quickly understand different things is extremely important for a programmer - who do I explain to?

A: - Write code. Many code. Working code.Create your own engine. Write a uniform true CMS (it will be the same as thousands of others, but you will find a lot of discoveries in the process). Create your own tacktreaker. And then add it to the postal client. And even let it support plugins. Are you still here? Write your own language for writing plugins and your own interpreter for him.

A: - 10: Practice
20: RTFM (Fucking) MANUAL)
30: Use the right tools
40: Read someone else's code
50: Develop Communicative Skills
60: Solve code problems
70: Practice
80: Practice
90: Goto 10

This is the main one :-)

A: - Oh, I have a favorite quoteI reread when I need inspiration. Chris Hasfield (Astronaut, who visited the Earth's orbit) answers questions on Reddit:

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

Chris's answer: Understand what your heart worries, and challenge yourself - start moving your life towards this. Each decision taken today, up to the fact that you will have and what you will do with your time today, turns you into the one you will be tomorrow and the day after tomorrow. Try to see that you want to be, and start to bother this person from the existing one. You will not get them in an hour, but you will do what you - how do you believe - suitable. Do not let life accidentally kick you in that adult you do not want to be.

And then someone made a comic from this answer:

A: - Do not let yourself be with the conclusion that you are a world-class programmer. You lose your ability to learn! What then will you be a programmer?

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

A: - Short answer: "in no way"; A long answer: "I am not sure that there is such a thing as a" world-class programmer ".

Programming is just a means of achieving a goal. I am confident that many successful projects have been created by medium or good, but not outstanding programmers, but had a great success. This is due to the fact that this success is laid not only as a code, but also in many other things, such as vision, passion and so on. So if you want to become a great encoder, you need a lot of practice and versatile development. You can sometimes eat.

A: - Three things that are known to me:

1. Do not look for some 100% successful ways to your goal. They all have different.
2. Almost all the best products are not written alone. If you are a genius, find another couple and learn to communicate with them.
3. All languages \u200b\u200bare limited (like English), but constantly develop. Do not stop both the development of your products and your own.

How to start the path? Choose a prestigious profession.

The question arises: to master the programming skills? Which programming language should be examined first?

According to experienced computerists, to become a programmer and master all the nuances of the profession, you need to constantly program. Many, long and sometimes even tedious. After all, as you know, writing the code occupies a programmer 30% of the time, the remaining 70% will go to the error search, and then eliminate them. Therefore, think about it, but is it worth it?

In general, the programmer is the writing of a variety of programs - this is an understanding of the profession in the global sense. Often it is possible to hear that programmers call almost all people working with computers, such as system administrators. This is an erroneous definition.

If you accurately and irrevocably decided that it is worth mastering programming skills, then you need to decide on the choice of educational institution. To master the professional profession, it is not necessary to edit the university, there is enough technical school. There you will receive a decent theoretical database and practical programming skills, get acquainted with the languages \u200b\u200band basic programming algorithms.

However, not everything will be trained in the technical school. Know to master the profession in perfect and become a master of your affairs, you will have to continue a lot and painstakingly learn, already yourself.

What programs are programmers

Programmers are customary to divide into two groups: system programmers and application programmers. The first programs that serve the computer and its components are written, for example, drivers of various devices. Applied programmers are supported in a working condition that created "Systems". The work of system programmers is paid higher than applied. To become a "systemist", you will need a long time and a lot of experience. However, in the vacancies market, people in this specialty are very in demand.

Among the programmers are allocated database programmers, the work and skills of which are also evaluated as worthy. Their work is associated with accounting systems and requires close attention. The possibility for creativity is minimal. You can still highlight scripting programmers, that is, they are engaged in developing scripts for programs, scripts. And there are still many different specializations from programmers. So there is a choice.

As for higher educational institutions, in many of them are preparing programmers. And you can enter the university, bypassing the technical school. The main thing is to understand the essence of the profession, and it is to be able to think wide, promising, to understand the construction of the program, and how it will function from different sides.