发布于 2026-01-06 6 阅读
0

成为更优秀的软件工程师的 23 个实用技巧 DEV 全球展示挑战赛,由 Mux 呈现:展示你的项目!

成为更优秀软件工程师的 23 个实用技巧

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

本文最初发表于我的网站。

YouTube上也有。

人们经常问我的一个问题是:

  • 我如何才能成为一名专业/高级软件工程师?需要多长时间?

坦白说,我觉得这个问题问得不太对。

我从事编程工作超过15年了,但直到今天,仍然有很多东西我不懂。

成为职业选手并没有什么神奇的时刻。

相反,你应该树立正确的心态,认识到编程是一段漫长而曲折的旅程。它会有起伏,但也会带来丰厚的回报和无穷的乐趣。

所以在本文中,我将分享 23 个可以帮助你成为更优秀的软件开发人员的实用技巧。

1. 永远保持学习的态度

科技行业瞬息万变,各种事物都在不断变化。需要学习的技术种类繁多,可供选择的编程语言也数不胜数。

这可能会让人感到有些畏惧。但如果你心态正确,并且喜欢学习新事物,你就能享受学习的过程,而不会感到不知所措。

当然,每个人的学习方式都不一样。所以要找到最适合自己的学习方法,并努力掌握它。

2. 选择一种语言并坚持学习它

如果你试图一次性学习太多东西,你很可能会失去动力并放弃。

别理会那些没完没了的文章和人们告诉你需要学习这门新语言或那个新图书馆。

相反,选择你感兴趣的一个方向,从基础开始,坚持练习直到你熟练掌握为止。

刚开始学习时,最好阅读文档并学习一些教程,以便对这门语言有一个基本的了解。

但在那之后,学习一门语言最好的方法莫过于用它创造一些东西。

只有在你对基础知识有了充分的了解之后,才可以考虑学习一门新语言来拓展你的技能。

3. 创造一些东西

也许你一直想开发一款应用或网站。

就把它当成副业吧。

如果可以的话,每天抽出一些时间来做这件事。

也许你会觉得每天自己都没什么成就,但罗马也不是一天建成的。

几周或几个月后,你会看到你的产品逐渐成型,这会让你非常有成就感。

选择一个具有挑战性但又不会超出你能力范围的项目。随着信心的增强,你可以挑战更大、更复杂的项目。

事实上,只有不断挑战自我,才能进步。不断创造新的不同的事物。

4. 摆脱新手教程地狱

如果你刚开始学习,很容易陷入一个陷阱,不停地做各种教程。

猜猜看?一旦你找到工作,就不会有人手把手地教你,也不会有每项任务都有教程指导你完成。

试着打破这种恶性循环,自己想办法解决问题。

通过自己解决问题,你的学习能力将大大提高,你也会对事物运作方式有更具体地的理解。

5. 阅读文档

这是摆脱教程地狱的最佳方法。

好消息是,文档触手可及。您可以直接在编辑器中轻松查看所用 SDK 或库的文档。

公平地说,并非所有文档的质量都一样,有些语言的文档质量比其他语言要好。

但是,知道如何阅读和使用它,就意味着你不再需要依赖教程了。

6. 学习如何调试

编程很棒,但也可能令人沮丧。

很难事先知道你的代码可能处于的每一种状态(尽管编写测试对此有所帮助)。

有时候事情不会按预期进行,你会发现自己几个小时都无法取得进展。

那么,当这种情况发生时,你该怎么办?

如果你的控制台出现错误信息,请仔细阅读,因为其中可能包含解决问题所需的信息。

尝试熟悉代码编辑器中的调试工具。

使用打印语句和断点来逐步执行代码,验证你的假设,并学习更高级的调试技巧。这些都能为你节省大量时间。

7. 学会熟练使用谷歌搜索

这是程序员,即使是资深程序员,也经常需要用到的一项基本技能。

因此,知道如何有效地找到答案可以为你节省大量时间。

如果遇到错误,您可以将其复制粘贴到您常用的搜索引擎中,并仔细查看所有相关答案。

你可能需要花点时间才能弄清楚如何有效地做到这一点,但随着时间的推移,你会越来越擅长。

8. 理解代码的实际工作原理

我们都经历过这种情况。我们在 Stack Overflow 上找到一些代码,然后把它添加到我们的项目中,希望它能运行。

不要就此止步。花些时间理解代码的实际运行原理。确保它在所有可能的情况下都能正常工作,并根据你的项目风格和规范进行调整。

需要提醒的是,在 StackOverflow 或其他论坛上找到的代码很快就会过时。请参阅提示 #5,了解如何阅读文档。

9. 如有需要,请联系我们寻求帮助

如果你找不到所需的答案,不要因此而气馁。

你随时可以在 StackOverflow 上发帖提问。发帖时,请选择一个合适的标题,并尽量提供足够的背景信息,以便其他人能够帮助你。

此外,还要了解你所使用的特定语言或框架是否有 Slack 或 Discord 频道,并加入其中。

你或许会发现,只要你礼貌地提出请求,就会有一个庞大的开发者社区愿意提供帮助。

10. 学习如何编写测试

这将使你成为一名更优秀的开发者,并迫使你思考代码中所有可能的极端情况,而不仅仅是正常情况。

它还将教你如何编写可测试的代码,并学习依赖注入等重要概念。

在选择要编写哪些测试时,问问自己:

如果这项功能失效,会造成什么影响?

然后根据影响程度对编写测试进行优先级排序:

  • 设置页面中显示条款和条件的链接失效可能不是什么大问题。
  • 购买流程失败且无法解锁应用的核心功能,这可不是小事。

尽量保证业务关键代码的测试覆盖率,并尽可能实现测试自动化。

11. 学习 Git 以及如何使用终端

无论你从事哪个领域的编程,你都需要掌握一些 Git 和命令行方面的基础知识——你会日复一日地使用这些工具。

尝试学习一下 Git 的更高级功能。当你与多人协作开发项目时,这些功能会非常有用。

此外,还要熟悉持续集成系统以及如何设置它们。

12. 为用户和企业创造价值

你编写代码的原因是为了解决你的用户或客户遇到的实际问题。

所以要始终关注用户和业务需求,并牢记大局。

这样更有可能为产品增加价值。

我经常看到其他开发人员犯的一个错误是,他们陷入一个问题中无法自拔,越陷越深。

这样并没有有效地利用时间。

所以下次遇到这种情况,不妨设定一个时间限制。时间到了就停下来休息一下。也许之后洗澡的时候就能找到解决办法。🚿

13. 问题解决

客户/公司付钱给你是为了解决他们的问题,而不是为了了解 X 语言的语法。

学习如何将问题分解成更容易解决的小问题。

要解决重大问题,你需要从全局角度考虑,从用户体验到系统设计都要考虑周全。

要设计和构建一个完整的产品,你需要(至少)掌握以下方面的知识:

  • 用户界面/用户体验设计
  • 数据结构和算法
  • 设计模式和系统架构
  • 网络和数据库

当然,如果你的岗位比较专业化,你可以专注于某个特定领域。

但无论如何,你都需要选择合适的工具来完成这项工作

解决问题是一项抽象、广泛的技能,需要时间来培养。

我最好的建议是多参与不同的项目。这样做,你就能逐渐了解哪些方法有效,哪些无效,并借鉴你之前的经验。

引用推特上的丹·阿布拉莫夫的话

经验丰富的工程师之所以比新手速度快得多,是因为他们之前已经无数次地打开过代码中遇到的“大门”。他们会停下来思考,但很多工作都是纯粹依靠记忆完成的。这就是为什么你需要练习、练习、再练习——丹·阿布拉莫夫

14. 重点

要想擅长编程,你需要集中精力,并且长时间不受干扰地工作。

写代码时,尽量避免一切干扰。这包括社交媒体、电子邮件、你的猫,以及Slack和其他同事可能联系到你的方式。

如果需要,可以设定具体的编程时间。明确告诉别人你什么时候在专注编程,其他人会尊重你的决定。

15. 做事有条理,提前做好计划

如果你不做好计划,你就是在计划失败——本杰明·富兰克林

无论你是只负责一个项目,还是手头有很多事情需要处理,都要尽量做到有条理。

我的一个习惯是每天都列一个待办事项清单,记录我计划做的所有事情。

我发现一天结束时把所有任务都完成真的很有成就感(虽然有时候我会把它们推迟到第二天😅)。

除此之外,我还有一些长期目标和计划,以便跟踪我的进展并专注于重要的事情。

我使用Notion来整理我的所有工作,它已经成为我最喜欢的生产力工具(声明:我没有赞助 Notion——我只是真的很喜欢它)。

16. 学会阅读他人的代码

你的职业生涯中,很可能花在阅读代码上的时间比编写代码的时间要多。

提高代码阅读能力将有助于你理解许多不同的代码库。

你可以在哪里做这件事?

  • 阅读您已使用的库或框架的文档和源代码。
  • 在 GitHub 上找一些热门的开源项目。找到合适的项目后,检出代码,并在编辑器中打开它。然后尝试运行它,了解它的工作原理。
  • 如果你在团队中工作,就要进行代码审查。

在编写代码的过程中,试着思考如何改进代码。

这样做可以让你更加了解代码风格和规范,从而改进你的代码编写方式。

未来的你会感谢你的。😉

17. 参与开源项目

通过为现有的开源项目做贡献,你可以提高你的代码阅读能力,并获得关于你自身代码的宝贵反馈。

首先,您可以加入GitHub 开源社区,其中包含许多有用的资源

通过编写开源代码,你可以避免重复造轮子,并将你最优秀的代码应用到不同的项目中。如果你的项目足够实用,它就能产生巨大的影响

这样做对你的简历也很有帮助。一个优秀的 GitHub 个人资料能够切实证明你的技能和编码风格,并提高你找到工作的机会。

就我个人而言,仅仅凭借我的 GitHub 个人资料,我就在求职面试中脱颖而出,并一次又一次地争取到优厚的待遇,而这甚至在我成为讲师和 Flutter GDE 之前就已经发生了。

18. 保持更新

你不需要阅读每一篇文章,也不需要观看每一个YouTube视频。

你不应该只看教程自己动手尝试更重要。

但你应该努力寻找合适的资源来加快学习进度,这样你就不必独自摸索所有事情了。

尝试找到一些定期分享高质量内容的专家,并订阅他们的信息源(如果你对 Flutter 感兴趣,这里有一个不错的列表)。

我觉得这是了解最新资讯和学习新事物的好方法。

19. 学习基础设计

你不需要成为专业设计师。

但你应该了解设计的基本原则,并至少熟悉一种设计工具(例如:SketchFigmaAdobe XD)。

这样可以让你的作品看起来更好,尤其是在潜在雇主或客户会看到的情况下。

但它也能拓展你的知识面,帮助你从用户体验的角度(而不仅仅是代码的角度)思考问题

20. 学会沟通

这一点至关重要。我认为,如果沟通能力不好,就很难成为一名优秀的开发者

你应该能够用简单的英语解释事情(即使英语不是你的母语),以便团队中非技术人员也能理解你。

除此之外,还要始终清楚地沟通你正在做什么、你面临什么问题,并确保你言出必行。

如果你远程办公,每天花5分钟时间分享一下你的工作进展。我一直都这样做,我的客户对此非常感激。

这一切都有助于建立信任。可靠值得信赖是你最大的优势,对于自由职业者来说更是如此。

21. 尽你所能做到最好

你的作品就是你的品牌。你的品牌让你脱颖而出。所以,始终力求做到最好。

如果你能给同事留下好印象,他们在你找新工作时更有可能推荐你。

当你发布自己的作品时,无论是GitHub项目、作品集、文章还是YouTube视频,所有人都能看到。所以一定要让它看起来很棒。

22. 分享你的知识

当你学到有用的东西时,不妨写篇博客分享出来。用文字解释事物可以加深你对某个主题的理解。

练习让你的写作更清晰简洁。这本身就是一项宝贵的技能——尤其对于远程办公人士而言

坚持写作,你就能积累丰富的知识,可以与他人分享,也可以在需要时查阅。

这也有助于提升你的个人形象和简历,并帮助你更好地融入社区。

23. 照顾好自己

人生苦短,事情出错的速度可能比你想象的要快。

所以要多喝水,坚持运动,饮食睡眠均衡,不要过度劳累。

照顾好自己和身边的人。

感觉压力过大?

我们已经涵盖了很多内容。如果这一切让你感觉有点不知所措,别担心。

循序渐进。只要你在学习,不断进步,你就走在正确的道路上。

仍然不确定从哪里开始(或下一步该做什么)?

请访问这个开发者路线图网站。它包含了前端、后端开发者等的学习路线图。

2020年6月18日更新:全新的Flutter 2020开发者路线图已发布在GitHub上。点击此处查看

结论

我最初写这篇文章时,清单上只有四项。最后我列出了23项,而且还有很多我遗漏的。

你有什么妙招?请在评论区告诉我。

感谢阅读!

文章来源:https://dev.to/biz84/23-top-tips-to-become-a-better-software-engineer-5hga