Home > Article > Backend Development > javascript - Is it necessary to go to a company to practice your skills when learning programming? Does self-taught programming have a great impact?
I am interested in programming in my own life
I have been teaching myself PHP and front-end programming in my spare time for about more than a year.
I have developed some projects myself and took over a corporate external project. Compared with the overall projects of large companies, it may not be enough,
Do you have to go to a big company to practice your skills if you want to learn programming as a hobby? There is a big difference between self-study and the company’s programming standards
This question has been closed, reason: Non-technical discussion question
I am interested in programming in my own life
I have been teaching myself PHP and front-end programming in my spare time for about more than a year.
I have developed some projects myself and took over a corporate external project. Compared with the overall projects of large companies, it may not be enough,
Do you have to go to a big company to practice your skills if you want to learn programming as a hobby? There is a big difference between self-study and the company’s programming standards
The development itself is no different, but the pressure is different so the final results vary from person to person. If you are very self-disciplined, it doesn't matter whether you go to the company or not. However, most people are usually lazy and are complacent when they think they have achieved the core. This creates a huge gap between learning and actual combat. For example
<code>//学习时可能这样写 if ($_POST['user_id']) { //do something } //实战必须 if (! empty($_POST['user_id'])) { // do something }</code>
It is the details, not the core, that determine the success or failure of a project. I once met a programmer who worked on a website for half a year. Almost all the functions were implemented, but the website could not be launched online. The reason was various problems, such as user name uniqueness check, fields cannot be empty, and the use of undefined variables. , undefined in js and so on. The final result was that the product was opened, the entire site was redone, and it was completed in 2 months.
So, there is no problem in self-study, and it is not a problem if programming does not meet the standards of large companies, but it is a problem if you have no awareness of standard development. Many details can strengthen your awareness of norms, such as indentation, line breaks, spaces, naming, and capitalization. These are all common problems for self-taught people. Anyway, when I saw the following code during the interview, I basically stopped thinking about its technical level
<code>$a = $b +$c; $e= $a*5; </code>
First find your personal goals. Is programming as a career to make money, or is it a hobby to solve some practical work and life problems?
If it is a career: then the goal can be refined into a technical expert or a technical management direction
If it is a hobby: can the goal be refined into extra income or starting a business?
Each goal has different specialization technical points, so the goal is very important. Talking about the results without the goal is also a rogue!
If you want to exercise, you should go to a small company, so that you will be exposed to a wider range of technologies.
If you are purely interested, you don’t need to go to a big company. You can improve your abilities by participating in more open source projects. Knowing the latest technology in the world will not bring you any less improvement than that of a big company. It is incorrect to work behind closed doors, so The key is to communicate more.
If you want to make a living, earning experience in actual projects is the best of both worlds. There are exchanges between colleagues in the company, and regular training. In addition, working in the company will be stressful, which in turn forces you to progress and improve. But the projects the company does may not necessarily be of interest to you.
Some personal opinions above.
There will definitely be differences. After all, company programming is a collaboration between multiple people. There are many things that business programming cannot experience.
Programming focuses on practice, but going to a company for an internship has many advantages over self-study. In big companies, there are masters as your mentors. If someone guides you to learn, your efficiency will be much improved compared to self-study. Logically speaking, in small companies, there are usually great masters who were poached from large companies (ps: don’t blame me if I’m wrong), but in a small company, you will learn more and broader things, and there is a chance that you can start again. Start learning project.
It feels better to go to a company. Although there are many restrictions in a company, the whole atmosphere is different. I have always felt that communication is very important when it comes to learning, and the company brings you to work in a communication environment.
Project experience necessary
The main thing is that the techniques you learn can be used. Practicing is useless. Only by using them can you know where the problems are and how to solve them. It doesn't really matter whether you are in the company or not.
Practice brings true knowledge. In the process of self-study, you usually learn whatever you want to learn. But in actual practice, it is different. You must solve it if there are any needs. Take the e-mall as an example. If it is self-study, make a demo and do When it comes to payment, you may feel that it is almost done, but there are many actual problems. If you have not experienced it in practice, you will have no idea at all. For example, when generating an order number, you can generate a non-repeating random number when writing a demo. However, in the actual combat process, there will be high concurrency to consider. If 10,000 people place orders at the same time, can your system guarantee that the generated number can be used? Order number and save it, what if one million people. . . . When you first learned it, you would never have thought that just to generate the order number, Youbao Youdong would have to use an independent system to generate it.
To give an example from a student’s perspective, I think it is the difference between ordinary homework and graduation thesis.