Technologist teaches you how to avoid pits in self-taught programming

The correct learning method and learning path, not to mention simple programming, transformation is possible, but self-learning programming has several very big pits, and many people have taken many detours as a result:

1. If you are not a subject, please do not use university textbooks to get started easily

If you are not a computer or engineering major, or a college graduate who lives by programming, do not use domestic university textbooks to get started, or learn C/C++, Java, assembly, etc. that test human nature. These things are no longer suitable for you. It is recommended that you learn web front-end (HTML, CSS, JavaScript), use PHP to build websites, or learn Python (replace VBA to improve office efficiency, replace Excel, PowerBI for data analysis and visualization), small programs, etc. You can get started in a week , It is fun and easy to learn, it is helpful to the work, deepening can raise the salary, and it is not ruled out that you can change career

There are a lot of theory in university courses, and the content you learn will only come into play when you earn more than 20,000 yuan a month. Even after a monthly salary of 20,000 yuan, it is not recommended that you use computer tutorials written by people in China. The more prestigious schools in China, the higher the academic qualifications, the more you will use foreign textbooks. The United States had AP courses in high school before learning computer theory, but most of them in China have zero computer foundation.

If you don't study C/C++ and Java for more than half a year, it is difficult for you to develop a practical thing. Write a small snake game in C++? Stop being funny, do you think your game is practical? Develop Android in Java? Can you develop an App for half a year without basic studies? Use Java to make a website? The slightly simple JSP has been eliminated (of course, some domestic outsourcing companies are still using JSP).

If you spend half a year learning front-end, Python, and PHP, you can not only develop practical projects, but you can also take over outsourcing, find a job, and even switch careers.

Many people actually recommend people who already work or those who don’t want to work in the programming industry to learn from assembly, networking, C, etc. You may have studied in college like this, but this is only suitable for people with computer-related majors, not for others People, these recommendations of yours are too misleading.

(Computer and engineering related majors still need to learn C/C++ or Java well.)

For zero-based technology enthusiasts or students who want to change careers, it is recommended to start with the easiest direction to obtain positive feedback, such as Python, front-end, and data analysis. In addition, the tutorials used are recommended to teach you to get started quickly. This is also The reason why even computer majors will watch the training video.

2. Don't chase new things without foundation

It is not recommended that you learn easy language, VB and VBA, because these have no future, and it is not recommended that you learn Julia and Dart. If you don't have a foundation, don't chase new things;

Some directions are not practical, that is, actual development is no longer a general solution, such as JSP and Flash;

In some directions, there will be fewer and fewer people using domestically, such as VB, such as http://ASP.NET;

Some directions have no future and will hinder your progress. It is meaningless to spend a lot of time tossing, such as Yi language;

Some directions are not suitable for novices to learn, it is useless for novices to learn, even if no matter how much the batch is approved, such as compilation;

Some technologies sound promising, but they are not suitable for newbies to follow suit, such as Dart and Go. You can't learn without any basics.

3. Don't just watch videos and books without doing it

Don't buy books for weeks, don't just watch videos and just read books without doing it. You must first install the development environment to learn technology. Programming will only become easy when you do it in practice.

Many people ask, is it difficult to program? Can I learn with zero foundation? What is this knowledge used for? Why are you asking so much? Some people have collected hundreds of good articles, and it takes a lot of time, but they have not started the actual combat. Can this be learned?

Some people buy some classic computer textbooks (usually thicker), and they can eat it for a few weeks or even months. What's even more frightening is to go straight to books like Compiler Principles, Introduction to Algorithms, Computer Systems, and Network Programming. Not to mention that you won't be able to gnaw them. Even if you finish learning, you don't know what you can do! ! !

JS directly gnaws on the rhino book, which can have 1,000 pages. Many people say that programming is so difficult if they can't learn it for a long time. There is a problem with your learning method, can it be difficult to program?

PHP, Python, front-end, etc. If you can't actually develop a thing (not write a few lines of code) after studying for two days to a week, you will make a lot of detours.

4. College students must not learn programming by means of verification

College students must not learn programming by means of verification; if the school has requirements for the second-level computer rank exam, take the Office or Python, and just mix it up. Don't take any soft exams and waste your time.

Many students have a narrow field of vision. They can only accept the knowledge and concepts instilled by the school and the people around them, and they can only understand the limited evaluation system. They think that they can be considered excellent after taking these computer grade exams and soft exams. Learn programming This knowledge is often the goal. These are completely understandable, because I also took the exam in college.

In fact, to evaluate whether a student is really good in computer science, one is your deep understanding of technical knowledge. At this point, you can write as many technical articles as writing a paper to cultivate your own research and exploration spirit; the other is your knowledge of the project. The project is a very important basis for the ability you can prove to yourself and others. For a beginner, there is a lot of knowledge about how to export your own things, and I will sort it out later.

There is a big difference between the school’s evaluation system for outstanding students and the company’s evaluation system for outstanding employees. You also have a set of standards in your mind for your personal pursuit of learning skills. There is a big difference between the three. However, many people who want to learn skills with zero foundation are required to learn according to school standards and methods. How can they learn well?

(Of course, some technical certificates can be tested, such as network engineer CCNP, operation and maintenance engineer RHCE, RHCA, PMP, these industries are more recognized, and the soft test is fine.)

5. Learning programming should focus on project development

Learning programming should focus on project development. Don’t learn from the East and learn from the West. You will not master anything by then. Don't look at people saying that Python is good, just learn Python, learn C and Java later, and say that you have mastered these languages ​​when recruiting. You have to know that you have not developed a website, a webpage, an app, a practical thing, or a project. No matter how much you learn, it is equal to a semi-finished product, and it is not learned.

Studying in a project-oriented way is not only in line with the way programmers learn technology, but also makes you want to learn technology. Learning technology is something that can give you a sense of accomplishment. If you learn programming for a week and get frustrated and there is no effect, it can only show that your learning style is wrong.

The idea of ​​programming education in China is very problematic. Programming is originally a skill. The so-called skill is like cooking or riding a bicycle. You can practice it after you learn it. However, domestic programming education requires you to become a tasteful chef, instilling knowledge of cuisines, and telling you the principles of color, fragrance, taste, shape, utensils, meaning, and nutrition. It just prevents you from cooking. Many senior chefs will tell you this truth is too important. Chefs don’t understand these chefs who count as p, but what you obviously want to learn is cooking. Some people have said that you only learn to cook. What is the difference between following up in technical schools? ? It's too low. But you are obviously not qualified and do not want to be a chef...

6. Choose artificial intelligence big data carefully with zero programming foundation

Many people with zero programming experience want to learn artificial intelligence, big data and other promising directions when they come up, and they want to find a good job after half a year of training. These are no longer practical. (Except for those who work hard, have a background in science and engineering, love mathematics, like programming, and can persist in studying for more than one year. There are too many examples abroad).

Many training courses preach the myths of job hunting in these fields without restrictions or preconditions, which is fraud and seriously misleads children. These directions are not even recommended for general schools or even some 985 computer majors to study. (Those with perseverance, determination, and perseverance are fine even if they are in their 30s to persuade them to leave, but you are challenging human nature, and few people can do it).

If you want to transform IT and become a career expert in the Internet direction, there are actually many directions. For example, if you have a pursuit of design, even if you don’t have a talent for drawing, you can still learn UI and UX; if you have a sense of Internet products Interests, strong communication skills, product managers are more suitable for you; if you think you like to research data, data analysis has a lot of jobs waiting for you; there are a lot of front-end, back-end, mobile, testing, operation and maintenance, etc. A promising job with a high salary.

The Internet (including EE, CS) related positions are very rich. Programming will not only make you a programmer, but there are many opportunities. There is no need to bite the bullet and become an algorithm engineer, artificial intelligence engineer, big data engineer, etc. You are no longer qualified to enter the direction.

If you want to get started quickly, it is recommended to find someone to guide you. It is much better than buying a book, going through the video by yourself, and exploring it yourself.

Many computer majors will go to training courses before going out to find a job, or they will watch videos and articles on the Internet when they study. A lot of knowledge is also self-study. This is because ordinary schools will teach you knowledge, while training courses and online The resources will teach you skills.

If you are a computer-related major, systematic and low-level knowledge is very necessary, it will determine your height in the workplace. If you find it difficult to learn professional courses, you can also take some time to start with what I said about Python, PHP and JavaScript, and then combine professional knowledge.

Software testing is the easiest subject in IT-related industries to get started~ It does not require the logical thinking of developers, and operations and maintenance personnel are not required to be on call 24 hours a day. What is needed is a careful attitude and a broad understanding of IT-related knowledge. The growth path of each tester from entering the industry to becoming a professional expert can be divided into three stages: software testing, automated testing, and test development engineers.

If you don't want to experience the feeling that you can't find the information during self-study, no one answers your questions, and insists on giving up for a few days, you can join our software testing exchange group 313782132, which contains various software testing materials and technical exchanges.

Guess you like

Origin blog.csdn.net/weixin_50271247/article/details/109362689