In “No Silver Bullet-Essence and Accident in Software Engineering” by Frederick Brooks, it tells the reader that there is no silver bullet for developing software. To explain, there is no single development to solve all the difficulties. To build the software, it is always difficult, time-consuming, and expensive endeavor. The author classifies the difficulties as essential difficulties and accidental difficulties. Essential difficulties are difficulties that cannot be solved and include “complexity, conformity, changeability, and invisibility.” Complexity is one of the essential properties that software development always faces and has many options and machine states when building the software. Also, conformity means that the software has a lot of essential errors. Although the logic of the software work, it does not guarantee that the software would work. Changeability indicates that the software continues to change while maintaining same basic design because the software embodies its function in the system. Invisibility points that although it is able to represent the flow of controlling data, patterns of dependency, time …show more content…
As well, since we do not build something new and add functions with the use of API from Yelp and Google, it is also part of removing the accidental difficulties. In addition, for my future career, I would remember the strong message “There is no silver bullet” continuously. Sometimes, when I while working some coding or data structure, I thought about automatic programming and graphical programming to get answer easily and save time. However, after reading this article, I feel like I have to enjoy the time consuming for thinking the algorithm in order to be a true software engineer. As a programmer, there is no way to avoid the difficulties so I have to enjoy facing difficulties as