5 obstacles that must be overcome by the beginner's entry-level program.

Source: Internet
Author: User

5 obstacles that must be overcome by the beginner's entry-level program.

As an indispensable role in the Internet industry, programmers with high salaries and good employment have become two representative labels.

Many people have the idea of migrating data to or from the Internet as programmers. However, it is not easy to become a qualified Program. As a beginner, there are five obstacles that must be overcome first. Here I will explain how to overcome it.

I. I don't know which language to choose

Many people will ask: "What programming language should I learn first ?" This is because you understand the details of program division, but it also shows that Cognition only stays on this layer.

If you already have a set goal or a project you want to complete, you can make a choice based on this.

1. If you want to build an iOS app, you need to learn Objective C or Swift.

2. If you want to build an Android app, you need to learn Java.

3. If you want to build a Web app, you need to learn JavaScript.

In fact, we can use JavaScript to create any types of projects-Simple web and mobile apps, and advanced hardware projects. Most Industries have such features as music, medical care, games, fashion, etc.

The probability of language elimination is extremely low and the market demand is wide. If you want to be secure, I suggest you learn this language.

2. I do not know how to apply what I have learned

After you select a proper direction, it is always easy to learn the theory at the beginning, and there are many free and paid online courses on the Internet.

Many people can quickly master the theoretical knowledge, and even be able to explain the working principle of a code snippet on their own. However, once the theory is applied to solve the problem and write new code, it will be unable to cope with it.

The reason for this is simple: skill gaps.

For example, swimming. You can read a lot of technical articles and then explain them as a professional coach. However, to actually apply these theories, you need a lot of practices, struggles, and errors-you will surely swallow a lot of water!

Therefore, we need to combine theory with a large number of exercises. The specific steps are as follows:

1. Select a complex project. It is recommended that this project arouse your interest.

2. Divide the task into small and independent tasks. For example, "Implementing the logon page" is a huge task. However, you can break it down into multiple small tasks. For a small task, we can make another subdivision: there should be no more than 20 lines of code. Too many theoretical concepts are not used at a time. Focus on one task at a time, rather than solving multiple tasks in parallel. Do not skip to the next task unless you have thoroughly tested the current task and are sure it is correct.

3. Learn all the necessary theoretical knowledge before starting the task. Sometimes, you may not know what theory to learn. This is normal, so you need to seek help from others: programmers, friends, mentors, or platforms similar to Dev Store.

4. You have solved the task and gained experience.

3. Do not know how to learn

It feels good to complete the task successfully, but if you start the next task directly after you finish the task, you waste an excellent opportunity to learn and grow.

After the task is completed, it is best to make a summary. For example, ask yourself the following questions:

1. What boundary conditions will cause my code to fail? Even if it has not yet failed, what application states may destroy the code?

2. Is my code neat enough? Is the code easy to understand and change for other developers or even themselves? It may be necessary to fix problems hidden in this code in the future, or change the code according to other product specifications.

3. Is my approach the best? Are there other options I can choose to use? What are the advantages and disadvantages of each solution? Is this task worth solving in different ways?

4. How does this module interact with other modules? Will it negatively affect other modules? Is it easy to be affected by other modules?

4. Do not know the difficulties

There are two difficulties. First, you don't know how to solve it.

You don't know where to start? You may try it randomly, or copy some code that you don't understand from other places. However, this is not helpful. It is useless even if the code you copied is valid. Because when you encounter similar tasks again in the future, you still cannot solve them.

If you want to properly solve the task, you must first know why you are stuck. The following are some possible reasons:

1. Do not have a good grasp of these theoretical knowledge:

Language syntax.

Library or API working principle, the working principle of a specific method or class.

Programming Paradigm (for example, asynchronous programming ).

System operation (for example, HTTP requests are the key to understanding Web development ).

If this is the case, you can review the theoretical knowledge. If you are still confused, you can also seek help.

2. if the task is too large, it is divided into small tasks.

3. It may also be because you have read too fast and ignored some seemingly non-existent concepts that you think are familiar with, so you cannot understand the task requirements.

Second, you know how to solve the problem, but the solution is invalid.

This is the most common scenario in programming, even for experienced senior programmers. The biggest reason why your solution does not work is the bug in your code.

How to fix it? The method is to debug the code. This is also one of the most important skills a programmer needs to learn. This is not something that can be done casually, or a lucky guess game. There are specific steps to find bugs. In addition, many books teach this skill.

Unfortunately, this is a difficult issue for many novice programmers to give up without motivation. Very few courses explain the importance of debugging. If you do not know how to debug correctly, it cannot overcome the insurmountable difficulties.

Many people worry that they will spend too much time debugging code. This is normal, and it is inevitable in your first year's programming plan.

Even you have to learn how to enjoy debugging. We may consider this as an opportunity to improve programming capabilities by fixing errors. When you solve a bug, you can ask yourself this question: "Why did I make this mistake? How can I prevent further attacks in the future ?"

Another good idea is to write the bugs you have found into a programming diary for you to sum up and learn.

5. Do not know how to use resources

When you are learning code or debugging code, you can consult a lot of materials: books, courses, tutorials, mentors, developer communities, etc.

The most common problem when you are learning these resources is that you do not fully understand what is happening behind the scenes or how the concept is integrated into a larger blueprint.

For example, if you spend 10 hours on a problem and someone finally provides a solution, you will always use it when you are happy. The disadvantages of doing so are not small. I suggest you:

1. Think about your previous thinking process. Ask yourself what you have done wrong and what are the points worth learning and improving for this specific solution.

2. Ask others' thinking processes. How does she/he solve the problem? Learn from each other and learn from experience.

If you are careful enough, you may find that these five obstacles are cyclical, including the entire process from getting started to improving as a programmer. As a programmer preparing for getting started or just getting started, you may not be familiar with many of these points. However, having a prior understanding is very helpful for you to avoid detours in your future learning and growth.

Related Articles:

Are you a low-paying programmer?

Big Data tells you how programmers increase their salaries

Programmer: 8 development skills help you increase your salary to the next level


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.