You can be whoever you want to be
Hello, I am honored that you can click on this article.
This article is mainly for self-study summary and planning and I want to discuss the following topics with you
-
How to become a programmer?
-
What is the learning path for programmers?
-
Recommended learning method-ten-step learning method ("Soft Skills-Survival Skills Beyond Code"-John Z. Sonmez)
If you have your own unique suggestions or more suitable methods, please leave a message or contact me (contact information is at the bottom)
How to become a programmer?
Programmer (Programmer, Computer Programmer or Coder), it can refer to professionals in a certain field of programming , or professionals engaged in software writing, program development, and maintenance. But in general, Coder refers to the coders who write codes. From wiki -> link
Some points that I think are more important (the following are in no particular order)
- Learning ability
- Ability to solve problems
- Ability to adjust mindset
- Communication skills
- Humble mentality
Several stages in the road
-
I don't know I don't know
-
Know oneself know
-
Don't know i know
-
Know I don't know
There are many types of programmers, but if you want to become a programmer, please do a thorough soul torture for yourself, know yourself and the enemy, so that you can survive a hundred battles. People lose more because they don’t work hard enough or work hard enough. It’s more confused . I don't know anything about myself, I have no idea about life, and there is nowhere to put my soul.
When you move forward without a purpose, all winds are headwinds
程序员
This word is very light, so light that you can call yourself a programmer when you are engaged in software writing, program development, maintenance, etc., this word is very heavy, and it may contain endless classes; it will never be changed. Complete projects; knowledge that will never be completed; and countless misunderstandings from the outside world;
But what about that? Programmers are not just a profession, nor a means of making a living. It is just a personal hobby. I like the kind of "finger beating, byte flickering, talking and laughing, winning thousands of miles away" coding changes the world Feel. I am just a true love of programming. Programmers are just one of my many labs
When you choose or want to become a programmer, I think you are more because of interest, not because of life's pressure. Because you have abused you in your life, and you will abuse you again. And it will just be here, Anytime, anywhere
Programmer development plan and outlook
It can be roughly divided into four types:
Development\Operation and Maintenance\Testing\Implementation
Recommended choice
Like to code -> development
Like to type commands -> operation and maintenance
Like to find questions -> test
Like to travel and deal with people -> Implementation
Strive to be a "T" type talent, with enough depth and proper breadth
Atlas analysis
Three compulsory courses can be learned step by step, Computer Basics\Computer Networks\Data Structures and Algorithms. It is recommended to study minor and repetitive studies.
The importance of these three will directly affect the depth of technology, code farmers or engineers? 60% look at this
The development is "T"-shaped learning, and you have learned the function. I believe you also have some feel. Gradually add different knowledge to reflect, compare and contrast learning. Speed up the learning efficiency, and avoid being fixed by the "development" thinking
The operation and maintenance starts with database or Linux, and then the programming language. Finally, docker and k8s are convenient for later docking with Docker and K8s.
Contrast\seeking common ground while reserving differences divergent thinking
How to self-identify and track learning results?
What is he? Origin\Idea\Architecture\Pros and Cons
How did it come? The iterations of new and old technologies are more for the older generation of technologies to introduce new ones, solve certain problems, or optimize certain directions
How to use? Installation\Configuration\When to use?
Over time, what problems may arise? Thinking from architecture\product thinking
How to solve/or appropriately avoid?
Ten-step learning method
For the first six steps of the "ten-step learning method", we need to concentrate on completing enough preliminary research to ensure that we know exactly what to learn and how to confirm that we have achieved our goals. These six steps only need to be done once for each topic to be learned. Steps 7 to 10 should be repeated for each module in the learning plan developed in step 5.
Although the first six steps only need to be done once, they are the most important because they will determine our future success or failure. In these six steps, we need to make all preparations for our actual learning topics.
Step 1: Understand the big picture
What we have to do is to understand the overall situation of the subject to be learned. What does this theme look like at a macro level?
We can learn enough knowledge to understand beyond our own cognition, and how much beyond our own cognition?
To complete this step, do some basic understanding of what you want to learn.
Keywords: Broad
Step 2: Determine the scope
When we have a general understanding of the topics we want to learn and related knowledge, we need to concentrate on clarifying what we want to learn at this time?
It is very important to clarify the specific scope. Only in this way can we understand the overall situation of the project and prepare accordingly.
Keywords: depth
Step 3: Define goals
Before starting to learn, it is extremely important to clarify the meaning of "success". If you don’t know what success is, it’s hard to find your goal, and it’s also hard to know when you have actually reached your goal. Before trying to learn anything, we should clearly understand, what can I accomplish after completion? When you know what your goal is, it is easier to use backward inference to clearly achieve the goal. Required steps.
The goal of this step is to form a concise and clear statement that outlines the picture of success after learning. A good success criterion should be specific and unambiguous. According to one or two steps, draw out 成功
the actual results you will achieve.
For example: Can use Docker to deploy projects, etc., specific !!!
Keywords: concrete
Step 4: Find resources
Try to collect a variety of resources to help us learn, in order to have a deeper understanding of this knowledge or technology
You need to find as many resources as possible related to the topic you choose, and you don’t need to consider the quality of these resources.
Information sources (in no particular order):
-
expert
-
books
-
Source code
-
Sample project
-
Blog post
-
Online video
-
Online documentation
-
… …
Keywords: find
Step 5: Create a learning plan
At this time, a corresponding learning plan needs to be created. The learning path can be compared to an outline when writing a book .
A good way to create your own learning plan is to observe how others teach us topics that interest us. You can refer to the book catalog collected in the fourth step. If more than 5 authors break down the content into the same modules and sequence, then you can follow this method to develop your own learning plan.
Keywords: Outline
Step 6: Filter resources
I already know what to learn and in what order,
Browse\screen all the resources collected in the fourth step to find out which content can cover our learning plan. You should also look at the comments and try to find the highest quality resources.
Keywords: Screening
Step 7: Start learning, just taste
In most cases, two types of relative errors are made during the process:
- The first type of mistake is to start blindly without knowing much, that is, to act too fast;
- The second type of mistake is to prepare too much before acting, that is, acting too late.
To strike a balance between the two, we must have the right knowledge to be able to start learning, but not too much to make people unable to explore. This learning effect is the best.
The goal is to get enough information related to the topic that we are learning so that we can start learning and work on it in the next step.
Keywords: rhythm
Step 8: Hands-on, learn while playing
In this step, we don't need to know all the content in advance, the first thing to do is to operate and experience for yourself. With this method, you can learn through exploration and practice.
During the operation, our brain will naturally produce various problems:
-
How does it work?
-
If I do this, what might happen?
-
How can I solve this problem?
These questions can lead us in really important directions. When we look back to find the answers to the questions, not only these questions are solved, but we remember more things than we learn.
Keywords: Thinking
The ninth step: fully grasp, apply what you have learned
Curiosity is an important part of learning, especially self-study.
The goal of this step is to let us find curiosity-driven learning. At this step, we still don’t need to look at all the collected data carefully. Only need to read or watch the knowledge related to the current study. Finally, try to associate what you are learning with your ultimate goal. Every module we master should push you toward your ultimate goal in some way.
Keywords: Comprehensive
The tenth step: happy to be a teacher, mastery
Three people, there must be my teacher
Get out of your comfort zone, teach others what you have learned, and win the church. This is the only way to make sure that you have indeed mastered some knowledge; at the same time, it is also a good way to check for deficiencies when introducing what you have learned to others.
Keywords: Learning
Wechat
: chenxi-0719-chenxi
Github
:https://github.com/Payne-Wu
Public number: 跬跬Coder
Keywords: Comprehensive
The tenth step: happy to be a teacher, mastery
Three people, there must be my teacher
Get out of your comfort zone, teach others what you have learned, and win the church. This is the only way to make sure that you have indeed mastered some knowledge; at the same time, it is also a good way to check for deficiencies when introducing what you have learned to others.
Keywords: Learning
Wechat
: chenxi-0719-chenxi
Github
:https://github.com/Payne-Wu
Public number: 跬跬Coder