In 2014, my colleagues (especially the program and test colleagues) used the most words in me, "Tangled".
I am too pursuing perfectionism and excellence in engineering. Even if it's a small function, I'm going to have a long tangle of problems--how do variables and function names get taken? How is the code organized more organized and easier to understand? What are the critical or abnormal situations in a use case that need to be handled? Which logic points are prone to bugs? Does the code need to take care of operational efficiency? If so, would you prefer to save CPU, memory, video, or Drawcall? What are the common parts of logic that might be pumped out? In short, there is no negligence and the existence of defects.
In addition, I am in the face of knowledge, the face of the bug, too like to delve into, generally do not put the principle of clearly will not rest. When it comes to understanding a technology that has not been approached for work, I often start from a very basic place (for example, on Wikipedia), and in my colleague's words "buy a dish and learn from it", and sometimes even knowing that some of the points of knowledge have nothing to do with the current task, I would also be tempted to take the time to delve into it-though the habit is no longer as serious as reading.
I think the colleague said this "tangled" as their own unique craftsman spirit, may be called Technical House spirit also line-carved carefully, pay attention to quality, research technology.
The spirit behind the craftsman is idealism, so the pros and cons coexist. For me now, in the end, we should pay more attention to its shortcomings. Since the beginning of the project, the main course has taught me more than once: do not design for the unseen needs. With my long-time cooperation planning will feel I do things "too stable", always see something in the heart I am afraid more or less will be a little worried. When doing cross-service, because addicted to playing technology a bit too much, but also beaten a moment. Before and brother write software together, senior also said I because very pay attention to quality, to a thing not grasp when not to start, so progress becomes a problem.
In fact, I have been reflecting on this problem. Ordinary leisure time playing technology, how to play on their own how to play, how to ponder how to ponder. But really want to make a product, the mind still always have a cost-effective chord. When you want to refer to quality from 90% to 99%, consider the cost of the 9% that is worth it. In fact, cost-effective decision-making is not only the managers need to do, everyone's daily work, every moment will have this decision. In fact, compared to the spirit of the Craftsman self and bigotry, cost-effective is more pragmatic, more comprehensive, longer-term considerations.
Don't see the World War II German Tiger tank, its superior performance than other countries of the tank; but expensive production and maintenance costs have become a heavy burden on the German army.
So, good technology is not equal to good manufacturing, good manufacturing is not equal to good products, good products do not equal good experience (the latter two excerpts from the spirit of the craftsman destroyed a "Greentown"). 2015, I hope the spirit of their craftsmen can moderate.
2014 Summary--Craftsman Spirit