5 obstacles you must overcome to get started with a beginner program

Source: Internet
Author: User

Programmers as the current Internet industry is an indispensable role, high pay, good employment has become a representative of the two labels.

Many people have the idea of working as programmers or changing careers. But it's not easy to be a qualified program, and as a beginner you want to get started, there are 5 hurdles that must be overcome first. Here the author one by one for everyone and explain how to overcome.


I don't know which language to choose.

Many people ask, "What programming language should I learn first?" It is natural because you understand the fine-grained nature of the procedure, but it also means that cognition stays on this level.

If you have an established goal in mind or a project you want to complete, then you can make a choice.

1. If you want to build an iOS app, then you need to learn objective C or swift.

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

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

In fact, we can now use JavaScript to create any type of project-whether it's a simple web and mobile app or an advanced hardware project. It's in most industries: music, medicine, games, fashion, and so on.

The probability of such a language being eliminated is extremely low and the market is widely needed. If you are in the pursuit of sound, then I suggest you study this language.

Two. Do not know how to apply

After choosing a good direction, it's always easy to start learning theories, and there are plenty of free and paid online courses on the web.

Many people are able to master theoretical knowledge more quickly, and can even do their own to explain how a code fragment works. However, once the theory is applied to solve the problem and write new code, it will not be able to cope.

The reason for this situation is simple: skill gaps.

Swimming, for example. You can read a lot of technical articles and then explain them like a professional trainer. But the practical application of these theories requires a great deal of practice, struggle and error-you will surely swallow a lot of water!

So we need to combine the theory with a lot of practice, the concrete method steps are as follows:

1. Select a complex project. The best thing to do is to arouse your interest in the project.

2. divide the task into small, independent tasks. For example, "Implementing a login Page" is a big task. But you can break it down into multiple small tasks. And for a small task we can make a subdivision again: no more than 20 lines of code. Do not use too many theoretical concepts at once. Focus on one task at a time, rather than solving multitasking in parallel. Do not jump to the next task unless you have thoroughly tested the current task and are confident that there is no problem.

3. know all the necessary theoretical knowledge before starting the task. Sometimes, you may not know what theories you need to learn, which is normal, so you need to ask someone for help: A programmer friend, mentor, or a platform similar to the dev store.

4. You have solved the task and gained the experience value.

Three. Don't know the lesson

It's a good feeling to get the job done, but if you get the job done and go straight to the next task, you're wasting a great opportunity to learn and grow.

After completing the task, it is best to do a complete summary. For example, ask yourself the following questions:

1. What are the boundary conditions that will cause my code to fail? Even if you haven't failed yet, what application states might break the code?

2. is my code neat and tidy? Is it easy for other developers, even themselves, to understand and change the code? Because you might need to fix the problem hidden in this code later, or change the code based on other product specifications.

3. is my approach the best? Is there any other option that I can choose to use? The pros and cons of each scheme? Is this task worth solving in a different way?

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

Four, do not know the difficulty of breach

There are two kinds of difficulties here. The first kind, you don't know how to solve.

You don't know where to start? You might try it randomly, or copy some code from somewhere else that you don't understand. However, this is not helpful. Even the code you copy is useless. Because when you meet a similar task again in the future, you still can't solve it.

If you want to solve the task properly, first you need to know why you are stuck. Here are some possible causes:

1. These theoretical knowledge is not well mastered:

Language grammar.

How a library or API works, how a particular method or class works.

Programming paradigm (for example, asynchronous programming).

System operations (for example: HTTP requests are key to understanding web development).

If this is the case, then you can review the theoretical knowledge, if still can not touch the mind, but also to find someone to ask for help.

2. The task is too large, it is broken down into a small task.

3. It may also be because you read too quickly, ignoring some of the concepts that you think are familiar, so you can't understand the task requirements.

The second type, you know how to fix it, but the workaround is invalid.

This is the most common scenario in programming, even for experienced programmers. The most likely reason your solution doesn't work is that there is a bug in your code.

How to fix? Method is to debug the code. This is one of the most important skills that a programmer needs to learn. It's not something you can do casually, or a lucky guess game. There are specific steps to finding a bug. And there are many books that teach this skill.

Unfortunately, this is a challenge that many novice programmers lose power to choose to give up. Few courses will explain the importance of debugging. If you do not know how to debug correctly, then it is invincible can not overcome the difficulties.

Many people worry that they will spend too much time debugging code. This is normal, which is unavoidable in your first year of programming planning.

Even, you have to learn to like debugging. Think of this as an opportunity to fix bugs and improve your programming skills. When you solve a bug, ask yourself this question: "Why do I make such a mistake? How can I prevent recidivism?"

Another good idea is to write the bugs you find in a programming diary to help you summarize and learn.

Five, do not know how to use resources

When you are learning code, or debugging code, you can ask a lot of materials: books, courses, tutorials, mentors, developer communities, and so on.

The most common problem with learning these resources is that you don't fully understand what's going on behind the scenes and how the concept fits into a larger blueprint.

A simple analogy: you spend 10 hours on a problem and finally someone offers a solution, and you tend to use it when you're happy and don't think too much about it. The disadvantages of doing this are not small, I suggest you after solving the problem:

1. think about the process of thinking before you. Ask yourself what you've done wrong and what's worth your previous ideas and improvements for this particular solution.

2. Ask about other people's thinking processes. How did she/he solve it? Learn from each other and experience.

If you are careful enough, you may find that these five obstacles loop through, including the entire process as a programmer from the beginning to the Ascension. As a starter or just getting started programmer, there may be many points in which you haven't touched. But having prior knowledge of the past is very helpful for you to avoid detours in your later learning and growth.

You might like: 11 words that programmers should know

5 obstacles you must overcome to get started with a beginner program

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.