[Ruan Yifeng] in software development, once these technologies are replaced, your knowledge will become worthless, because most of them are implementation details.

Source: Internet
Author: User

Original article: http://www.ruanyifeng.com/blog/2018/10/weekly-issue-28.html

 

In software development, technology changes are so fast that you spend a lot of time learning technologies and tools. Once these technologies are replaced, your knowledge will become worthless, because most of them are implementation details.

I have been thinking about this recently. Isn't software development really a real knowledge?

If it is a real kind of knowledge, in theory, most of the things we have learned will not be out of date, just as calculus will not be out of date. However, we all know that software development skills are time-sensitive. The programming knowledge we learned ten years ago is almost certainly not used for production after ten years. In that case, software development cannot be regarded as real knowledge, but is just a kind of implementation details.

There is a tax office next to the company, and many people queue up to pay taxes every day. If you pay taxes for the first time, you may not know how to pay taxes. Tax Payment is a learning task. Someone must teach you what creden。 to bring, what tables to fill in, and what windows to queue.

 

 

I now think that learning programming is the same as learning to pay taxes. It is all about learning implementation details. Once the external environment changes, the original implementation details are useless. Due to the abstraction and encapsulation of contemporary programming layers, we do not have to touch the underlying real universal knowledge. Most of the time, the so-called programming is to write the configuration of an abstraction layer. For example, the webpage style is written in CSS configuration. It is hard to say whether this is real knowledge or implementation details like the tax administration guide.

The implementation details are not knowledge, but operation steps. If the technology stack changes, the implementation details will be useless. However, you can't make a project without learning about it or knowing the implementation details. I think programmers should be vigilant, not fall into the trap of implementation details, not to spend all their energy on implementation details, and then think they have learned real knowledge. The correct attitude towards a variety of languages and tools should be "getting in and getting out". We must understand enough details and be able to look at it from a macro perspective, find out how the underlying layer is implemented.

[Ruan Yifeng] in software development, once these technologies are replaced, your knowledge will become worthless, because most of them are implementation details.

Related Article

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.