有经验的程序员会作到下面 29 项事情,这也是每一个新手程序员应该知道的事情。程序员
若是你想成为更好的开发者,你应该尤为注意第 15 点和第 29 点。编程
1.积极大胆地谷歌。你得知道如何有效地组织搜索关键字,查阅别人写的代码,而后合理地用在代码里,从而解决问题。数组
2.拥抱变化,坚持不懈。老手程序员在接触新技术时,能欣然接受像个初学者同样到处受挫,并总能在完成工做的同时自学成才。框架
3.认可细节的重要性。例如变量和函数的命名、CSS 属性的命名、该用哈希仍是用数组,以及其余看起来微不足道,但可能对项目有深远影响的事情。编辑器
4.认可大多数的“重要决定”其实并无那么重要。通常的开发者常常在技术选型等“重大问题”上陷入唇枪舌战,而程序员老鸟们会避免浪费时间在骂战中。这一点上,他们就像禅宗大师同样(zen-like)。函数
5.选择合适的工具解决问题。网上有无数的开源库、工具和框架,让人眼花缭乱。而老手们清楚地知道针对怎样的问题,应该用什么样的工具。工具
6.明白代码「不值钱」(该删就删)。你必须习惯于删掉几百行代码来重写程序的某一部分,绝不留情。学习
7.在评估技术的时候要全面。例如,我一直在鼓吹Elixir。它语法优美,社区完善,有很大的潜力。但Elixir诞生的时间过短,因此若是要构建复杂的功能,可能会难以找到能帮你提升效率的开源工具。所以,在评估要不要选择使用一项技术时,你得把全部这些因素都考虑在内。开发工具
8.学会说“我不知道”。没有比拒绝认可本身不知道更能浪费一个开发者的时间了。优化
9. 仔细分析错误信息里的线索。传统教育告诉咱们:失败是坏事。报错信息这种东西也常常被跟失败联系起来,然而优秀程序员明白,这些错误消息里其实隐藏着能将你指向最终正确解决方案的线索。
10. 了解过早优化和必要的“炫技式”优化的区别。老手们清楚在何时须要写一些看上去没那么好懂,但会让程序运行更快的代码。
11.每一个人都会犯错,为本身的过失负责。而尤为在团队里,把责任推来推去没有任何意义,由于错误的发生每每不仅是一方的因素形成的。
12. 成为你所用的开发工具的重度用户。若是长期在某个开发环境下有至关比例的开发工做,那你应该去掌握使用它的细节。
13. 学会用Vim(至少会一点)。 你至少应该在这个编辑器里学会勉强地移动和翻页。
14. 不要接陌生技术领域的私活。我的作自由职业项目,其中很大一部分挑战就是评估项目时间。不要规划本身未知领域的事情,那会让你处于想当尴尬的境地。
15. 不要数你干活花了几个小时。技术大牛会把时间花在有深度的工做上,而且他们清楚花了多少时间彻底不重要。
16. 学会坦然接受批评。当你的代码由于各类缘由四分五裂时,你须要培养用理性和逻辑的方式来应对(而不是情绪化处理)。
17. 同有更多经验的人结对编程。没有比这个更高效的编程学习方式了。
18. 必定要先本身作一遍代码审查。当你在GitHub上发起一个pull request以前,先把代码当成别人写的,本身先审查一遍。
19. 认识到作自由职业的难点不是写代码,而是其他的全部事情。销售、推广、客户支持,质量保证以及产品管理,全部这些都会花费大量时间。
20. 发现并解决更大的问题。优秀的程序员不拘泥于眼前的问题,而是清楚如何用更长远的方式完全的解决这一类问题。
21. 深刻了解一些大型开源项目的核心能让你开发时如虎添翼。若是你知道如何给你的项目打猴子补丁(Monkey Patch), 那么你将无所不能。
22. 跳过多数的会议。你的公司雇你是来写代码的,而不是谈代码的。当会议多到失控的时候,不去参加也没有任何问题。并且一旦你开始这样作,别人会更珍惜你的时间。
23.知道何时开始回馈。 到了某个时候你须要将你的技能和经验传授给年轻的开发人员,就像你的导师当时教授你同样。
24. 能写烂代码。有时候能够当一当“胶带式程序员”。关键是随着时间推移,你须要弄清楚何时能够走捷径,何时必须走捷径。这实际上是最难掌握的技能之一。
25. 礼貌地告诉别人你工做到很晚。若是你是办公室里最后一个,能够发一封简短的汇报邮件。别人通常会注意到邮件上的时间戳的。
26. 像一个领导者(Leader)同样作事,而不是老板(Boss)。老板是让别人为他工做的人,领导者是人们追随的人。作个领导者。
27. 去打打桌上足球。从长期来看,同其余开发者(或不一样岗位上的同事)创建联系会比在紧巴巴的期限里交付一个功能更有价值。
28. 在压力下学习。你须要知道如何应对像系统宕机而你要负责将它复原的状况,即便一开始你彻底没有头绪。
29. “Move fast and break things” 别让完美主义阻止你作事。错误每每是最好的学习机会。因此别把犯错看成失败,而应该把它们看成值得学习的经历,并意识到:正是不断克服和突破这些错误,做为一个程序员,你才能不断成长起来。
像生活中的不少事情同样,编程也是你作的越多,了解的就越多。因此若是你是一个新手程序员,仍是直接去编码吧。记得将这些最佳实践应用在平常工做中,来不断提高你的编程技艺。