成为优秀程序员的101条准则

469 阅读18分钟

作者:Emma Wedekind

翻译:疯狂的技术宅

原文:dev.to/emmawedekin…

未经允许严禁转载

1. 擅长 Google 搜索

成为优秀程序员的秘诀之一就是学习如何搜索问题的答案。通过有效地学习 Google 到的东西,你将节省大量的时间。

2. 承诺与交付

让你的团队知道自己完成一项任务将花费多长的时间,并以两种方式交付。通过可预知的和可靠的交付,你将建立起信任。

Designer

3. 善待你的设计师;他们是你的朋友

设计师为用户的痛点提供解决方案。为了建立有效的产品,要向他们学习,并团结他们。

4. 找一位导师

找一个你可以向他学习的人并从中汲取灵感。如果你需要技术导师,Coding Coach是一个很好的入门之地!

5. 做个导师

成为一个能够分享想法,并使别人可以从中汲取经验的人。

6. 写出有用的评论

写评论时要解释“why”,而不仅仅是“what”。

7. 恰当地为变量和函数命名

函数和变量应该准确地表示它们的用途,因此 myCoolFunction 这样的命名并不能让你上天。

8. 休假

每个人都需要时间去放松。快开始你一直想要的那次旅行吧。你的大脑和同事们都会感谢你。

9. 删除未使用的代码

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

10. 学习阅读代码

阅读代码是一种被低估的技能,但却是一种非常宝贵的技能。

11. 建立健康的工作与生活之间的平衡

经过漫长的工作日,你需要时间进行放松。关闭工作通知,从手机中删除无聊的应用。

Meeting

12. 只安排必要的会议

可以通过电子邮件或微信解决吗?如果是的话,请避免开会。如果不是,请注意持续时间。瞄准更少。

13. 结对编程

结对编程允许你扮演教师和学生的角色。

14. 写出精彩的电子邮件

通过简洁明了的电子邮件来捕捉受众群体。没有人想去读你冗长的电子邮件。

15. 加入社区

与志同道合的人在一起会激励你走出低谷。

Tree

16. 清理你的代码分支

清理你的版本控制分支,就像在你的朋友来访之前清理你的房子一样。如果你不需要它就丢弃,不要把它扔进抽屉里。

17. 不要保守

包容。不要告诉别人他们不够好,不能进入这个行业。每个人都有自己价值。

18. 持续学习

你选择了一门需要不断学习的专业。学会爱它。

19. 不要放弃

这并不容易。但我们都是在同一个起点开始的。你能行。

20. 完成充满挑战的任务

如果它不吓到你,就不会帮助你成长。

21. 在开始之前先搞清要求

在深入研究代码之前,应该先了解验收标准。它将为你节省时间和精力。

React

22. 有一个工具箱

拥有一套内部和外部都知道的工具。了解这些工具可以用于的目的,以及什么情况下项目可以从中获益。

23. 学会建设性的批评

向受信任的同事和朋友提出建设性的批评。它将帮助你成长为优秀的程序员。

24. 保持开放的思想

技术总是在发生变化,而且变化得很快。不要反对新技术,学习它,然后形成自己的看法。

25. 关注相关的信息

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

26. 专注于解决问题

强大的解决问题能力可以解决任何问题。把握解决问题所需的一切。

27. 保持谦虚

无论你的头衔头衔是什么,或者在什么优秀的公司工作,都要保持谦虚。

Presentation

28. 学会演讲

了解如何吸引观众并进行有效的演示。

29. 在开始之前先审视所有的解决方案

不要直接跳到第一个可能的解决方案。在深入研究代码之前检查所有路径。

30. 找到你擅长的领域

科技行业内有许多部门。找到你最感兴趣的领域并成为专家。

31. 养成良好的习惯

尝试建立一致且健康的习惯,例如消除分心、时间盒子任务、出席会议、以及有限从最重要的任务开始。这可能需要一些时间来适应,但从长远来看它是值得的。

Debug

32. 学习调试

掌握浏览器的调试器工具。了解 IDE 的调试细节。通过学习调试问题和跟踪错误的最有效方法,你将能够解决最困搞的错误。

33. 不断增强你现有的技能

如果你现在掌握一项技能就应该去运用它。除非有意识地进行改进,否则技能会随着时间的推移而逐渐消失,而且这个行业发展非常迅速,持续练习也很重要。要摆脱“我一直都是这样做”的心态,并进入“有更好的方法来做到这一点吗?”的思维方式。

如果你现在有一大包甜甜圈,这并不意味着你每天都可以吃一个🍩并长期保持这种状态。

34. 了解背后的原理

有时你必须表达自己的意见,因此了解其背后的原理非常重要。为什么解决方案 A 比解决方案 B 更好?提供有效的论据,你的意见将更加健全。

Money

35. 了解你的价值

你是一种商品,应该得到适当的报酬。请注意你所在城市的行业平均值。如果你赚的钱少了,就该和自己的经理聊聊了。拿到你应得的。

36. 不要害怕寻求帮助

如果你遇到问题并且花费了太多时间寻找解决方案,那么这时候就寻求帮助了。我们都是人,都需要帮助。向同事寻求支持并不可耻。

37. 学习怎样学习

人们以不同的方式进行学习。有些人通过视频教程学习效果最好,有些人则通过阅读书籍。弄清楚你的学习风格并努力练习。

38. 保持友善

有时你会被要求提供关于某些同事的反馈,请保持友善。你可以表达自己对黛博拉(演员)缺乏主动性的看法,而不是去把她撕成碎片。

39. 休息一下

连续进行 8 个小时的编码几乎是不可能的。你会很快倦怠并犯下很多错误。所以设置一个计时器,提醒自己停下来休息一下。出去走走。和同事一起喝杯咖啡。离开屏幕将会对你的工作效率和工作质量产生积极的影响。

40. 跟踪你的进度

学习编码需要时间,当你看不到进展时会非常沮丧。所以跟踪你的成就和实现目标的进展非常重要。在计算机旁放一个小清单,每次实现某些功能时,请将其写下来,无论多小。聚沙成塔,集腋成裘。

React

41. 不要过度依赖框架或库

搞懂语言的细微差别比死抠框架或库的细节更好。你不一定需要逐个学习这些框架或库,但理解它们的工作方式将有助于你编写更清晰、更高效的代码。

42. 学会代码 review

让别人阅读并分析你的代码可能会令人恐惧,但也能够为你提供宝贵的反馈,这将使你成为更好的程序员。你还应该努力进行良好的代码审查。

43. 了解外围的领域

了解外围领域相关的一些基础知识,例如设计、营销、前端或后端开发。它将帮助你成为一个更全面的程序员。

44. 不要选择轻松的技术,要选择正确的

每个项目都有不同的需求,因此我们必须选择合适的工具。虽然选择以前用过的技术很舒服,但如果它们不适合项目的需要,就应该探索替代方案。

45. 为你的错误负责

所有人都会犯错误,在整个职业生涯中你会遇到很多错误。所以当你犯错误时,承担责任是很重要的。它帮你与团队成员和管理层建立信任。

46. 审视自己的代码

在进行 pull 请求之前,请审视你自己的代码。如果这是同事的工作,你会发表什么评论?在请求代码审查之前首先尝试诊断问题或错误是非常重要的。

47. 从失败中学习

失败就是没有达到预期的结果,这并不一定是坏事。在我们的职业生涯中有过很多失败。了解你失败的原因,下次是否可以换一个方法?

48. 认清你的弱点

了解自己。你的弱点是什么?也许你总是忘记在提交之前更新测试;或许你回复的电子邮件真的很糟糕。了解你的弱点,以便自己可以积极地解决这些问题。

49. 保持好奇心

这个行业在不断发展,所以好奇心很重要。如果你不了解某些内容,无论是项目要求还是某一行代码,请说出来。没有人会嘲笑或批评你,你会创建更好的代码。

Book

50. 不要试图学习所有的东西

世界上有无限的知识库,根本无法征服它。选择几个主题来掌握就行了。你可以获得有关其他领域的工作或与自己相关的知识,但无法掌握所有的内容。

51. 不要敝帚自珍

写了一些代码并不意味着你需要对它附加情感。没有人喜欢自己的工作被抛弃,但是代码总有一个生命周期,所以没有必要对它有所捍卫。

52. 召回你的团队

优秀的团队拥有彼此的支持。这创造了一个安全的空间来尝试新事物,而不必为成见担心。

53. 在社区中寻找灵感

找一些你钦佩的行业人士。它将激励你完成自己的项目或尝试新事物。

54. 重视你工作的价值

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

Phone

55. 保持专注

关闭微信通知、短信、电子邮件和社交媒体,这将有助于你集中精力并最大化你的工作效率。某人不会因为你需要 30 分钟后再回复他的消息而崩溃。

56. 支持

试着并支持你的团队成员,无论是参加重要演示还是他们遇到困难,去帮助他们吧。

57. 给予必要的信任

如果有人做得很好,请告诉他们。赞同与并帮助是与团队成员建立信任的好方法。这样他们也更有可能会帮助你。

58. 测试你的代码

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

59. 做计划

当你收到新需求或新的bug提示时,请先制定行动计划。你需要什么条件来解决这个问题或开发这个功能?即使只花上几分钟来制定计划,也可以帮你节省好几个小时。

60. 学习使用伪代码

伪编码是一项非常棒的技能,因为它允许你在不浪费时间编写代码的情况下思考复杂问题。在纸上写下一个方法,运行不同的测试用例并查看陷阱的位置。

Win

61. 记录你的成就

如果你在工作中获奖,请将其写下来。如果你开发了一个关键功能,请将其写下来。你积累的这些东西,可以帮你进步,或着在艰难的一天去鼓舞士气。

62. 学习编程的基本功

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

63. 选择长寿和可维护性的技术

虽然测试最新的技术很有趣,但选择那些在企业级应用中易于维护的技术。你的团队将会在未来几年内感谢你。

64. 学习设计模式

设计模式是构建代码的有力工具。你可能不需要在每个项目都去使用它们,但对它们有基本的了解将有助于构建更大的应用。

65. 不要装B

为了可读性和简单性,不要通过编写复杂的代码来炫耀你的花哨的编程技巧。这将使你的团队成员更容易合作。

Debt

66. 偿还技术债

技术债可能会产生巨大的性能影响,所以如果可以的话就重构你的代码。

67. 小步快跑

不是每个月进行一次大规模升级,而是应该更频繁地小规模更新。这样可以大大的减少引入错误和破坏性变化的可能性。

68. 尽快并经常提交

尽快并经常提交是确保你工作整洁的最佳方式,并且还减少了恢复因意外引发的代码丢失的压力

69. 知道何时去寻求帮助

你不仅不应该害怕寻求帮助,还应该学会什么时候去寻求帮助。在寻求帮助之前,你应该始终去尝试解决问题,并记录你尝试过的东西。但是当你被一个简单的问题困扰了一个多小时,成本就超过了收益,你应该去求助某一位同事。

70. 有效的提问

在提问时,尽量做到具体。

71. 获得有关未完成工作的反馈

你的工作不需要为了获得反馈而完成。但如果你不确定方向是否正确,请让可信赖的同事检查你方案的有效性。

Read

72. 阅读文档

文档是关于技术的最纯粹的真实来源,因此学习阅读文档可以帮助你快速成为专家。

73. 尝试所有的可能性

没有什么能阻止你尝试解决问题。你有什么损失?

74. 在会议上发言

你的想法和意见很有价值,参加会议将有助于你与团队和管理层建立良好的关系。

75. 跨团队协作

如果你有机会与贵公司的其他团队合作,那就去吧。

76. 有激情项目

当你每周工作40个小时的时候,为激情项目花些时间是很重要的。它们可以帮助你重新激发对编程的热爱,并尝试在工作中无法用到的新技术。(译者吐槽:万恶的美帝没有996)

77. 制定你的职业目标

规划你职业生涯的理想轨迹非常重要。如果你不这样做,就是在无的放矢。

Talk

78. 参与对话

评论博客、参与Twitter主题、与社区互动。作为一个活跃的旁观者而不是小透明,你将学到很多东西。

79. 确定任务的优先级

学会确定任务的优先级将有助于提高工作效率。即要保证完成即时的日常任务,也要使长期任务的待办事项列表保持活跃,并按重要程度排序。

80. 不要忽视细节

细节可以在项目中产生重大影响。

81. 相信你的队友

你的队友由于他们的技能被雇用。使用并相信他们可以完成工作。

###82. 学会委派

如果你是团队的领导,请学习如何有效地进行委派。它将为你节省时间并减少挫折感。因为单凭你自己是无法完成这一切的。

83. 不要将自己与别人比较

你唯一应该比较的是:昨天的自己。

84. 与志同道合者在一起

学习编程将是一个漫长且艰苦的旅程。志同道合的人会鼓励你继续前进。

Build

85. 不要在一开始就上规模

在一开始就搞大规模是一条走向失败的道路。在构建时要考虑可伸缩性,但在需要之前不要去进行扩展。这样就不会因为不必要的臃肿而压倒团队,同时是你的团队保持了成长的能力。

86. 权衡性能的影响

如果你想使用一种很酷的新技术,应该权衡这样做的性能影响。你可以实现类似的东西而不会受到性能影响吗?如果是这样,你可能需要重新考虑自己的方法。

87. 不要歧视

不要歧视新技术或新想法。对于学习新技能持开放的态度,也不要歧视别人,每个人都值得尊重。

88. 申请你没有资格的工作

你永远也不会满足工作要求中所有的条目。所以只要有机会就去申请!就算失败了你能有什么损失吗?

模块化你的代码

你可以在一个很长文件中编写所有代码,但这很难维护。通过模块化,可以确保我们的代码易于维护和测试。

90. 不要只是复制和粘贴

如果你要从 Stack Overflow 复制并粘贴解决方案,应该完全理解它的作用。搞懂你打算引入的代码。

Coding

91. 创造一个激励自己的环境和设置

如果你喜欢自己的工作空间和技术设置,那么你将更有动力去工作。去做你自己吧。

92. 记住你来自哪里

我们都是从同一个起点开始的。随着你的技能和职业的发展,请不要忘记你的初心。

93. 保持乐观

如果出现问题,请尽量保持乐观。明天将会是新的一天。乐观将有助于你的团队充满活力并保证你的心理健康。

94. 不断重新评估你的工作流程

某些东西现在起作用并不意味着它总事会如此。重新评估你的工作流程并在必要时进行调整。

95. 学习如何在家工作

如果你有能力在家工作,请学会有效地工作。找一个单独的办公空间,没有分心。 Boneskull 写了一篇关于在家工作的好文章,你应该看看。

Accessibility

96. 无障碍准则

可访问性不是事后的工作,也不一定非常困难。每个人都应该能够使用你的产品。

97. 履行你的承诺

如果你告诉某人将在某个特定日期之前交付一些东西,那么就要履行这一承诺。如果你无法在截止日期之前完成,请尽早说出来。

98. 积极主动

如果你有一些额外的资源,可以用来帮助你的团队!他们会很感激你的。

99. 建立一个令人惊叹的个人作品集

一个很棒的个人作品集会让你与众不同。用它来展示你的编程和设计技巧!

100. 不要忘记你喜欢编程的原因

从事这个职业是因为它引起了你的兴趣。如果你感到沮丧和怨恨,请休息一下。给自己留出空间,重新点燃你对编程的热情。

101. 分享你的知识

如果你学到了很酷的东西,请分享它们!出席当地的聚会或会议。在午餐期间去教你的同事或你带的小弟。分享你的知识可以增强你对它们的理解。


Finished

就是这样!希望你能够成为优秀的程序员!

欢迎关注前端公众号:前端先锋,领取前端工程化实用工具包。