• 程序员如何保持优秀
    时间:2012-10-26   作者:外刊IT评论网   出处:aqee.net

    优秀便接近成功,金钱和名望比较难以控制。

    1. 小范围的选择一些有用技术,透彻的学习它们,拥抱它们。然后不断的扩展这个范围。

    2. 理解各种数据结构的优点和缺点,包括它们在内存中和在硬盘上的各自表现。

    3. 理解各种算法的优点和缺点。

    4. 了解你的工作领域。关上电脑,去做你的用户们在做的事。

    5. 有准备,有愿望,有能力在任何时候投入到多种技术层面中。你必须知道表象下的技术原理。在“各个技术层面的掌握程度”和“编程能力”上有着密切的联系。

    6. 发挥你的想象力。永远都要问,“有更好的方法吗?”跳出常规思维约束。最好的解决方案也许还没有被发现。

    7. 优秀程序员:我优化代码。更优秀程序员:我设计数据。最优秀程序员:他们的不同之处是什么?

    8. 正确的构造你的数据。任何的缺陷都将造成你的代码里无尽的技术债务。

    9. 正确的命名事物。使用“动词-形容词-名词”格式来命名程序和函数。变量名要足够长,尽量短,有意义。如果其他程序员不能够理解你的代码,说明你写的不够清楚。在大多数情况下,针对下一个程序员而编码要比针对环境而编码重要的多。

    10. 把分析和编程分离开做。它们不是同类的事物,需要不同类型的劳力资源,需要在完全不同的时间和地点分开做。如果同时做它们,你一样都做不好。(我喜欢在一天的末尾做不涉及技术的分析,而在第二天早上进行编程。)

    11. 永远不要图省事走近道。永远不要把相同的代码部署两次。永远不要把一个变量命名成另一个变量名的一部分。也许你不明白这些规则,也许你要辩解。但如果你是遵守着这样做的,这些规则就会约束你正确的构造你的程序。图省事的做法是让那些低等级的程序员永远停留在低等级的原因。

    12. 学习如何测评程序性能。你会惊奇的发现从中能学到很多之外的知识。

    13. 学会区别对待问题细节和问题后果。问题细节不会导致太大的差别,而问题后果能导致世界灭亡。只关注后果。

    14. 密切关注你的用户/客户/管理人员。帮助他们认清楚他们的“what”,这比帮助他们明白他们的“how”要重要的多。

    15. 写一个框架,不论你是否打算用它。你将从中学到从其它途径中学不到的东西。

    16. 把你知道的东西教给他人——通过口口交流或通过写作。最终这将成为教育自己的机会。

    17. 永远要对你的客户/用户说“Yes”,即使在你不确定的情况下。90%的情况下,你会最终找到方法实现它。10%的机会,你将会去向他们道歉。这是重要的个人成长中付出的一点小代价。

    18. 寻找别人的做出神奇的事情但却一滩糊涂的代码。重构它。然后丢掉它,并发誓自己永远不要犯他们犯下的相同错误。(这样的程序你会发现很多。)

    19. 数据永远 > 理论或观点。通过开发东西来学习数据。

    20. 有可能的话,开创自己的业务(服务或产品)。你将从中学到很多你做雇员永远学不到的关于编程的知识。

    网友留言/评论

    我要留言/评论

    相关文章

    关于实施有效站会(Stand-Up Meeting)的三个技巧:通常的站会(tand-Up meetings)的形式总是让我感觉有点怪怪的。它有时会造成一些并不期望的效果。这篇文章里,我将向大家介绍一些在我们blossom公司里经过修改后的站会措施。
    软件项目管理中的“免坑”指南:“谁也无法改变现状,唯有无数程序员血洒大地,才能使项目重建天日。”这一点也不夸张,软件项目做烂了就是个坑,参与者也不过是填坑的。就像是在魔兽世界战场遇到国家队一样,你赢也赢不了,出也出不去。
    如何有效地报告Bug?:自由软件开发者Simon Tatham针对如何有效地报告Bug发表了自己的看法,他列举了一系列拙劣Bug报告的例子,并提出了改正建议。
    项目相关的10点感悟:作过也参与过一些项目,有成功的,有失败的,以下是在我眼里,认为比较重要的一些点,分享出来,也帮自已理理思路!
    社交网络心得50条:金鹏远,1968书吧老板,社交网络实践者
    Fab CEO:我在创办4家公司中学到的90件事:本文来自创意闪购网站Fab的CEO Jason,发表于他的个人博客Betashop。本文中他谈了在创办4家(科技)公司的过程中学到的一些事情,特别总结了Fab从一个同性恋网站转型到现在创意闪购网站过程中学到的一些经验。这些经验对于创业者、投资人、行业从业者都具有很大参考价值。
    主动消费和被动消费:由于工作原因,以下我所说的话只能停留在“道”的层面上,没有具体的做法和实际案例,内容较“虚”。如果您想看到具体的实在的操作层面内容,请止步。
    淘宝校招鸡蛋篮子算法题标准答案:又到一年校招时,阿里集团虽然今年休养生息,缩紧招聘,但是现在继续开放校招,不过只招a类学生,也就是重点学校的最优学生(面试官认为),以往多半是研究生居多,本科生录用比率减少,但是编程逻辑思维好的学生仍然是不多的,这是去年出的一道原创题和它的标准答案,做对的人非常少。
    铁道部新客票系统设计(三):最近只是一时兴起,觉得无聊,正好要到买票的时候,写了这个一系列文章,首先是对自己这些年来的工作经验的总结,其次是把分布式事务性系统的设计思想进行分析和整理,最后也就是和想集大家的智慧,讨论系统的设计。我不是铁道部的工程师,我只是一家互联网金融类公司的屌丝工程师,级别不高,能力也一般,就是喜欢技术而已。
    铁道部新客票系统设计(二):在上一篇文章中《铁道部信客票系统设计(一)》里面,探讨了关于数据库层面的功能性需求以及非功能性的需求,在非功能性需求里面,一博主 提出了没有考虑到峰值的情况,这一点的确漏掉了,因为我们铁道部的特殊需求,在春运期间负载很大,平时可能一般,如果用考虑最大的情况,则回存在浪费的情况,如果考虑不足,就像网络订票一样,苦逼。就好比 铁道部春运的时候,发车量大,但是如果制造大量列车,平时就空闲了,也就很亏。机器的折旧很是块的。春运期间可以考虑紧急扩容来实现,所以从设计上可以保持这种扩展性。 扩容是一项工程,整体来说比较复杂。