[译] 成为一个优秀程序员的101个小建议

第一次翻译文章,之因此会想把这篇文章分享给你们,是由于以前群里一个刚入行的新人寻求建议,问学哪一个框架好。而我脑海里想到的倒是准备个杯子多喝水,搞个好点的椅子保护好腰,多看源码多逛社区之类的。忽然发现,除了技术以外,还有不少工做经验,学习方法,为人处世的东西也很重要,甚至它们是先于技术的。可是讲述这些东西的文章并很少,因此昨天看到这篇文章的时候,里面得不少建议偏偏是我面临问题的解决方法,以为颇有必要分享给更多人知道,因而便寻求了原文做者的受权,抓紧时间翻译出来。前端

原文做者:Emma Wedekind
原文连接:dev.to/emmawedekin…git

这里做为读者,我我的认为该文大部分建议都很是有用,可是有些建议是相似的能够合并,并且排序也有些随意,像是想到什么说什么,没有通过整理,致使全文其实有些过长。还有很重要的一点是有些建议请根据国内状况灵活判断,我也会将我认为比较重要的几点标上⭐。程序员


0. 遵照规则的状况下跨过那道墙看看

这条是我专门为国内程序员加的,你们应该都懂,否则的话第一条就打住了。github

1. 善用google⭐

做为一名程序员,你要知道如何搜索问题的答案。学会有效的使用google,你将节省大量开发时间。算法

2. 谨慎承诺超额交付⭐

让你的团队知道一项任务须要三周的时间,并在两周内完成,这比让他们知道相反的状况要好。经过谨慎承诺和超额交付,你会创建信任。编程

3. 善待产品设计人员,他们是你的朋友

产品设计人员为用户的痛点提供解决方案。向他们学习,团结一致地构建有效的产品。后端

4. 找到一名导师

找到一个能够学习和借鉴的人。若是你须要技术指导,Coding Coach会是一个不错的地方。设计模式

5. 成为一名导师

作一个别人能够学习和借鉴的人。你能够尝试在Coding Coach成为别人的导师。浏览器

这个网站并非很了解,请自行斟酌。国内厉害的程序员也不少,掘金,知乎上找也能够。 安全

6. 写些有用的评论

写下有用的回答而不是问为何,mark和灌水也没什么意思`、。

7. 合理的命名变量和函数名

函数和变量应该准确地表示它们的用途,所以myCoolFunction不是一个好名字。

8. 给本身放个假

咱们都须要时间来缓解压力。去一个你一直想去的地方放个假。你的大脑和同事都会感谢你的。

9. 删除无用代码⭐

没有理由积累更多技术债务。

10. 学会阅读代码⭐

阅读代码是一项很是宝贵的被低估的技能。

11. 找到健康工做和生活平衡点

结束一周的工做以后,周末放松一下。关闭工做通知,删除手机上的应用程序。

12. 只安排必要的会议

能用邮件解决的就不必开会,若是非要开,也应该让会议简短高效。

13. 结对编程

结对编程可让你同时扮演老师和学生的角色。

14. 写好邮件

邮件的内容应该简洁而清晰,抓住重点。没人会想看你的四页邮件,兄弟。

15. 加入社区⭐

和志同道合的人在一块儿会激励你走出低谷。

16. 清理你的分支⭐

清理你的版本控制分支,就像在你的岳父母来访以前清理你的房子同样。若是你再也不须要,请删掉它,不删留着过年啊。

17. 接纳萌新

包容点,不要告诉别人不够好,不能进入这个行业。每一个人都是有价值。

18. 活到老学到老

你选择了一个须要不断学习的职业,学会爱上它。

19. 永不言弃

这并不容易,可是咱们都是从同一个地方开始,你也能作到。

20. 勇于接受有挑战性的任务⭐

若是任务没有挑战,它就不会帮助你成长。

21. 项目开始前明确需求⭐

在开撸以前,你应该了解验收标准,这将为你节省时间和痛苦。

22. 工欲善其事,必先利其器⭐

拥有一套你熟悉的工具,了解哪些工具服务于哪些目的,以及项目什么时候能够从使用这些工具中获益。

23. 咱们须要建设性的批评

向信任的同事和朋友寻求建设性的批评,它将帮助你更优秀。

24. 保持开放思惟⭐

技术在变化,并且变化得很快。不要反对新技术,学习它,而后造成本身的观点。

25. 保持在技术前沿,不要掉队⭐

经过关注出版物,博客,播客和科技新闻,及时了解最新的科技新闻。

26. 专一于解决问题⭐

锻炼本身解决问题的能力,强大的解决问题的能力可以帮助你应付一切,专一于解决问题的方法。

27. 保持谦虚⭐

三人行必有我师,不管你什么头衔,什么公司,都要保持谦逊。

28. 不光要代码写的好,PPT也要讲得好

学习如何吸引你的听众,并给出有效的演示。

29. 选型如买菜,也要货比三家⭐

给本身更多选择,在开展工做前,调研尽量多的解决方案。

30. 找到本身的定位⭐

科技产业也有不少分类,找到你最感兴趣的领域,并成为一名专家。

31. 养成好习惯⭐

试着创建一致的、健康的习惯,好比保持专一,合理安排时间,出席会议,从最重要的任务开始。这可能须要一些时间来适应,但从长远来看是值得的。

32. 学会debug⭐

探索浏览器调试器工具。学习使用IDE调试的细节。经过学习最有效的调试问题和跟踪错误的方法,再困难的bug也能搞定。

33. 锻炼你现有的技能⭐

并非说你已经掌握了一项技能就不须要再锻炼它。业精于勤荒于嬉,除非有意识地提升技能,不然技能会随着时间的推移而消失。而这个行业又发展得如此之快,坚持练习是很重要的。从“我一直都是这样作的”的心态中走出来,进入“有没有更好的方法来作这件事”的心态。

仅仅是由于你如今拥有六块腹肌,不意味着你就能够天天吃一个🍩。

34. 了解缘由⭐

有时你必须表达本身的意见,所以了解其背后的缘由很是重要。为何解决方案A比解决方案B更好?提供有效的论据,你的意见将更加可靠。

35. 了解本身的价值

技术也是商品,应该获得适当的报酬。了解你所在地区的行业平均水平。若是你赚的钱少了,是时候和你的老板谈谈,追求你应得的。

36. 不要惧怕寻求帮助⭐

若是你被困在一个问题上,花了太多时间寻找解决方案,是时候寻求帮助了。咱们都是人,咱们都须要帮助,寻求同事的援助并不可耻。

37. 学会学习⭐

人们学习的方式不一样,有些人经过视频教程学得最好,有些人经过阅读书籍学得最好。弄清楚你的学习风格,而后努力实践。

38. 与人为善

有时你会被要求向同事提供反馈,友善一点,你能够对某位同事不够积极表达见解,而不是出言不逊。

39. 休息一下

连续敲8个小时代码几乎是不可能,你很快就会筋疲力尽,犯不少错误。因此设个闹钟来提醒本身停下来休息一下。去散散步,和同事一块儿喝杯咖啡,远离屏幕会对你的工做效率和质量产生积极的影响。

40. 跟踪你的学习进度

学习编程须要时间,当你看不到进展时,你会感到很是沮丧。因此跟踪你的成就和实现目标的进展很是重要。在你的电脑旁边放一个小清单,每次你完成一件事,把它写下来,无论它有多小,最终将会从量变到质变。

41. 不要依赖库和框架⭐

掌握一个框架和库不如深刻学习这门语言,没有必要一个接一个的学习这些库和框架,可是理解框架和库如何实现能够帮助你写出更简洁强壮的代码。

42. 学会爱上代码审查

让别人阅读和分析你的代码可能会让你不安,可是能够提供宝贵的反馈,这会让你成为一个更好的程序员。并且你也应该提升进行良好代码评审的能力。

43. 多方位全面学习

学习其余领域的基础知识, 如设计、营销、前端开发或后端开发。它将帮助你成为一个更全面的程序员。

44. 不要选择熟悉的技术,而应该是正确的⭐

每一个项目都有不一样的需求,所以咱们必须为这项工做选择合适的工具。尽管选择之前使用过的技术很方便,可是若是它们不适合项目的须要,应该探索其余替代方案。

45. 敢于承担责任⭐

全部人都会犯错,在你的职业生涯中,你会犯不少不少的错误。所以,当你犯了错误时,站出来承担责任是很重要的,它将与你的团队成员和管理层创建信任。

46. 检查本身的代码⭐

在发起PR请求以前,检查本身的代码,若是这是同事的工做,你会发表什么评论?在请求代码审查以前首先尝试本身诊断问题或错误很是重要,就像考试交卷前应该本身检查一遍。

47. 从失败中吸收教训⭐

失败只是没有达到预期的结果,并不必定是件坏事。在咱们的职业生涯中,咱们会面临不少失败,从失败中学习下次你能作些什么。

48. 正视本身的缺点

了解你本身,你的缺点是什么?也许你老是在推送以前忘记更新测试,或者你真的不擅长回复电子邮件。了解你的弱点,这样你就能积极地改善它们。

49. 保持好奇心⭐

这个行业在不断发展,因此好奇心很重要。若是你不明白什么,无论是项目需求仍是一行代码,大声说出来。没有人会由于你要求说明而批评你,你会所以创造出更好的代码。

50. 不要试图学习一切⭐

世界上有无穷无尽的知识宝库,你不可能征服它。选择几个要掌握的主题,其他的就不要管了。你能够得到其余领域的相关知识,但你不可能掌握全部内容。

51. 该舍弃就舍弃

仅仅由于你写了一些代码并不意味着你须要对它产生感情。没有人喜欢他们所作的工做被丢弃,可是代码有一个生命周期,因此没有必要一直保留着它。

52. 团队支持

优秀的团队相互支持,这为尝试新事物创造了一个安全的空间,而不用担忧受到惩罚。

53. 在社区中寻找鼓舞

在行业里找几个你钦佩的人。它会激励你继续你的项目或尝试新事物

54. 重视而且珍惜你的工做

无论你有多少经验或者你的职位是什么,你的工做都是有价值的,给予它应有的价值。

55. 排除干扰

关掉闲置的通知、短信、电子邮件和社交媒体会帮助你集中精力,最大化你的工做日。晚30分钟回复你朋友的信息,他死不了,真有事就打电话了。

56. 乐于助人

试着支持你的团队成员,不管是参加一个重要的演讲,仍是在他们遇到困难时帮助他们。

57. 不要吝啬你的赞美⭐

若是有人作得很好,告诉他们。正面反馈是与团队成员创建信任和帮助他们事业发展的好方法。他们也更有可能帮助你

58. 测试你的代码⭐

测试是很重要的。单元测试、回归测试、集成测试、端到端测试。测试你的代码,你的产品将会更加稳定。

59. 制定应对计划

当你收到一个新功能需求或bug修改时,先制定应对计划,你须要什么来解决这个问题或开发这个特性?花几分钟来作这件事,也许后面能够为你节省数小时的沮丧。

60. 掌握伪代码

伪代码是一项很好的技能,由于它容许你在不浪费时间编写代码的状况下考虑复杂的问题。将一种方法写在纸上,运行不一样的测试用例,看看缺陷在哪里。

61. 记录你的成就

若是你在工做中得到了嘉奖,把它写下来。若是你开发了一个重要的功能,把它写下来。你会拥有一些积累、沉淀,它将有助于你职业晋升亦或在某一艰难的日子鼓舞你的士气。

62. 学习编程基础⭐

学习一些基本的排序和搜索算法以及数据结构。它们与语言无关,能够帮助你跨语言解决问题。

63. 选择长期维护的技术

尽管测试最新的技术颇有趣,可是选择那些在企业应用程序中易于维护的技术。大家的团队将在将来的岁月里感谢大家。

64. 学习设计模式⭐

设计模式是构建代码的有效工具。你可能不是每一个项目都须要它们,可是对它们有一个基本的了解将有助于构建更大的应用程序。

65. 化繁为简⭐

不要编写复杂的代码来展现你高超的编程技能,而要着眼于可读性和简单性。这将使你的团队成员更容易作出贡献。

66. 还清技术债务

技术债务可能会对性能产生巨大影响,因此若是可以重构,就应该重构。(这个建议绝对是好的,可是现实中要面临诸多问题)

67. 优先小版本迭代

与其每月发布一次大规模的升级,不如更频繁地发布较小的变动。这样你不太可能会引入bug和破坏更改。

68. 尽早并常常提交⭐

尽早提交和常常提交是确保你的工做保持干净的最好方法,而且还能够减小意外地恢复重要更改的压力。

69. 了解什么时候寻求帮助

你不只不该该惧怕寻求帮助,并且你应该学会何时寻求帮助。在寻求帮助以前,你应该试着解决问题,并记录下你尝试的事情。可是当你被一个简单的问题难住一个多小时的时候,代价大于收益,你应该向同事求助。

70. 问一些有效的问题⭐

当你问问题的时候,要尽量的具体,(能够参考github提issue的要求)。

71. 工做中及时寻求反馈

你的工做不须要完成就能获得反馈。若是你不肯定方向,请一位值得信赖的同事来检查你的解决方案的有效性。

72. 阅读文档⭐

文档是关于技术的最纯粹的事实来源,所以学习阅读文档能够快速帮助你成为专家。

73. 尽量作出各类尝试⭐

没有什么能阻止你尝试解决问题的方法,你有什么损失呢?

74. 在会议上积极发言

你的想法和意见是有价值的,因此参加会议将有助于你与你的团队和管理层创建融洽的关系。

75. 跨团队协做

若是你有机会和公司里的其余团队一块儿工做,那就去争取吧。

76. 保持项目热情

当你每周工做40个小时时,花时间作你感兴趣的项目是很重要的(72小时的话更要如此)。它们能够帮助你从新找回对编程的热爱,并尝试你在工做中可能没法接触到的新技术。

77. 肯定你的职业目标⭐

对你的职业生涯有一个理想的轨迹是很重要的。若是你不这样作,你就是在没有目标的状况下射箭。

78. 加入到讨论中来⭐

在博客上发表评论,参与Twitter主题,参与社区活动,作一个积极的旁观者会比单纯的旁观学到更多东西。

79. 肯定任务优先级

学会肯定任务的优先顺序将有助于提升您的工做效率,创建一个平常任务和长期任务待办事项列表,并按最重要的顺序排序。

80. 不要忽略细节

细节能够在项目中产生很大的影响。

81. 信任你的同事

你的同事由于他们的技能而被雇佣,交给他们工做,并相信他们能完成。

82. 学会委托

若是你处于领导地位,学习如何有效地委派任务。它会节省你的时间,你不能作全部的事。

83. 不要拿本身和别人比较

你惟一应该比较的是昨天的本身。

84. 找到你的盟友

学习编程将是一个漫长而不怎么容易的过程,和那些帮助你成长并鼓励你坚持下去的人在一块儿。

85. 不要想一步登天⭐

一开始考虑太多作一个大而全的项目会让你不堪重负。构建时要考虑可伸缩性,但在须要时才开始扩展。这样你就不会用没必要要的膨胀来压倒你的团队,而是保持了成长的能力。

86. 衡量性能影响⭐

若是你想使用一种很酷的新技术,你应该权衡这样作的性能影响。你能在不影响性能的状况下实现相似的功能吗?若是能够,你可能须要从新考虑你的方法了。

87. 技术歧视不可取⭐

不要歧视新技术或新想法,对学习新技能的可能性保持开放的心态,也不要歧视他人,咱们都值得尊重。(也不要歧视旧技术,即便如今前端框架盛行,但你也不能说Jquery就没有任何可取之处。)

88. 申请你不能胜任的工做

你永远不可能知足工做的全部要求,因此抓住机会申请吧,你有什么损失呢?

89. 模块化你的代码

你能够在一个长文件中编写全部代码,但这是不可维护的。经过模块化,咱们确保代码易于理解和测试。

90. 不要只是作代码的搬运工⭐

若是你要复制并粘贴Stack Overflow中的解决方案,你应该确切地理解它的做用,有意识地选择要引入的代码。

91. 创造一个温馨的工做环境⭐

若是你喜欢你的工做环境和技术设置,你会更有动力去工做,因此还在等什么?

92. 记住你来自哪里

咱们都是从同一个地方开始的,随着你的技能和职位的发展,不要忘记你来自哪里,不要膨胀。

93. 试着保持乐观

若是出了什么问题,试着乐观一点。明天是新的一天。乐观会帮助你的团队充满活力和精神健康。

94. 不断从新评估你的工做流程⭐

仅仅由于某样东西如今有效,并不意味着它永远有效。从新评估你的工做流程,并在必要时作出调整。

95. 学会在家办公

若是你有能力在家工做,那就学会有效地在家工做。找一个独立的办公空间,远离干扰。Boneskull写了一篇很棒的关于在家工做的文章,你应该看看。

96. 无障碍代码

无障碍不是过后才想到的,也不必定很难,每一个人都应该可以使用你的产品。

97. 遵照你的承诺⭐

若是你告诉别人你会在某一天完成某件事,要信守承诺。若是你不能在截止日期前完成任务,那就早点说出来。

98. 积极主动

若是你有额外的精力,找一个任务来帮助你的团队,他们会很感激你是主动的。

99. 建立一个使人惊叹的做品集

一个优秀的做品集让你不同凡响,使用它做为展现你的编程和设计技巧的机会!

100. 记住你喜欢编程的缘由⭐

你进入这个行业是由于它激发了你的兴趣,若是你感到沮丧和怨恨,休息一下,给本身空间从新点燃你对编程的激情。

101. 分享你的知识⭐

若是你学到了一些很酷的东西,不要吝惜分享它,参加当地的技术交流会,在午饭时间教你的同事或学员,分享你的知识可让更多人受益同时本身也能巩固提升。

完结撒花 🎉🎉🎉

这就是我关于成为一个优秀程序员的所有建议,但愿大家喜欢。

最后

在原文的评论下面有网友续写两个两条,102条适当锻炼和103条充足睡眠,其实程序员干久了就会愈发认识到这两条的重要性,因此可能还会有人在下面给出有建设性的建议,能够去原文关注一下。

此次翻译中有些内容加入了一些我的的理解,若是以为哪些内容翻译的不恰当,能够评论留言,也能够提出你对于成为优秀程序员的建议。

相关文章
相关标签/搜索