It actually takes from one agile expert chenyong's blog.But it is in Chinese.
http://blog.csdn.net/cheny_com/article/details/7717787
Just write down some of his options.
For Eclectic: Some body claims he can use 7 or 8 computer languages, involving in 76 projects.You will doubt whether he knows the project well enough.
For Expert: Someone maybe focus on one document translator for ten years but beyond that, he knows nothing.
Which one is better? Actually, none of them is good.
How to become a good programmer?
Good programmer likes to communicate with others and learn from others.
If one programmer needs to touch with fresh man, he need to write the code clearly and let the new guy easy to read.
If he needs to work with senior programmers, he needs to make the code elegant enough.
For the knowledge growing, First, he may need to communicate in technical point of view, then need to understand the domain services, after that knowledge transfer. Day by day, he will become a Eclectic.
Some one worries if he knows too much, then he will lost his specialty.
Two gaps in software engineering:
1. GUI and backend Server;
Actually it is very difficult to separate them out completely. If you can design a product both GUI and backend in a big picture, you will achieve a good quality of product.
2. Development and QA.
Developer writes auto test code for QA to learn the overall picture of product; Developer reviews the QA test cases to learn the business logic.
(My understand: So, try to understand the thing in a high level, in a big picture. No need to be so constraint by the role. For example, if I am a developer, I don't like to say I am a developer purely. Rather, I will say I am a member of solution provider, and mainly focus on good quality of source code. That means, I am still responsible for the final delivery quality of the whole product. I won't miss understand the customer's requirement. It is not only the pre-sale's job. )
No comments:
Post a Comment