Ten things not taught by the University about programming

Source: Internet
Author: User

I still remember that when I completed my studies, I was confident that I was ready to enter any software company and start to become a top-level developer. Obviously, not long after I started my work, I realized that there are still many things I don't know.

While constantly learning from experience, I have been trying to learn the basic knowledge that I have never learned, but it is what I should know as a good developer. The following are ten things I want to learn at school.

1. We are always wrong.

Developers are quite self-conscious and include some other non-technical defects, which is precisely why we are hard to find out what we have done wrong. I have seen a lot of endless design discussions, and developers are constantly posting their own ideas ...... Haha! Guess how ...... We are all wrong. The only difference is that we make different mistakes.

It is very important to understand and accept this fact. Only by doing so can we open our minds to listen to others' opinions and use their ideas to come up with a better solution.

2. If something goes wrong, it will definitely go wrong.

That is to say, "Hope Driven Development", if you are not sure about some things, if you find yourself using the word "should", you will be in trouble.

There is only one solution, and we do our best to ensure that it will not go wrong. This may mean that you need to write a test, debug, and verify the requirement ......

3. AllCodeAll rotten

After I complained about the code I had met for ten years, I came to an incisive conclusion that all the code (including my own code) was corrupted. Of course, there are still levels of bad code, but even the best code I have ever written is hard to understand.

This does not mean that it is meaningless to write your code better. On the contrary, it is best to be different from the worst code.

4. errors (bugs) always exist

Always exist! The problem lies only in finding it difficult.

5. Maximum customers

Many customers do not care about the technologies and applications used in the solution.ProgramYou don't need to do more ...... Or, in other words, do you use a good practical solution.

It is also because I can imagine how many negative comments I will receive if I only talk about the previous paragraph, so that I can make it clearer ...... What I want to say is that we should never forget the customer's position. Sometimes, developers insist on using (some) technology in the project for the best practice, but remember, if these technologies cannot bring value to customers, give up!

6. It is impossible to talk on paper.

I once thought that I could put my entire design on paper in the early stage, and then just fill in the missing areas, but this would not work at all.

Software development is complex. If you don't touch it, it's hard to see all the practical aspects and their relationships. Therefore, it is useful to maintain planning and design in the early stage, but do not stick to the design chart as a contract.

7. Less is more

Or, you may know better: "Keep it simple, stupid !" (Keep simple, kiss design principles ). So, if there is no need to give up! Because remember: "If something goes wrong, it will definitely go wrong ."

8. Writing code is only 20% of what we do.

Please prepare and spend 80% of your time thinking, debugging, testing, meeting, talking ...... All other activities are very important. To become a good software developer, you must develop extensive and comprehensive skills (skill ), not just technical ).

9. The customer never knows what he/she wants

If the customer has a requirement or idea, but they do not know the details ...... The task of software development is to discover the details and remove all the uncertainties and convert these requirements into an application that the customer wants.

10. Someone has already done this.

So don't re-invent the wheel, use Google to look for it, or a better way is to ask your colleagues that they may have done the same or very similar things in many cases.

10 things they never teach in college about programming

English translation: bole online

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.