原文链接为101 Tips For Being A Great Programmer (& Human),由Emma Wedekind在Dev社区上发表,并由本人进行翻译转载。如题,本篇文章对工作和生活提出了一些建议,希望你我都能从中受益!
上篇链接:成为优秀程序员(和人)的101条建议(上)
51. Kill your darlings
Kill your darlings(译者注:darlings在文学上意指您很喜欢,但是没有实际贡献的文字)
没有人希望自己的工作成果被丢弃,但是代码是有生命周期的,所以不要执着于你的代码。
52. Have your team's back
背靠你的团队
一流的团队成员之间都是互相协作的。它可以让你无后顾之忧,不惧挑战。
53. Find inspiration in the community
在社区之中寻找灵感
在业界中寻找值得你尊敬的人,这将激励着你继续你的项目或者去尝试新事物。
54. Value your work
重视你的工作
不论你经验的多寡,或者你的职位是什么,你的工作都是有价值的,创造出它应有的价值。
55. Disable distractions
远离分散你注意力的东西
关掉你的应用通知,消息,邮件和社交软件有助于你集中精力,并让你的工作效率最大化。晚30分钟回复别人的消息并不会影响你们友情。
56. Be supportive
提供支持
支持你的团队成员,不论是通过参加一场重要的演讲,或者在他们陷入困境时伸出援助之手。
57. Give credit where credit is due
有功则赏
如果有人出色地完成了工作,请告诉他们。积极强化(一种过程激励) 是团队成员之间建立信任的好方法,并且有助于他们的职业生涯。这样他们也更有可能帮助你。
58. Test your code
测试你的代码
测试至关重要,包括单元测试,回归测试,集成测试,端对端测试等。测试你的代码是你的产品更加的稳定。
59. Plan out your approach
制定计划
当你收到一份开发新功能的请求或者一份新的bug报告,首先制定个计划。你需要什么来开发这个功能或者解决这个问题?即使仅仅花上数分钟的时间来计划,也能减少之后的失败带来的沮丧感。
60. Learn to pseudocode
学会使用伪代码
伪代码编程是一项非常棒的技能,它允许你在不浪费时间编写成串代码的情况下思考复杂问题。
把伪代码写下来,考虑不同的测试用例以查找出漏洞所在。
61. Keep track of your achievements
持续记录你的成就
如果您在工作中获奖,请将其记录下来。
如果你开发了一个关键功能,请将其记录下来。
你做过的事项清单有助于你的晋升并会在艰难的日子里激励你。
62. Learn programming foundations
学习编程基础
学习一些基本的排序和搜索算法及数据结构。
这些知识都是语言无关的,不论你使用何种语言,它都能帮助你解决问题。
63. Choose technology for longevity & maintainability
选择稳定并可维护的技术
虽然尝试最新的技术很有意思,但是在企业级应用中应该首先选择那些易于维护的技术。你的团队在数年后也会因此而感谢你的。
64. Learn design patterns
学习设计模式
在架构代码时,设计模式是非常有用的。
你可能并不需要在每个项目中都用到他,但是对设计模式有个基本的了解有助于搭建大型项目。
65. Reduce ambiguity
减少歧义
与其写复杂的代码来炫耀你的编程技能,不如提高可读性和简单性。这会使你的团队成员更容易地参与进来。
66. Pay off technical debt
偿还技术债务
技术债务可能会产生巨大的性能影响,所以如果你能够重构,你就要重构。
67. Ship often
多迭代
与其每个月来一次重大升级,不如用较小的更新进行快速迭代。这样引起错误和兼容性问题的可能性更低。
68. Commit early and often
及早地、细粒度地提交代码
及早地、细粒度地提交代码是最佳实践。这有助于保持你的工作脉络清晰整洁,同时减轻因意外而回退重要变更时所带来的的风险。
69. Learn when to ask for help
学会寻求帮助的时机
你要勇于向他人寻求帮助,但是你得知道何时向他人寻求帮助。
在向他人寻求帮助之前,你应该先尝试着自己来解决问题。
但是当你被一个简单的问题困扰了一个多小时,得不偿失,这时你就应该向你的同事寻求帮助了。
70. Ask effective questions
有效提问
提问要明确,具体。
71. Get feedback on unfinished work
从未完成的工作中获得反馈
并不是只有完成工作才能有所收获。
当你无法明确方向时,可以向信任的同事请教你的方案的可行性。
72. Read documentation
阅读文档
对任何技术而言,官方文档都是最正确的情报源。
阅读官方文档才是使你成为专家的最快路径。
73. Try all the things
尝试一切
没有什么能妨碍你对解决问题的尝试,所以何妨一试?
74. Speak up in meetings
在会议上发言
你的想法和意见是有价值的,所以参加会议将帮助你与你的团队和管理层建立融洽的关系。
75. Collaborate cross-team
跨团队协作
如果你有机会和公司里的其他团队一起工作,那就去吧。
76. Have passion projects
有一个让你保持激情的项目
当你每周工作40小时,花时间在你感兴趣的项目上是很有必要的。它们可以重新激发你对编程的热爱,并帮助你尝试在工作中可能无法接触到的新技术。
77. Define your career goals
做好职业规划
了解你自己想要的职业目标非常重要。如果你不这么做,就容易做无用功。
78. Get involved in the conversation
交流互动
评论博客,参与Twitter帖子。与社区互动。积极参与其中要比当一个局外者更能学到东西。
79. Prioritize tasks
为任务排定优先级
学会区分任务的轻重缓急将帮助你提高工作效率。列出日常任务以及长期任务的待办事项清单,并按最重要的顺序排列它们。
80. Don't overlook the details
不要忽略细节
细节决定成败。
81. Trust your teammates
信任队友
你的队友是因为他们的专业技能而被雇佣的。
信任他们,完成工作。
82. Learn to delegate
学会分派任务
如果你是领导,学会如何有效地分派任务。
这将为你节省时间并减少沮丧感。
你无法独自完成一切。
83. Don't compare yourself to others
不要拿自己和他人做对比
唯一要比较的应该是昨天的自己。
84. Surround yourself with allies
和志同道合的人一起
学习编程并不轻松,这将是一个漫长的过程。 让自己与那些帮助你成长并鼓励你继续前行的人在一起。
85. Don't start for scale
把服务扩展往后放
从一开始就进行规模化的扩展,必定会挫折。
在构建时要考虑可伸缩性和可扩展性,但在真正需要它之前不要落地。
这样,你就不会因为不必要的开发而压倒你的团队,而且仍然相应的能力。
86. Weigh performance implications
考虑性能影响
如果你想使用一个酷酷的新技术,你应该考虑到这么做对性能的影响。
如果你能在不影响性能的情况下实现类似的功能,那么你就该从新考虑是否使用这项技术。
87. Don't discriminate
消除偏见
不要歧视新技术或新想法,对新技术的学习保持开放的态度。
同样不要歧视任何人,我们都应该得到尊重。
88. Apply for jobs you aren't qualified for
即使资格不够,也可以申请工作
你永远无法满足工作的每一个要求。所以抓住机会申请吧!你又没有什么损失!
89. Modularize your code
模块化代码
你可以把你的所有代码都写在一个文件中,但这不利于维护。
模块化可以提高我们代码的可读性并使之易于测试。
90. Don't JUST copy and paste
不要只会复制粘贴
如果你要从网上复制一个解决方案时,你应该先完全地理解它。你要理解你要复制的代码的意图。
91. Create an inspiring environment/setup
建立良好的环境和机制
如果你享受你的工作环境,你将会更有动力。
92. Remember where you came from
不忘初心
我们都是这么走过来的,就算你的技能和职称得到了发展,也不要忘记初心。
93. Try to remain optimistic
尝试保持乐观心态
如果某件事进展并不顺利,尝试着保持乐观心态。
明天是崭新的一天,乐观有助于你的团队保持活力和你心理健康。
94. Continually re-assess your workflow
持续评估你的工作流程
某些东西现在有效并不意味着将来也有效。
请重新评估你的工作流程并在必要的时候做出调整。
95. Learn how to work from home
学会远程办公
如果你有在家工作的能力,学会有效地做到这一点。找一个独立的办公空间,远离干扰。Boneskull 写了一篇很棒的关于远程办公的文章,你应该去看看。
96. Code for accessibility
编写具有可访问性的代码
它需要易于访问,这并不困难。
应该让所有的群体都能够使用你的产品。
97. Honor your commitments
遵守承诺
如果你承诺将在某个时间点交付成果,务必信守承诺。
如果你无法按期完成,请提早说出来。
98. Be proactive
积极主动
如果你有余力,找到一个可以帮助你的团队的任务并完成它!这对你的团队是很大的 帮助,团队成员也会对你心存感激的。
99. Build an amazing portfolio
制作一些优秀的作品
优秀的作品让您与众不同。这也是展示你的编程和设计技能的机会!
100. Remember why you love programming
不要忘记你为何喜欢编程
你选择这份职业是源于对它的兴趣。 如果你感到沮丧和不满,那就休息一下,给自己一点时间,重新点燃你对编程的热情。
101 Share your knowledge
分享你的知识
如果你学到了一些很酷的东西,把它分享出来吧!在会议上分享出来,或者在午餐时间教你的同事或学员。通过分享,你的知识会在传播的同时得到强化。
网友补充:
102.Do Physical Exercises
多运动
身体是革命本钱
103.Sleep enough!
睡眠充足
睡眠是人的身体需要,提高睡眠质量。
笔者补充
多喝水!😂