101 个让你成为更优秀开发人员的技巧
对于像你我这样的开发者来说,身处编程的世界充满了挑战和机遇。有很多东西需要学习和掌握——我们有像 React、Vue、Angular 和 Svelte 这样的 JavaScript 框架。我们有静态站点生成器、JAMstack、无服务器、Git 等等。
虽然广阔的 Web 开发生态系统为每个人提供了各种机会,但要跟上日新月异的技术发展却并非易事。不仅如此,你还有更多问题需要回答:我想在哪里工作,和谁一起工作?我想成为一名全栈开发人员吗?我想从事正式工作还是选择合同工?我该如何发展自己并学习新技能?
我倾注了我所有的知识和经验,总结出这 101 条技巧,希望能对你的 Web 开发者生涯有所帮助。无论你是刚入门还是已有一定经验,这些技巧都希望能对你有所帮助。这份清单并非详尽无遗,也并非每一条都完美契合,但我希望你能从中汲取一些灵感或指导。
帮助 Web 开发人员的 101 个技巧
1. 尝试理解 Git 概念
了解基本命令很好,但也要尝试理解底层概念。
2. 学习干净代码的概念
理解干净代码哲学可以帮助您生成更好、更易读的代码,并减少失败。
3. 建立作品集网站
您应该为自己的工作感到自豪,并与他人分享,让未来的雇主和客户有机会雇用您。
4. 撰写技术博客文章
写博客文章有很多好处。如果你尝试向别人解释你所学的东西,学习新知识通常会更容易。回馈社区也是一个很好的举动。
5. 获得你的第一份自由职业
让2020年成为职业转型的一年,找到你的第一份合同工工作。浏览提供项目机会的网络平台,联系招聘人员,参加社区活动和会议,或者看看你的雇主是否愿意聘请你成为自由职业者。
6.学习JavaScript基础知识
JavaScript 运行着 Web。尽管 React 和 Vue 等框架层出不穷,JavaScript 可能仍会继续存在。所以,学习 JavaScript 基础知识吧。
7. 学习一个大型 JavaScript 框架
现代 Web 应用程序通常由 Vue、React 或 Angular 等框架提供支持。Facebook、Google 和 Airbnb 等公司都在维护和使用它们。因此,作为一名前端开发人员,你至少应该了解其中一种。但归根结底,JavaScript 只是其中一种。
8. 尝试晋升至高级职位
了解成为高级开发人员需要具备哪些条件。除了经验之外,拥有同理心和良好的沟通能力等软技能也至关重要。
9. 指导初级开发人员
高级开发人员最重要的交付成果是培养更多高级开发人员。因此,尽量帮助培训他人,但不要颐指气使。
10. 为他人创建教程
如果您学习了新的编程语言、功能或技术,请与他人分享您的知识。
11. 尝试 VSCode 及其扩展
如果您还没有使用 VSCode 作为主要 IDE,那么绝对应该尝试一下。它能让您成为更高效的开发者,并且它有很多很棒的扩展,例如代码格式化、样式设置和自动完成功能。
12. 离开有害的工作场所
如果你在一个“有毒”的地方工作,或者遇到一个“有毒”的老板,那就去寻找其他工作机会吧。人通常不会改变,而你的才能太宝贵了,不容浪费。寻找一个能够欣赏你和你的技能的人。
13. 为开源项目做贡献
为开源做出贡献或许是每个开发者都想过的事情。你可以参与并帮助社区,在真实环境中练习编程,并将所得成果添加到你的作品集中。许多开源软件项目都欢迎新用户加入他们的代码库。
14. 学习一门完全不同的编程语言
为了开阔视野,走出舒适区,学习一门完全不同的编程语言或许是个好主意。例如,如果你通常使用 Java,可以尝试 JavaScript、Rust 或 Golang。尝试一些你从未接触过的东西。
15. 部署无服务器功能
无服务器函数是小型的、具有单一用途的程序化函数,托管在托管基础设施上。例如,您可以使用 AWS Lambda 来托管它们。许多项目都在使用它们,因此值得一试。
16.学习 GraphQL 概念
过去几年,RESTful API 已成为 Web 开发的事实标准。但随着 Facebook GraphQL 的兴起,你绝对应该尝试学习其背后的概念。
17. 构建 JAMstack 应用程序
JavaScript、API 和 Markup——由这些技术组成的应用程序构成了 JAMstack。JAMstack 功能强大、轻量级,并且不依赖专用后端。非常适合用于企业网站或您的作品集网站。
18. 看看 OWASP Top 10
开放式 Web 应用程序安全项目为开发安全应用程序提供了建议和最佳实践。
19. 多进行结对编程
结对编程是程序员之间共享知识的最佳方式之一。你可以向经验丰富的开发人员学习,也可以帮助初级开发人员。无论哪种方式,这都是一件好事,可以帮助你保持专注。
20. 选择加入代码审查
代码审查在许多项目中都是强制性的,许多公司也要求在代码合并之前进行审查。你应该经常参与这样的审查。如果你是初学者,可以通过审查其他开发人员的代码并向他们提问来学习。如果你经验丰富,这有助于减少代码库中的错误。
21. 专注于解决问题
成为一名优秀(高级)开发人员的关键在于专注于解决方案而非问题。始终努力寻找应对挑战的方法。
22. 学习如何调试
编程代码永远不会完美。肯定会有 bug 和错误。但为了找到并修复它们,你需要学习如何调试代码。
23. 不要低估自己
我需要时刻提醒自己,无论我向客户收取多少费用,或向雇主索要多少报酬,我都是值得的。你掌握的所有技能、你在编程上投入的所有时间,以及你宝贵的个性,都应该能让你充满信心地进行谈判,为自己争取利益。
24.从失败中学习
每个人都会犯错。即使是最成功的开发者也会犯很多错误。但重要的是,你要从这些错误中吸取教训,从而不断成长——无论是在开发者技能方面,还是在个人生活中。
25. 始终测试你的代码
为代码编写测试,无论是单元测试还是集成测试,似乎都会带来额外的工作,而且你可能会认为自己编写的代码完美无缺,没有任何错误。这其实是错误的。几乎所有公司和开源项目都要求你测试代码。你甚至应该在个人项目中也进行测试,以便掌握测试方法。
26.学习设计模式
设计模式是构建软件应用程序架构的基石。你不一定每个项目都需要它们,但了解一些主要的设计模式总是有益的。
27. 不要犹豫寻求帮助
寻求帮助本身并没有什么不好。不过,在寻求他人帮助之前,最好先自己尝试一下。总的来说,如果你遇到困难,最好向能够帮助你的人寻求帮助。
28.参加技术会议
参加会议是了解新技术、融入社群的好方法。如果员工带回知识并与同事分享,雇主通常会提供折扣或支付费用。
29. 在技术会议上发言
如果有机会,你应该在会议上谈论你感兴趣的话题。即使你性格内向,这也能帮助你建立自信。
30. 尽量保持相关性
说起来容易做起来难,但为了跟上快速变化的科技世界,你需要不断学习和提升技能。阅读博客文章、参加会议、观看视频、订阅新闻通讯、阅读书籍、参加(线下)课程。可能性数不胜数。
31.保持开放的心态
没有什么是理所当然的。没有技术,没有框架,没有库。你必须不断适应才能在这个行业取得成功。开放的心态不仅仅适用于技术——最终,重要的是人。
32.加入社区
你不必孤军奋战。加入一个由志同道合的人、其他开发者、作家或任何你感兴趣的人组成的社区,真的可以帮助你提升专业技能,发现新的机会,甚至结识新朋友!
33. 成为专家
包括我在内的很多人都是通才,这意味着他们精通很多事情,这完全没问题。然而,在科技行业的某些职位上,有些事情需要非常精通,而这些领域的专家需求量很大,而且薪水也很高。
34. 运送物品
很多人害怕把东西发布到公众面前。产品、工具、文章——都没关系。关键在于:直接发布!要么一开始就成功,要么通过调整学到新的东西!
35. 经常练习
成为一名程序员并不需要天赋异禀。几乎所有东西都可以学习,而最好的方法就是编程。所以,坚持每天写代码,你就会自然而然地变得更好。
36. 开始个人项目
很多人以为“真正的程序员”只会写代码,而且至少同时拥有三个个人项目。这当然不是真的!但个人项目可以成为探索新技术、尝试新事物、构建和销售产品,或者仅仅是找点乐子的好机会。不妨试试!
37. 完成个人项目
启动个人项目很容易,但要把它最终公之于众却并非易事。个人项目的“坟墓”里挤满了各种被遗弃的项目。你应该尝试完成一些事情——那种感觉太棒了!
38. 学习新课程
你上次学习新东西是什么时候?无论是为了工作还是为了自己?也许是时候走出舒适区,学习一门你感兴趣的新课程了。不一定非要学习编程。也可以学习一些社交技能,或者烹饪之类的技能!
39. 多读书
互联网给我们带来了许多新的学习机会——博客、播客、视频课程……但对我来说,没有什么比一本经典的平装书更好了。所以,如果你想尝试一些世世代代都行之有效的古老方法——那就读一本书吧!
40. 支持他人
施比受更美好——帮助他人确实能提升你的人格。而且通常情况下,长期来看,这会带来回报。新的工作机会或友谊——帮助他人的感觉真好!
41.学会分析问题
作为一名开发人员,在解决问题之前,通常需要进行广泛的分析。这是一项你可以而且应该学习的技能。有很多很棒的课程专门教你如何分析问题。
42. 重构代码库
代码库就像阁楼。房子刚建好时,它们看起来很干净,但随着时间的推移,它会变得拥挤不堪,堆满了许多实际上不再需要的东西。代码也一样。因此,不时检查代码,看看哪些部分可以重构,甚至舍弃,是一个明智的决定。
43. 结识新朋友
很多开发者,我自认为是内向的人。所以他们经常告诉我,他们很难结识新朋友。这当然可以理解。但相信我,社交对每个人来说都很难,所以害怕不敢当面或在网上与人交流。线上聚会是克服恐惧的好方法!
44.享受生活
这一点你或许显而易见,但也可能并非如此。享受你所做的一切,无论是生活还是工作。如果你不喜欢自己正在做的事情,你就永远不会全身心投入。即使这意味着要换工作或职业。做你真正喜欢的事!
45. 不要听太多别人的话
这条建议很奇怪,因为我实际上在告诉你一些事情,而且你显然也在读。但这是真的。外面有那么多人,甚至有更多不同的看法,告诉你该怎么做。但最终,这是你的人生,你的选择,所以不要盲目跟风,要保持怀疑态度,自己做研究!
46. 远离社交媒体
社交媒体确实是一把双刃剑。你可以结识优秀的人,阅读精彩的文章,但也浪费了大量时间。由于点赞和回复的奖励机制,这些东西很容易让人上瘾。所以,定期远离社交媒体,恢复一些活力吧!
47. 创建社交媒体账户
虽然我说过社交媒体有时很危险,但它也是结识优秀人才、学习新事物、加入社群或进行自我营销的好机会。我建议你尝试一下,自己决定是否喜欢。
48.创建LinkedIn帐户
LinkedIn 已成为职场关系的事实上的标准。如果你认真对待自己的职业生涯,并希望定期获得新的机会,那么一份精心制作、随时更新的个人资料至关重要!
49. 管理好你的社交账户
在我看来,放弃社交媒体账户,尤其是一个没有更新的领英账户,比没有账户更糟糕。所以,花点时间好好维护一下这些账户吧!
50. 打下坚实的基础
许多初学者会直接进入框架,甚至经常在框架之间切换。我个人认为,如果一个框架能引起你的兴趣并适合你的学习风格,那么从它开始学习并没有什么问题。然而,在职业生涯的某个阶段,打下坚实的基础至关重要,因为框架会不断变化,但基本原理却会一直存在——所以它能帮助你适应新的情况和挑战。
51. 利用免费资源
学习任何编程和 Web 开发主题的优秀资源有很多,但有时很难区分好坏。可以向朋友、同事或社交媒体寻求推荐。例如,看看 YouTube 上的观看次数。但不要盲目跟风,要始终反思你所阅读或观看的内容!
52. 找到你的利基市场
拥有广泛的知识本身是一件好事,因为它能打开许多大门,带来很多机会。然而,在你感兴趣的领域变得非常优秀,也会让人非常满足。这让你更容易谈论它、写作它,而且编程本身也非常有趣!
53. 学习如何最好地学习
这也是我必须自己探索的东西。很多人建议你按照特定的顺序或通过特定的媒介来学习特定的东西。但事实是,没有人能真正告诉你如何学习。相反,你应该尝试不同的策略和技巧,自己找到最适合自己的学习方式!
54.学会欣赏失败
当你使用代码时,尤其是在将代码交付生产、编写教程、录制课程、为他人提供帮助时,总是存在错误、失误和失败的可能性。不要因此而灰心丧气,而要抓住这些机会,让自己变得更好,学习新知识,并增强自信!
55. 学会庆祝成功
说起来容易做起来难,而且常常被忽视。如果你取得了一些成就,比如获得了新的认证、晋升、找到了一份新工作、发表了一篇获得大量阅读量的新博文,或者你的第一款产品上线了——那就庆祝这些成就,并让其他人知道吧。
56. 开始编码
如果你是编程新手,你可能会被海量的学习资料、一篇又一篇的帖子、一门又一门的课程弄得不知所措。但对于编程来说,最好的学习方法其实就是从零开始,然后不断进步。
57. 为 Stackoverflow 做贡献
Stackoverflow 是最大的开发者社区之一,几乎任何编程问题都能在这里找到解决方案。除了阅读之外,您还可以尝试提出问题或回答他人的问题。记住,给予比接受更有意义!
58. 寻找优秀的工具
工欲善其事,必先利其器。编写代码并不需要太多工具——一台笔记本电脑和一个基本的文本编辑器就足够了。不过,市面上有很多很棒的工具可以帮到你,比如 IDE(集成开发环境)、CLI(命令行界面)、笔记工具、番茄钟计时器、图片托管等等。
59. 自定义你的 IDE
如果您使用像微软 VSCode 这样的 IDE,您可以而且应该利用其优秀的市场扩展和海量自定义功能,将其真正打造成您的 IDE。它从颜色和主题开始,一直延伸到快捷方式和代码片段。
60.开发新产品
许多开发者最终都想通过产品来创造额外收入、获得自由,或者将自己的想法变成现实。说实话:你的第一款产品很可能卖不出数百万美元,但不要因此而灰心丧气。如果第一款产品不成功,也许第二款或第三款会成功。而真正的成功是由你自己定义的,而不是别人。
61. 创建自己的工具
即使市面上已经有很多优秀的工具,但我相信总有空间容纳更多工具,它们要么在某个特定方面比其他工具做得更好,要么能解决新的问题。所以,如果你有改进某个工具的想法,或者遇到了现有工具无法解决的问题,那就大胆去做吧。
62.写一本书
写书看似一项艰巨的任务,充满了挑战。虽然这确实充满挑战,但同时也是一次很棒的体验,可以带来可观的收入。不必一定要是平装书,电子书也可以。你可以从10到15页开始,免费赠送,试试水准,学习写作。
63.创建一个图书馆
你有没有尝试过创建自己的库,比如一个基于 JavaScript 的库?很多人都尝试过,但这些解决方案通常只是一些小小帮助,用来解决一些小问题。所以,如果你遇到一个自己可以解决的问题,并且认为你的解决方案也能帮助到其他人,我鼓励你尝试创建自己的库。
64.学会倾听他人
很多人似乎喜欢听到自己的声音。然而,在团队合作或与客户沟通时,积极倾听他人也至关重要。我所说的积极,是指提出有助于讨论的问题。学会在会议期间不要打断他人,并保持尊重。
65. 清晰沟通
如今,沟通技巧至关重要,有时甚至比纯粹的编程技能更重要。产品或公司的成败往往与内外部沟通的质量息息相关。因此,务必花些时间,以清晰易懂的方式进行沟通。
66. 分享未完成的作品
你不必成为完美主义者。尽早分享你的作品,即使尚未完成,也能获得他人的宝贵反馈。最好尽快调整,因为后期调整会变得更加困难和昂贵。
67. 回答 Quora 问题
Quora 是一个平台,人们可以在这里就生活中几乎所有的事物提出问题。通过回答人们的问题,你可以把自己推销为在特定领域拥有深厚知识的人,这反过来又能为你带来新的职业机会。
68.成为领域专家
如果你对云计算、安全或机器学习等特定主题感兴趣,那么专注于该领域并成为专家或许是一个不错的选择。更高的薪水、“名声”以及良好的感觉或许就是回报。
69. 获得晋升
好吧,升职其实是强求不来的,因为几乎总是有人会帮你升职。不过,虽然也有例外,但大多数人如果不主动要求,就无法升职。所以,如果你认为自己应该升职,就应该努力争取,不要等到别人替你升职。
70. 休息一下
编程对我来说是一件令人满足的事情。如果我“心流”,时间就会飞快地流逝,仿佛没有明天。有时我会在工作时间编程,在空闲时间继续编程,甚至在周末也写。但这很快就会让人精疲力竭或压力山大,所以抽出几个小时甚至几天完全不编程来给自己充电是非常有益的。
71.激励他人
当您构建了新产品/功能、学习了新技能、解决了难题或在会议上首次发言时,请与他人分享,以帮助他们并激励他们成为更好的开发人员。
72. 使用 SQL 数据库
尽管使用 No-SQL 数据库解决方案有一些充分的理由,而且在我看来,这些解决方案通常被宣传为更“时尚或现代”,但当今大多数应用程序可能都在使用 SQL 数据库。因此,学习如何使用它们是一项不容忽视的重要技能。
73. 使用 No-SQL 数据库
如果您之前没有使用过 No-SQL 数据库产品或技术,不妨尝试一下。许多大型组织都在使用 MongoDB、Redis 或 Couchbase 等解决方案,它们采用的方法与 SQL 数据库截然不同。
74. 学习如何研究
编程就是解决问题。为了解决问题,知道如何正确地研究解决方案至关重要。做笔记,提出问题,并尝试找到合适的文档或解决方案文档。
75. 了解无障碍设施
无障碍功能(也称为 A11y)本应成为软件开发的标准,但遗憾的是,它并未实现。许多人在使用 Web 应用程序时遇到困难,因为这些应用程序并非为残障人士设计,从而造成了使用障碍。因此,每位 Web 开发者都应该了解无障碍功能,并充分利用它们。
76. 了解 Kubernetes
Kubernetes (K8s) 是 DevOps 和 Web 开发领域的热门话题。K8s 是一个开源容器编排系统,用于自动化应用程序管理、扩展和部署。许多公司已经在使用 Kubernetes,因此了解它至关重要。
77. 写有用的评论
评论他人的博客文章和代码片段对作者非常有帮助。但请保持语气清晰准确,切勿冒犯他人或误导他人。评论应始终具有价值。没有价值就等于没有评论!
78. 获得新的认证
证书仍然是展现您专业知识的绝佳方式,并能为您带来新的职业发展机会,例如新工作、晋升或加薪。您可以将证书添加到您的简历和领英个人资料中。许多公司为员工预留了额外的预算,因此您甚至可以免费获得证书。
79. 实践授权和认证
处理用户及其数据并非易事。如果公司搞砸了,个人数据被泄露,人们对公司的信任度会迅速下降。因此,如今每个开发人员都必须知道如何正确处理授权和身份验证(这完全不一样!)。
80. 注意 API 安全
API 无处不在。但重要的是,它们必须得到妥善保护,并且只有授权服务才能访问它们。
81. 写好电子邮件
哈哈,你是个程序员,你可能会想,我为什么要关心邮件?毕竟我们每天都会收到几十封邮件。我们程序员不喜欢收到邮件的原因之一就是邮件的写法。所以,要以身作则,尽量用读者喜欢的方式写邮件。
82. 不要成为守门人
这个世界已经够麻烦的了,所以你真的不应该歧视或排斥他人,让他们无法获得知识、工作或融入社区。保持善良和谦逊,你终将获得回报!
83. 追随伟人
说实话,你关注的人里有多少是你根本不认识的,或者根本不知道他们在做什么的?尽量把关注的对象缩小到那些真正能给你带来专业或其他机会价值的人。
84. 勇于承担新风险
我们大多数人都生活在舒适区,很难走出去。但如果不冒险,就很难获得回报。不一定是危险的事情,比如申请一份新工作、写一本书或创造一个产品。
85.了解机器学习
机器学习是目前最热门的学科之一。其薪资高于平均水平,对熟练开发人员的需求非常高。如果您正在寻找新的挑战或想要提升技能,那么机器学习现在就是一个绝佳的机会!
86.保持谦逊
不要想当然,也不要嘲笑那些职业生涯才刚刚起步的人。我们都是从一个地方开始的,那时我们都希望自己能遇到很棒的人来支持我们!
87. 追踪你的进度
如果你无法衡量,就无法改进。如果你觉得自己没有取得足够的进步,或者根本没有进步,那么也许是时候开始追踪你的进度了。提交、代码行数、课程、书籍、认证……但一定要追踪。
88. 学习如何利用文档
在寻求帮助之前,通过查看正确的文档,许多问题都能迎刃而解。即使你刚刚开始学习,例如使用一个新框架,也能从文档中学到很多东西。很多时候,你甚至不需要参加课程,文档就足够了。
89. 选择质量而不是速度
这是一个快节奏的世界和行业。但这并不意味着要匆匆忙忙地完成所有事情。质量至关重要,所以要花时间去做你做的事情。例如,不要因为你觉得没时间就放弃编写代码测试!
90. 参加面试
即使您现在不需要工作,偶尔选择参加面试也是一个很好的策略,这样可以保持实践并了解您的市场价值。
91. 帮助他人准备面试
许多人在求职面试时都会遇到困难,如果有人能帮助他们准备面试并充当他们的陪练伙伴,他们会非常感激。
92. 投资自己
把金钱和时间花在自己身上,投资在事业上,才是最好的方式。付费课程或认证是投资自我的好方法,而且通常能带来长期回报。
93. 投资你的工具
你不需要每年都买新款的 MacBook 或 iPhone。但你花了很多时间在电脑前,所以不要总是买最便宜的东西。好的显示器、键盘和鼠标是必备的。一把适合你健康的椅子也很重要。此外,一些编程和开发工具也能带来很大的价值。
94. 尝试在家工作
在新冠疫情期间,我们许多人被迫在家办公。很多人对此感到挣扎,而另一些人则乐在其中。但如果您以适当的方式进行,这对您和您的家人来说真的很棒。许多公司都了解在家办公对员工意味着什么,因此请坦诚地沟通您的需求和担忧。
95. 找一份远程工作
作为一名软件开发者,你通常可以在世界任何地方工作。这为你提供了无数的机会,与最优秀的公司、最酷的产品和最聪明的人共事。
96. 找一份有目标的工作
很多人工作是因为需要钱。这完全没问题。他们用时间换取薪水,这没什么错。但如果你像我一样,觉得工作的意义远不止朝九晚五,那么你应该尝试找一份有意义的工作。比如,可以为社区、为社会,或者在开源领域工作。
97. 加入一家初创公司
无论你是行业资深人士还是初出茅庐的新人,在初创企业环境中工作都充满挑战,回报也同样丰厚。工作繁多,从一开始就肩负重任,没有明确的职业发展路径,而且往往需要拥有一个高于一切的愿景。
98. 申请新工作
有些人认为,在科技行业,为了提高薪水并保持竞争力,你必须不断跳槽。我认为这并非适用于所有情况,但有时换一份新工作确实明智。比如,糟糕的老板或同事、更高的薪水、新技术或学习机会,或者远程工作的前景。如果你有理由申请新工作,就应该去做。
99. 参加编程训练营
编程训练营在过去几年里应运而生,它能够真正帮助你开启软件开发职业生涯,尤其适合非技术背景的学生。许多公司都接受训练营毕业生担任初级职位。
100.探索云技术
云只是别人的电脑。无论你是否认同,云技术无处不在,许多公司专门聘请拥有 AWS、Azure 或 GCP 经验的开发人员。所以,如果你想在职业生涯中迈出下一步,或者想在未来保持竞争力,那就学习云计算和云技术吧!
101.永不放弃
每个人都会遇到困难——有人困难重重,有人困难轻重。这并不总是一帆风顺。但你并不孤单,我们都是从某个地方开始的。你能做到!
就这样吧。这是我写过的最长的帖子。并非所有内容都与你相关,也并非适用于你目前的情况,但我希望你能从这份清单中有所收获。让我们作为一个社区,互帮互助!
我最近开了一个新博客“The Smart Coder”,在那里为社区创作免费内容。这篇文章就出自这个博客,你也应该去看看 :)
如果您喜欢我写的内容并希望支持我和我的工作,请在Twitter上关注我,以了解有关编程、制作、写作和职业的更多信息🥰
文章来源:https://dev.to/simonholdorf/101-tips-to-make-you-a-better-developer-2jo3