📜 ⬆️ ⬇️

How self-taught programmers get jobs in reality

Question from Quora :


How do self-taught programmers get jobs in reality?

I am 17 years old and I have been programming since I was 14. The main focus on Java, I got 5 points on the subject of AP Computer Science. I am pretty good at Java (syntax, main classes, GUI / JFrame, etc.) and am quite familiar with HTML5 and CSS3. It seems that I lack a lot of knowledge to really claim to work in the industry (for example, how the DBMS works and which of them should be used), and I’m wondering how other programmers learn such things. I plan to go to college with a degree in software engineering, but the thought begins to upset me that college is a prerequisite for getting a job. Are there any courses that I missed, although I had to study them, or something else that I did not do?

My answer:


I think you're looking at things wrong. You think you have to take courses so that someone else will give answers and teach you. From a fundamental point of view, self-taught programmers act differently.
')
The self-taught programmer has a lot in common with those who independently learned to play the guitar. I don’t know if you ever played the guitar, so I’ll explain how learning happens.

First of all, it all starts with someone seeing the other person playing the guitar. Most of those who are already playing, at some point, wanted to be like someone else. After that, he makes a decision: “I can also learn!”, Goes to a local musical instrument shop and buys a second-hand guitar (because it is cheaper, but it's still cool).

Then one of two things happens. Or a person finds a tutorial on playing a guitar in some form, OR he goes to YouTube and starts trying to play his favorite songs. As a rule, the second option is more effective.

Now that the young guitarist is motivated to play a specific song, he will watch videos, print out tabs, chords, and so on — he will sit and try to recreate the song himself, guided by videos and available tabs.

After many hours of practice, selection of chords, solo, rhythm and other things, he will be able to play his version of the song. It will not be exactly the same, but close enough to the original for rock and roll.

Then he will choose another song that he likes, and another one. Gradually, the beginner guitarist will master the patterns, techniques and everything else, without even realizing what it is. He simply finds a way to do the necessary thing without learning the names and theories.

In the end, playing the guitar will become “natural”, and learning a new song will be a normal and painless affair. The “tongue” of the guitar for him will become something natural, like human speech.

All this takes place over thousands of hours of practice. Even if you practice several hours a day, the process takes years.

So what does this have to do with self-taught programmers?

Well, what really makes a programmer out of self-taught is that he creates different things. And a lot of things. To become a great programmer with sought-after skills, you have to create things and write code.

Attending classes and studying the theory is good, but many professors are not able to write even the simplest program. They can not make you a useful application that someone wants to use.

It’s not that they don’t know their subject, but the main thing in teaching is to research the subject and understand the theory, not to write code and benefit the client.

Feel the difference?

The best programmers I have ever worked with have become like this because they wrote real code. Almost constantly.

For example, today every web developer (and his brother) use WordPress. Long before WordPress, I wrote for myself 3 or 5 different content management systems in PHP and MySQL. I was making games. I wrote mobile applications. Frameworks SAAS applications.

Nobody paid me for it. I did all this for pleasure or for learning, or out of curiosity.

For many years I have not attended any courses and do not think that they would significantly advance my career. But if I sat down and decided to create my own programming language or operating system from scratch, I would surely learn a lot of useful things along the way.

Yes, I could attend courses in these subjects. But you can learn much more if you create things yourself, make mistakes and truly “feel” all this, and not learn from a book or a lecture.

So I can give advice, with the help of which you will get a huge advantage over those who barely do this ...

Solve a problem you can solve. Create programs that do such cool things that you yourself or others would like to see in the program. Write the code every day. In the evenings, on weekends, every day. Even if only 15 minutes, normal.

In the end, you get something working and pretty decent.

Then start again. Do something else. Keep writing and writing, and writing, and writing. Put thousands of hours into your skill, challenging yourself to create new projects.

As you write code, save your work to a small portfolio on your site. Every time after the completion of the project, report it to Hacker News or Reddit, or somewhere else. In the blog.

You are 17 ... By the age of 20 you can easily invest more than 2000 hours in the development of your skill, there will be 10-20 projects in the portfolio and you will learn many lessons that students in the courses will never learn.

More importantly, you can clearly demonstrate your ability to write code, solve problems, and release something working in this world. This is a great value. Exactly what companies are looking for.

As soon as you find a job, continue to program in your free time and promote your projects. You will grow faster than your peers, because they come home and watch TV, do not learn, do not grow and create NOTHING. They get paid and go home.

The more you create, the more knowledge you have. The more knowledge, the higher your value. The higher the value, the easier it is to find a job, the higher the salary, and so on.

So get out of the shell and create something. Write the code!

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


All Articles