23 条重要建议,帮助您成为更好的软件开发人员!

2021年11月24日 阅读数:5
这篇文章主要向大家介绍23 条重要建议,帮助您成为更好的软件开发人员!,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

常常和小伙伴探讨的一个问题:

我怎样才能成为一名专业/高级软件工程师,须要多长时间?git

老实说,我认为这不是正确的问题。程序员

我已经写代码将近1年了(2020年11月开始实习,中途返校作毕业设计一段时间),直到今天还有不少东西我仍然不知道。github

当您成为专业人士时,并无真正的神奇时刻。面试

相反,您应该有正确的心态,并意识到编程是一个漫长而曲折的旅程。它能够有起有落,但也很是有益和愉快。算法

所以,在本文中,我将分享 23 条重要提示,能够帮助您成为更好的软件开发人员。固然,这可能只是给本身的碎碎念,你们以为不适应的话,在评论区告诉我。数据库

1. 终生学习

科技行业很是不稳定,事物一直在想前变化。有太多的技术须要学习,有太多的语言可供选择。编程

这可能很是使人生畏。可是,若是您有正确的心态,而且喜欢学习新事物,那么您就能够享受学习新知识的旅程而不会感到不知所措。小程序

固然,每一个人的学习方式都不同。所以,找到最适合您的方法,并掌握它,是你的当务之急。微信小程序

2. 选择一种语言并坚持使用

若是你试图一次学习太多东西,你更有可能失去动力并放弃。设计模式

忘记源源不断的文章和人们告诉您须要学习这种新语言或新库吧。

相反,只选择一个你感到兴奋的,从基础开始并坚持下去,直到你对它感到满意为止。

在您开始时,阅读文档并遵循一些教程以基本掌握该语言多是个好主意。

但在那以后,没有比用它构建一些东西更好的学习语言的方法了。

只有在您对基础知识有了很好的理解以后,才能考虑学习一门新语言来拓宽您的技能。

23 条重要建议,帮助您成为更好的软件开发人员!_学习之路

3. 给本身定个目标,

也许有一个应用程序或网站是您想创建很长时间的。好比搭建我的博客,写个我的的网站。

将此做为业余的手头项目。

若是能够的话,天天留出一些时间来处理它。

也许你会以为本身在任何一天都没有取得多大成就,但罗马不是一天建成的。

几周或几个月后,您会看到您的做品面目一新,这是很是使人满意的。在此过程当中你将得到一些成就。

选择一个你以为具备挑战的项目,但不会超出你的技能水平。随着您创建信心,您能够扩大规模并处理更复杂的项目。

事实上,只有当你不断挑战本身时,你才会进步。继续建造新的和不一样的东西。

23 条重要建议,帮助您成为更好的软件开发人员!_职场建议_02

4. 走出教程地狱

若是您刚刚开始学习,很容易陷入一个又一个教程一个又一个教程的陷阱。

说实话,我在大学的时候在哔哩哔哩看了太多的教程了,可就是每次动手的时候就忘了。

你猜怎么着?一旦你获得一份工做,没有人会牵着你的手,也不会有你须要完成的每一项任务的教程。

尝试打破这个循环,本身解决问题。

经过本身解决问题,你的学习能力会大大提升,你会对事情的运做方式有更具体的了解。

23 条重要建议,帮助您成为更好的软件开发人员!_学习之路_03

5. 阅读文档

这是摆脱教程地狱的惟一最佳方式。

好消息是文档只需单击一下便可。您能够直接从编辑器中轻松查看您使用的 SDK 或库的文档。

公平地说,并不是全部文档都是平等的,有些语言比其余语言更好。

可是经过知道如何阅读和使用它,您将减小对教程的依赖。若是你以为英文不太好理解,你能够尝试去下载一些翻译插件去配合使用。

如今许多官方文档真的仍是蛮不错的,好比我如今用的flutter

官网是这样的


23 条重要建议,帮助您成为更好的软件开发人员!_开发人员_04


go的官网

23 条重要建议,帮助您成为更好的软件开发人员!_开源项目_05

以及我最近在学的微信小程序

23 条重要建议,帮助您成为更好的软件开发人员!_开源项目_06

还有不少不少,等你们一块儿发现。


23 条重要建议,帮助您成为更好的软件开发人员!_职场建议_07

6. 学习如何调试

写代码的过程老是愉快的,但它也多是一种使人沮丧的体验。

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

有时事情不会奏效,你会发现本身被困了几个小时而没有取得进展。

那么当这种状况发生时你能作些什么呢?

若是您在控制台中遇到一些错误,请仔细阅读它们,由于它们可能包含解决问题所需的信息。

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

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

这是我在实习的时候发现的一个重要技巧。

7. 擅长谷歌搜索

这是程序员一直在使用的一项基本技能,即便是高级程序员。

所以,知道如何有效地找到答案能够为您节省大量时间。

若是您遇到错误,请将其复制粘贴到您喜欢的搜索引擎中,并仔细查看全部相关答案。

推荐使用google。


8. 了解代码的实际工做原理

咱们都去过那里。咱们在 Stack Overflow 上找到了一些代码,并将其添加到咱们的项目中,但愿它能够工做。

不要只是停在那里。花点时间了解代码的实际工做方式。确保它适用于全部可能的状况,并对其进行调整以适合您的项目风格和约定。

须要注意的是,您在 StackOverflow 或其余论坛上找到的代码很快就会过期。毕竟相关api有时会更新。

9. 照顾好本身(吃好,喝好,才能)

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

因此要多喝水。作运动。吃好睡好。不要工做太多。

照顾好本身和身边的人。

10. 学习如何编写测试

这将使您成为更好的开发人员,并迫使您考虑代码中全部可能的边缘状况——而不只仅是快乐的道路。

它还将教您如何编写可测试的代码,并了解诸如依赖注入之类的重要概念。

当您选择要编写的测试时,问问本身:

若是此功能不起做用,会有什么影响?

​而后按影响优先编写测试:

  • 在设置页面中显示条款和条件的断开连接可能没什么大不了的。
  • 购买流程失败且没法解锁应用中的核心功能是一件大事。

尝试为业务关键代码提供良好的测试覆盖率,并尽量多地自动化测试。​

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

不管您在哪一个编程领域,您都至少须要一些 Git 和命令行的基本知识,由于您将日复一日地使用这些工具。

尝试了解 Git 的更高级功能。当您与许多合做者一块儿处理项目时,这些将很是有用。

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

12. 为您的用户和业务创造价值

您编码的缘由是您正在尝试解决用户或客户遇到的真实、有形的问题。

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

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

我常常看到其余开发人员犯的一个错误,就是卡在一个问题上,越陷越深。

这不是颇有效地利用时间。

所以,下次您遇到这种状况时,请设定一个时间限制。一旦时间到了,停下来休息一下。也许解决方案会在稍后灵光一显。🚿

13. 问题解决

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

了解如何将问题分解为更容易解决的小问题。

要解决大问题,您须要从大局出发,从 UX 到系统设计。

要设计和构建整个产品,您须要(至少部分)如下知识:

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

固然,若是你的角色更专业,你能够专一于一个特定的领域。

但不管如何,您都须要为工做选择正确的工具。

解决问题是一项抽象的、普遍的技能,须要时间来培养。

我最好的建议是在许多不一样的项目上工做。当你这样作时,你会开始看到什么有效,什么无效,并借鉴你之前的经验。

引用以前看到的一句话

经验丰富的工程师比初学者行动得更快的缘由是由于他们在代码中遇到的大部分“门”都被打开了数千次。他们停下来思考,但不少事情都是经过回忆完成的。这就是为何你须要练习、练习、再练习——丹·阿布拉莫夫

14. 专一

要擅长编码,您须要在足够长的时间内专一并不受干扰地工做。

编码时,尽可能避免全部干扰。这包括社交媒体(微信,QQ,抖音)、电子邮件、人情世故!

若是须要,请为此设置特定时间。当你在编码时要说清楚,相信周围的人会理解你的。

15. 有组织并提早计划

若是你没有计划,你就是在计划失败——本杰明富兰克林

凡是预则立,不预则废!不管您只是在处理一个项目,仍是手头有不少事情而且您须要掌握它们,请尝试有条理的去处理。

个人习惯之一是天天将我计划作的全部事情列在 TODO 清单上。

并且我发如今一天结束时勾选全部任务很是使人满意(尽管有时我将它们移到次日😅)。

除此以外,我还有更长期的目标和计划,以便我能够跟踪本身的进度并专一于重要的事情。

我使用Ximd,百度脑图,gitbook,Notion来组织个人全部工做,它已成为我最喜欢的生产力工具(披露:我不是赞助 这是工具 - 我只是很是喜欢它们)若是能够,我会在后面出一篇相关教程。

23 条重要建议,帮助您成为更好的软件开发人员!_开源项目_08

16. 学会阅读别人的代码

颇有可能在您的整个职业生涯中,您花在阅读代码上的时间比编写代码的时间多。

善于阅读代码将帮助您理解许多不一样的代码库。

你在哪里能够作到这一点?

  • 阅读您已经使用的库或框架的文档和源代码。
  • 在 GitHub 上查找一些流行的开源项目。一旦你找到一个好的项目,检查代码,而后在你的编辑器中打开它。而后尝试运行它并了解它是如何工做的。
  • 若是您在团队中工做,请进行代码审查。

执行此操做时,请尝试考虑如何改进代码。

这样作会让你更了解有关样式和约定,这样就能够提升你写的方式你的代码。

你将来的本身会为此感谢你。😉

17. 参与开源

经过为现有的开源项目作出贡献,您能够提升您的代码阅读技能,并得到有关您本身代码的宝贵反馈。

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

经过编写开源代码,您能够中止从新发明轮子并跨项目继承最佳代码。若是您的项目足够有用,它就会产生很大的影响。

这样作对你的简历也颇有好处。一个好的 GitHub 我的资料能够切实证实你的技能和编码风格,并增长你找到工做的机会。

就我的而言,或许仅凭个人 GitHub 我的资料就让我在求职面试中脱颖而出,并一次又一次地协商出好的报价。请继续努力,加油,年轻人!

​个人github​

23 条重要建议,帮助您成为更好的软件开发人员!_开发人员_09

18. 保持了解新事物的热情

您无需阅读每篇文章并观看全部 哔哩哔哩 视频。

并且您不该该只关注教程。本身尝试更重要。

可是您应该尝试找到合适的资源来快速跟踪您的学习,这样您就没必要本身弄清楚全部事情。

尝试查找按期分享优质内容并订阅他们的提要的专家列表(若是您喜欢 Flutter,我能够帮助你)。

我发现这是保持最新状态和了解新事物的好方法。

19. 学习基本设计

您无需成为专业设计师。

可是你应该了解设计的基本原理,并至少熟悉一种设计工具(这里有一些:Sketch、Figma(我公众号写过几篇教程)、Adobe XD)。

经过这种方式,您可使本身的工做看起来不错,尤为是在潜在雇主或客户会看到这一点的状况下。

但它也扩展了您的知识范围,并帮助您从 UX 而不只仅是代码的角度思考问题。

20. 学会沟通

这个超级重要。若是你不能很好地沟通,我认为你不能成为一个伟大的开发者。

您应该可以用简单的英语解释事情(即便它不是您的母语),以便您团队中的非技术人员可以理解您。

除此以外,始终清楚地传达您正在从事的工做,您面临的问题,并确保按照您所说的去作。

若是您远程工做,请天天花 5 分钟分享您的更新。我老是这样作,个人客户真的很感激。

全部这些都创建了信任。做为可靠和值得信赖的多是你的一个最好的资产,绝对是相当重要的,若是你是一个自由职业者。

21. 尽心尽力

你的工做就是你的品牌。您的品牌使您不同凡响。所以,始终致力于提供最好的工做。

若是你能给共事的人留下深入印象,他们就更有可能在你找新工做时推荐你。

当您发布本身的做品时,不管是 GitHub 项目、您的做品集、一篇文章仍是 哔哩哔哩 视频,每一个人均可以看到它(包括您真正想要的那个职位的招聘经理)。因此让它看起来很棒。

22. 分享你的知识

当你学到一些有用的东西时,就写博客。以书面形式解释事物能够提升您对某个主题的了解。

实践使你的写做更加清晰和简洁。这自己就是一项宝贵的技能 - 特别是若是您远程工做。

继续写做,你会创建一个能够与他人分享的知识宝库,并在须要时回来使用。

这也将提高您的我的资料和简历,并帮助您与社区互动。

23. 若是您须要帮助,请联系

若是您找不到所需的答案,请不要所以而气馁。

您能够随时在 StackOverflow 上发布您的问题。这样作时,请选择一个好的标题,并尝试提供足够的背景信息,以便其余人能够帮助您。

您可能会发现整个社区的开发人员都愿意提供帮助,只要您有礼貌并善意地提出要求。

仍然不肯定从哪里开始(或下一步去哪里)?

我以为我已经涵盖了许多,但我毕竟刚开始工做,还有许多不甚了解,若是这一切让你感到有些不知所措,请不要担忧。

一步一步地作事情。只要你在学习并继续成长,那么你就走在正确的轨道上。

但愿这篇文章能够给你一点启示,也欢迎你们在评论区留言。