Programmer's path-Methods for Learning Technology

Source: Internet
Author: User

I believe that as a programmer with a pursuit, you must have your own learning method. reading a book is one of them.

For example, books do not leave, take a bus, take a long-distance bus, and bed before going to bed, or even encounter a red light or a traffic jam, you will pick up the books around you and read one or two sentences.

Today I want to talk about my views on learning.

 

Some viewers will ask after reading the guide, what level of ape is the landlord, and dare to share their learning methods?

Before getting started, I think it is necessary for me to answer this question.

1. I haven't updated my blog for a long time. I have no confidence in updating my blog, because in the ocean of technology, I always feel that the harder I work, the more I learn, the less I feel.

However, some people around me have always encouraged me to give me confidence and tell me that I have done a good job. I am very touched.

So I don't think I should be stingy with my own method, because the method is not precious, what is precious is action, and insist on action.

2. Recently there have been many boring and unnutritious topics in the garden. I think it is invisible to many children's shoes.

I will say that xx technology is not as promising as XX technology, that is to say, it is better to advise you to switch.

I will be talking about the gap between that and that in the workplace, or that there is no future for doing technology.

This information is an invisible motive force for us to move forward, and I hope there will be a force to compete with this resentment.

What I want to say is that we are men, not women, and we need to exert our strength, not complain.

3. I don't think it really means much. Some people may misunderstand it or keep their objections.

However, someone encouraged me. He said that it may be helpful for someone to read your article.

Some people tell me that you are already excellent. Even if you are a good person, some people may say that you are not good enough to let others talk about it.

 

Select direction

Select a direction, select a career that suits you, and make career plans. I put it in the first article, because it is very important, basic, and direction indicator.

It is also the first step for me to start learning. Before I start to buy the best books, watch the videos of the best teachers, and select the best teaching materials, I will do one thing.

That was the time when I graduated. I was thinking about what I learned in college? What should I do? With this confusion, I posted my resume in all walks of life.

While waiting for an interview notification, I looked for the answer and understood everything,

Learn about enterprise management, corporate culture, how to behave, how to do things, how to sell a product, what is economic, and how to chase girls.

I once wondered if I could be a master photographer, a successful businessman, or a singer in the entertainment industry.

Finally, I chose my current career only because I had never said anything before. -- "I want to be a Senior Programmer"

Do you want to talk about it, so I did it. When I became a common programmer, one of my friends added the architect tag to my QQ.

I think this label is very suitable, so it has been put for a long time and its purpose is very obvious.

Some things have their own arrangements. If you are such a person, you will go to this step, whether intentionally or unintentionally, no matter how many detours you take, you will eventually go to this step.

Therefore, some people say that there is no future for technology. It is better to do management and sales. I have never believed in such P words.

Or I will say, "You did not say it earlier. You won't say P is useful until I select a career and select a hero ".

Therefore, when you choose a direction, your anti-interference capability will increase the multiples of n, and your mind will not wander around in this world.

 

Select Industry

It is also a choice. selection is a very important link. Once this problem is solved, it will be much easier to learn later.

The programmer profession is special, because the software application field is very extensive.

Therefore, the software industry is divided into embedded engineers, software designers (Senior programmers), System Architects, system analysts, project management planners, network planners, and database administrators by titles...

Divided by fields, engaged in education, engaged in scientific research, engaged in enterprise applications, engaged in Internet, engaged in electronic circuits, and industrial numerical control.

The Knowledge Structures and technologies required in these fields are a little different. If you select the fields, do not change them easily.

In this way, you will lose a lot of trouble and choose to make a decision.

The so-called choice is more important than hard work. It does not mean that if you choose education, but find that people are engaged in the Internet, you will feel that you have to re-choose the wrong choice.

Instead, it would be a waste of effort to make a new choice.

For example, we have been engaged in ERP development. After several years of development, we have found that it is not CRUD, not a head-on, or online games. Then, some directX players don't understand it, and 3D graphics are not refined, it will design the ERP process, but it will not design the RPG plot. PHP, JSP, ASP, and other WEB development technologies need to be abandoned. A lot of previous efforts were in vain.

It seems that some sales are selling medicines. His customers are not drug stores or dealers. Suddenly I went to sell cars, and the sales skills and ideas were the same, but the previous hard work of building people lost.

So some people used to talk to me about the same programming language and there would be a different kind of communication. I asked you who told you that he said what the teacher said, and I didn't argue that I laughed.

 

System learning

If you have already made a good choice, congratulations, you will be able to tell what is important to you, your attention will be concentrated on a point, and then burst out.

Before the outbreak, we also need to strengthen some comprehensive knowledge structures and do not search for any information on the Internet. This is too unsystematic and will produce a fear over time.

The fear of the new thing is because you have no idea where it came from. When it comes up, you will feel that you have never touched on another new term.

Let me tell you a story first. In the past, there was a great god in the group. The Great God was worshipped by many small dishes until one day, the great god realized that, to a group of small dishes, "I only know how important an algorithm is. A program is nothing more than an algorithm. ", Then various algorithm terms are thrown out, so a group of people follow the learning algorithm.

Can you see some problems?

Program (process-oriented) = Data Structure + algorithm; Program (object-oriented) = Object + message;

What I express is that in this garden, some people will say that algorithms are very important, and some people will refute the fact that algorithms in. Net are not very important. Are they really important? This problem will cause many birds to struggle.

Maybe every day someone comes up with a term that you have never seen before. If you don't have a broad and systematic understanding of computer software, it is easy to get lost in the ocean of technology.

The university course gives you a systematic understanding of computers.

Note that some people say they cannot learn things in college, but there are several possibilities:

1. I did not learn my own problems. Of course I could not learn anything. (I know every day that the loser and the girl have no goals in life)

2. school problems, poor teachers, poor teaching materials, and poor atmosphere. (If the teacher eats mixed meals, the teaching materials cannot be received, and the C ++ syntax has not been taught, who will learn it directly when the MFC comes, or simply the Peking University qingniao teaching material should be used as a university teaching material)

3. I cannot learn it. I cannot learn too much and it is helpful for my work. (In fact, this famous university is highly skilled. Due to its solid foundation and understanding of the principles, it is easier to learn Java later than the average person and faster than the average person, but the school really didn't teach Java)

To sum up, you can collect the courses of a better school. Understanding the principles will no longer fear new technologies.

Here we recommend some outlines: C/C ++ syntax (many famous books are described in this language in the future, such as network programming and design patterns ), C #/java ), WEB Development (js, html, asp/php/jsp select one to learn about Web development principles and CGI ), database and database principles (maybe one day you will be exposed to distributed transactions, clusters, and locks that you often encounter in other fields. oracle is not recommended for learning principles ), embedded System Development (compiled into the System Architect's outline, it's okay to understand the concept), software engineering (involving some design-oriented methodology, process-oriented, project management), computer networks (layer-5 protocol, for details, these principles will be used in the future for WCF and socket)

 

Refined and deepened

After the above three steps, we usually stick to talent, goal, idea, planning, and higher education.

If you understand the principles, it is not difficult to study in depth in any aspect, but there are still ways to study in depth.

Overall improvement levelFor example, if you want to study the database in depth, don't try to study the database at once, unless you only work on the database.

With the first few steps to pave the way, you will naturally learn deeply according to the Law of Attraction. For example, if a Report SQL statement has been queried for three minutes, you must tune it. You will start to optimize it based on various principles, such as table design, index type, and foreign key, constraints: returned result sets, relational models and non-relational models, conditions, function indexes, partitions, execution plans, and tracking. After efforts, the report query speed is finally acceptable, but in this process, you are not only using databases.

Some people also consider network transmission. Some people say that the writing and storage process reduces the network transmission overhead. What is the saying? According to the actual situation, the network environment calculates the network transmission cost based on the bandwidth, the internal LAN, or the Internet, how many broadcast storms will occur in the LAN, and consider concurrency. You can operate the Database Multiple times if possible. Some people also like to write business logic in the stored procedure and do everything at the business logic layer. As a result, there is no business logic in the program, no business objects, and the reusability is very low. Then, the stored procedure in the database sets the stored procedure and then sets the function. The idea is very good. Unfortunately, the relational database is used instead of the object-oriented database, which is a bit too much.

In order to reduce the overhead of the database I/O, the server cache is also used. The depth of the cache and database memory is the memory, and finally the operating system.

I learned how to use it, read the book, and share it with me.After reading the book, I wrote a Demo, thought about the Application Scenario, applied it to practice, and finally communicated with my friends or shared it with my blog. In this way, I learned that both language organization and communication skills can be exercised and maintained.

 

End

We will discuss about learning here.

After a while, I plan to write something more and use something.

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.