学IT,好前程,就来千硕教育

怎么样才能成为一名优秀程序员 这101个建议

2019-11-14 09:13:02来源:武汉千硕教育IT学院作者:千硕君

  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. 分享你的知识

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

©CopyRight 武汉千硕教育IT学院 2020