成为伟大程序员(人)的101条建议

成为伟大程序员(人)的101条建议

要成功先成人。

以下是根据Emma Wedekind的文章101 Tips For Being A Great Programmer (& Human)和自己的理解所做的翻译。

101 Tips For Being A Great Programmer (& Human)

1. Get good at Googling

学会使用搜索引擎。

作为一个程序员,学习如何寻找问题的答案是非常重要的。
通过有效地学习使用搜索引擎,将节省大量的开发时间。

2. Under promise and over deliver

少承诺,多交付。

最好让你的团队知道一项任务需要三周时间,并且在两周内完成,而不是相反。
通过少承诺和多交付,你将建立信任。

3. Be nice to your designers; they’re your friends

对设计师好一点;他们是你的朋友。

设计师为用户提供解决方案。
向他们学习,团结一致,打造高效的产品。

4. Find a mentor

找个导师。

找一个你可以学习的人,从中激发灵感。
如果需要技术指导,Coding Coach很不错!

5. Be a mentor

做个导师。

做一个别人可以学习的人,从中激发灵感。
可以在Coding Coach当一名导师。

6. Write useful comments

写有用的注释。

写下解释“为什么”而不是“是什么”的注释。

7. Name variables and functions appropriately

适当地命名变量和函数。

函数和变量应该准确地表示它们的用途,所以mycoolFunction没有任何意义。

8. Take vacations

适当休假。

我们都需要时间放飞自我。
去你一直想要的旅行吧。
你的大脑和同事会感谢你的。

9. Delete unused code

删除未使用的代码。

没有理由增加更多的技术债务。

10. Learn to read code

学习阅读代码。

阅读代码是一项被低估的技能,但却是一项无价的技能。

11. Establish a healthy work/life balance

保障工作与生活之间的平衡。

长时间工作后,你需要时间进行减压。
关闭工作通知,从手机上删除应用程序。

12. Only schedule necessary meetings

只安排必要的会议。

问题可以通过电子邮件或slack来解决吗?如果可以,避免开会。
如果不可以,考虑缩减会议时间。

13. Pair program

结对编程。

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

14. Write great emails

写漂亮的电子邮件。

通过简洁明了的方式,学会在电子邮件中捕捉你的听众。
没人想看你的臭长达4页的邮件。

15. Get involved in the community

参与社区活动。

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

16. Clean up your branches

清理你的分支。

清理版本控制分支,就像在你的亲戚来拜访之前清理你的房子一样。
如果你不需要它,就把它扔掉;不要把它扔到壁橱里。

17. Don’t gate keep

不要排斥他人。

学会包容。
不要告诉别人他们还不够好,不适合做这个行业。
每个人都有自己存在的价值。

18. Keep learning

持续学习。

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

19. Don’t give up

永不言弃。

这并不总是容易的。但我们都是从这里开始的。
你可以做到。

20. Take tasks that scare you

挑战你不擅长的任务。

轻易就能完成的任务,不会帮助你成长。

21. Clarify requirements before starting

开始着手前,先明确要求。

在深入编写代码之前,应该了解验收标准。
这样可以节省时间和减少以后的痛苦。

22. Have a toolbox

有工具箱。

有一套你从里到外都理解透彻的工具。
知道哪些工具可以达到什么目的,什么时候可以从使用中受益。

23. Learn to love constructive criticism

学会喜爱建设性的批评。

向信任的同事和朋友要求建设性的批评。
它将帮助你成长为一个程序员和一个人。

24. Be open-minded

放开思考。

技术变化很快。
不要反对新技术,先学习后形成观点。

25. Stay relevant

走在最前沿。

通过最新的出版物、博客、播客和技术新闻,了解最新的技术新闻。

26. Focus on problem solving

专注于解决问题。

较强的解决问题的能力可以解决任何问题。
仔细研究解决问题需要什么能力。

27. Stay humble

保持谦虚。

不管拥有什么头衔,或者在哪个公司工作,都要谦虚。

28. Learn to give a great presentation

学会做精彩的演讲。

学习如何吸引听众并进行有效的演讲。

29. Examine all solutions before jumping in

在开始前检查所有解决方案。

不要直接跳到第一个可能的解决方案。
在开始编程之前检查所有路径。

30. Find your niche

找到自己的领域。

科技产业有许多领域。
找到你最感兴趣的领域,成为专家。

31. Develop good habits

养成良好习惯。

试着建立一个健康的,始终如一的习惯。
例如消除干扰、时间限制任务、参加会议、首先从最重要的任务开始。
这可能需要一些时间来适应,但从长远来看是值得的。

32. Learn to debug

学习调试。

了解浏览器调试器工具。了解使用IDE调试的细节。
通过学习调试问题和跟踪错误的最有效方法,可以帮助解决最困难的Bug。

33. Exercise your current skills

锻炼已获得的技能。

仅仅因为你现在知道一项技能并不意味着你不应该练习它。
除非有意识地改进,否则技能会随着时间的推移而褪色,而且这个行业发展得如此迅速,继续实践是很重要的。
摆脱“我一直这样做”的心态,问一句“有更好的方法吗?”

仅仅因为你现在拿到六个面包,并不意味着你可以一天吃一个然后就这样一直过下去。

34. Understand the why

知道为什么。

有时你必须表达自己的观点,因此了解背后的原因很重要。
为什么溶液A比溶液B好?提供一个有效的论据,你的意见会更加合理。

35. Know your worth

知道自身价值。

你是一种商品,应该得到适当的报酬。
注意你所在行业的平均水准。
如果你赚的钱少了,是时候和你的经理聊聊了。
追求你应得的。

36. Don’t be afraid to ask for help

不要害怕寻求帮助。

如果你在一个问题上陷入困境,花太多时间寻找解决方案,那么是时候寻求帮助了。
我们都是人,都需要帮助。向同事寻求支持并不羞耻。

37. Learn to learn

学会如何学习。

人们以不同的方式学习。
有些人通过视频教程学习得最好,另一些人通过阅读一本书学习得最好。
找出你的学习风格并努力练习。

38. Be kind

友善点。

有时你会被要求提供对同事的反馈。
友善点。
你可以说出你对黛博拉缺乏主动性的看法,而不必把她撕成碎片。

39. Take breaks

休息一下。

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

40. Track your progress

跟踪进度。

学习代码需要时间,当你看不到进展时会非常沮丧。
因此,跟踪你的成就和实现目标的进展是很重要的。
在你的电脑旁边放一个小单子,每次你完成一件事,都要把它写下来,不管它有多小。
小小的成就会带来更大的回报。

41. Don’t rely on a framework or library

不要依赖框架或库。

学习语言的细微差别要比学习框架或库的内外差别好。
你不一定要先学习一个框架或库,但了解框架或库的工作方式将有助于你编写更干净、性能更好的代码。

42. Learn to love code reviews

学会喜欢代码审查。

让别人阅读和分析你的代码可能是可怕的,但可以提供宝贵的反馈,这将使你成为一个更好的程序员。
你还应该努力提高进行良好代码审查的能力。

43. Learn about tangential spaces

了解切向空间。

学习一些关于切向空间的基础知识,例如设计、营销、前端开发或后端开发。
它将帮助你成为一个更全面的程序员。

44. Don’t choose the comfortable technology; choose the right one

不要选择舒适的技术;选择正确的技术。

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

45. Take responsibility for your mistakes

对自己的错误负责。

所有人都会犯错,在你的职业生涯中,你会犯很多错。
因此,当你犯了一个错误时,承认并承担责任是很重要的。
它将使你与你的团队成员和管理层建立信任。

46. Review your own code

审查自己的代码。

发送请求前,审查自己的代码。如果这是同事的工作,你会如何评论?
在请求代码审查之前,首先尝试诊断问题或错误是很重要的。

47. Learn from your failures

从失败中吸取教训。

失败只是没有达到预期的结果,并不一定是件坏事。
在我们的职业生涯中,有许多失败。
从失败中吸取教训。下次你能做什么来避免失败?

48. Recognize your weaknesses

认识到自己的弱点。

了解你自己。你的弱点是什么?也许你总是忘记在push之前更新测试。
或者你真的不擅长回复邮件。
了解你的弱点,这样你就可以积极工作来解决它们。

49. Stay curious

保持好奇。

这个行业在不断发展,因此好奇心将是重要的。
如果你不明白什么,不管是项目需求还是一行代码,大声说出来。
没有人会批评你追求答案,结果你会创建更好的代码。

50. Don’t try to learn everything

不要试图什么都学。

世界上有一个无限的知识库,不可能完全征服它。
选择几个要掌握的主题,剩下的就不谈了。
你可以获得关于其他领域的工作或无关紧要的知识,但你不可能掌握一切。

51. Kill your 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

学习如何在家工作。

如果你有能力在家工作,就要学会有效地在家工作。
找一个独立的办公空间,不要分心。

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

分享你的知识。

如果你学到了一些很酷的东西,分享吧!出席领域的集会或会议。
午餐时教你的同事或学员。
分享你的知识可以在传播财富的同时强化你的知识。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值