(Software Technology "book is about to be published by People's Posts and Telecommines, see http://www.china-pub.com/computers/subject/huodong/ry12.23/tyzt.htm. This article is a book of Pragmatic Programmer Author David Thomas preamble for the book.)
Preface
This book proposes some fairly tricky problems.
Is the software engineering still applied for projects with less than 100 years of work? Is the professional trend of software engineering and the childrens really a good idea? Even if the development of software can really be described by engineering terms?
This book also proposes some fairly sensitive issues: Do you have a high salary treatment? Whether those senior developers should have more people in the enterprise? Whether those tools that have not been enough for ten years have been used in long-term projects?
In all the most important directions of this, this book proposes a biggest problem: how should we reorganize the process of software constructs, so that can be effectively operated as we wish?
For these questions, this book also proposes some controversial answers: This book believes that we have always been regarded as a simple fact, and write software, not a huge no-friendly methodology, nor a meticulous organizational structure, but people . Today, in the field of software development, we are facing an increasingly serious crisis. In order to reverse this unfavorable situation, we need to cultivate excellent software developers. In order to achieve this, Pete * reviewed a system of prosperity for a hundred years and expects to obtain revelations - that is the process.
The word "craft" is a symbol, symbolizing high quality products. But its meaning is not limited to this. In a complete sense, technology is a self-sufficient system. In this system, the master is responsible for arrangeing the work and training of the apprentices, and the apprentices may replace the master, and each person's status is completely dependent on the product of the products he produced. Apprentices, workers and technicians, all people work together in the same team and learn from each other. Customers make choices according to the team's reputation, and the team only accepts those they think that it is possible to improve their reputation.
Is this complete process system play in our industries? To be honest, I don't know. Many deep-rooted habits will inevitably oppose this "process" point of view. However, I really know that as an apprentice accepts the teacher's words and teaches the master, such a growth path is effective, because I have experienced such a growth process.
It should be said that I am very fortunate, I have entered an excellent university, where I have learned a lot of theory (but, when I go to college, the theory needs to learn less than now). However, truly let my college life look distinctly, or that an apprentice experience. At that time, a graduate student worked with me. He did not clearly teach me anything, but he used the actual action to let me see a good way of ideas. In January, I was working around him and absorbed a lot of practical knowledge from him. Whether it is design, coding or debugging, I learned from him more than in any class.
Later, I joined a project just started in London. In that project, I played another apprentice role. My new boss tells me by his home: software development is not only a technical work, but also a human work. He helped me understand this part of the software development and the business-related part and taught me how to establish a good business relationship on the basis of having certain technical strength.
From these two trivial apprentices experience "graduation", as a developer, I have been strong than the beginning. Since there is such an experience, I completely believe that if you want to learn a craft, work with a high level of master is the best way. As I just said, this book puts forward a very valuable concept in "how to train next-generation developers". Not only that, this book also involves the philosophy of software. The process is targeted by the individual: for your work, the development of your personal, for your career, process learning to give you more help. It does not interfere with your development software. You may work in a five-year-old country in the enterprise through the CMM 5 level; it is also possible to achieve another week's new idea for 100 hours a week, relying on caffeine to disperse tiredness. You can use RUP, XP, or Scrum, or do not use any standard procedures at all. Regardless of the organization, only when the high-quality developers write high quality, desirable code, only when they meet the needs of customers, the entire software development process is truly valuable. Methodology is unable to create a technically superb developer; only give the process to practice with adequate approval and practice according to process; If you can spend some time to read this book, think about the puzzle proposed by Pete McBreen, you will definitely benefit yourself with your career.
David Thomas
The Pragmatic Programmers
* Translation: This book author Pete McBreen.