Silver bullet and our profession

Source: Internet
Author: User
Is programming a promising career? After the age of 30, must I change my business? What should I do if I outsource my work to Vietnam? How can new technologies keep up with the development trend? Tools are getting better and better. What should I do when programming is like assembling Lego blocks? Maybe I am ignorant and have seen many negative opinions. For example, here is also here. There are few positive opinions. Hardcore programming fans like Yunfeng are even more rare. Hey, I have no answer. The day before yesterday, I re-read Frederick P. Brooks's "no silver bullet.

The central idea of "no silver bullet" is that there are two types of difficulties in software development. One is temporary difficulty, and the other is essential difficulty ). The temporary difficulties can be solved through technological advances. For example, it is a temporary difficulty to check syntax errors. Code It is also a temporary difficulty. Modern ide basically solves these problems. However, essential difficulties cannot be eliminated by tools or technologies. Boss B argues that the essence of software is a pile of abstract structures that interact with each other: data, Algorithm , Link, function call... These abstract structures should be as independent as possible to express their specific forms. Therefore, the essential difficulty of software programming lies in writing the specifications of these abstract structures, designing these abstract structures, and testing the correctness of these structures. Note. Boss B said, If the above judgment is correct, There will be no silver bullet in the world. Fortunately, the judgment of Boss B has not been broken so far. What is the relationship between silver bullet and our career development? Simple: we have to use time to learn and solve essential difficulties. New technologies bring convenience to experts. Cainiao don't need to be saved by new technologies. Following the previous metaphor, first-class photographers will not lose their rice bowl because of camera upgrades. Instead, they may use advanced technologies to make great achievements. Because of the difficult nature of photography, it is still the artistic feeling of photographers. Popular technologies are equal to cameras. Keep chasing new people, learning this framework, that software, is like studying the specifications of different cameras all day long. The ins and outs of popular technologies are like photography technologies. Why is this framework released? What other frameworks does it solve? Where does it apply? Where is it not applicable? What new design does it use? Which old designs have it improved? Why is forever. When chatting with friends, Steve McConnell's professional software development cited a survey that the half-life of software development technology is 20 years. That is to say, half of our current knowledge is outdated in 20 years. Not bad. My friend joked: "We should say that half of the IT industry's technologies are outdated 20 years later. The outdated technologies we have learned far exceed this proportion. It may take five years for someone to stop ". Although pessimistic, we can see the importance of choosing the learning content. Learning essential skills (technologies are outdated sooner or later, but often used to grow new) has another advantage, that is, you don't have to look at your beloved technology when it is challenged. C/C ++ is outdated, as long as there are other systems Programming Language . If Java is used up, it will fall. I may not be able to use. net? What's Ruby like. If you are not comfortable with it, switch to another dynamic language. What if J2EE is deprecated? Maybe we can't do the distribution system anymore? More examples are provided here. In a word, only one person is a real silver bullet. The goal of career development is to turn yourself into a silver bullet. At that time, you are no longer a human, but a human bullet.
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.