软件公司为什么用笨程序员 - NetSmell



软件公司为什么用笨程序员 - NetSmell

我最近读了Troy Hunt再版的《Measuring code quality with NDepend》的文章。在讲述关于Ndepend的细节之前,Troy Hunt专门分享了一个关于专业差异的现象。

软件行业之所以常常让人觉得与众不同,主要原因是它和其他领域存在着很多不同之处。例如医药和航空,它们的专业门槛要求非常高,而软件开发对于从业者的经验和专业等要求相对就低多了。当然我承认上述论断并非绝,偶尔也会有医疗事故或者飞机失事出,但是我们只要想到,在软件开发中会出现劣质的代码的频率是那么的高,相对而言,医疗事故和飞机失事的概率就微不足道了。

认真看过文章后,会让人不由的思考到软件行业的专业性以及那些笨程序员还能好好的待在公司的原因,最后得出的结论是:很多事情不能只凭能力、效率、专业性来决定程序员的去留,还是要考虑以下几个原因。

1、任何公司都需要营销和技术手段来生产和推广产品,代的好坏并不 是成功的唯一因素。
2、外行人也不懂代码质量好坏。一个美的用户界面,就算后面的代码 乱七八糟也不是问题,有几个人会懂?
3、大浪淘沙,历时弥久。最后是否专业化要经过很多年的维护才看得出来。

市场营销和技术能力之间的关系

在IT界无论是苹果还是谷歌,当然都有自己的产品理念、广大的市场和高超的技术能力。其实如果公司想要得到成功,满足其中两个条件就够了,只要有理想的产品理念和很棒的营销手段就可以了,至于技术方面差不多就可以了。为什么会这么说,我想如果有过这种经历的人就会很明白,如果两个公司,一个公司只有技术而没有好的营销策略是做不好的,而另一个公司只是技术平平,但如果有好的产品理念和营销策略也许会做的很好。

外行人也不懂代码质量好坏

外行人不知道其他的处理软件和你这个相比是怎么样的,他们不懂那个好用那个不好用。但有一点是确定的,如果用户界面设计是一流的,那么在他们眼里那就是棒的。相对于建筑业就不同了,美丽而坚固的建筑,如果我们仔细看还是能看出个一二来的,但是如果是个外行看代码,那就真的是一点都看不出来了,到底有没有技术含量那就更不懂了。

大浪淘沙,历时弥久

而一个软件的好坏,还有质量如何还是需要时间来检验的,这些可能要经过十多年的维护才能最终得到一个设计精巧的代码程序,但是那些笨的程序员在这长时间里写下了不计其数的劣质代码,长时间的过往也让人无法追究谁的责任。就算是追究了这些人的责任,而这些笨程序员们也能凭借着以往的经验轻松的找到另一份工作。


Read full article from 软件公司为什么用笨程序员 - NetSmell


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts