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

从三年专业软件开发中汲取的经验教训

从三年专业软件开发中汲取的经验教训

七月最后一周,我就满三年职业软件开发生涯了。这真是一段奇妙的旅程。期间犯过错,也学到了很多东西。如果三年前的我能坐上时光机和未来的自己(也就是现在的我)对话,那肯定会是一场精彩的演讲。下面,我写下了一些我希望当初有人能告诉我的事情,希望能对那些刚刚踏上职业软件开发之路的人有所帮助。

  • 闪亮新事物综合症”是真实存在的,而且它会给你带来沉重的打击。你越早了解它,就越有利。即使你正忙于你认为能包治百病的“闪亮新事物”,它也始终存在,但了解它会让你更容易应对。
  • 刚开始接触任何新技术时,不必急于寻找学习“X”技术的最佳资源。你可能会因为网上说“YDKJS”系列是学习JavaScript的最佳资源而选择它,但你可能一周之内就会放弃。虽然“YDKJS”系列确实是市面上最优秀、最全面的书籍系列之一,但它并不能帮助你快速上手。你最终会精通你所使用技术,但入门级教程足以让你快速上手现有代码库。首先专注于基础知识,更高级的主题可以在工作中逐步学习。要知道,这是一个持续学习的过程。
  • 当你接受新项目培训时,不要被项目中使用的各种技术和工具吓到。首先要理解整体情况。没有人期望你掌握项目中使用的每一项技术。我们是团队合作,会有人协助你,所以要学会寻求帮助,学会提问。专注于你将主要负责的关键领域,对其他内容有概念性的理解就足够了。随着时间的推移,你的知识会不断积累。
  • 一开始,有些东西你可能不理解——无论你读了多少资料,你都无法理解其中的“模式”或我们为什么遵循特定的“标准”。这是因为你还没有足够多地接触代码,所以无法理解问题所在。模式和标准是由那些真正深入研究过该语言/框架的人制定的。你也会有恍然大悟的时刻,但要学会适应一段时间,这些人知道自己在说什么。
  • 要知道,最好的技术就是能够完成你的工作,并为你所开发软件的企业创造价值的技术。要乐于学习新技术,但不要让新技术分散你对现有技术栈的注意力。持续学习你所使用技术的新知识,尝试理解其中存在的问题。这会让你在学习旨在解决这些问题的新技术时更加得心应手,也能让你充分发挥新技术的优势。
  • 每当被要求比较两个框架/语言/工具时,你都应该说“视情况而定”。任何事物都有利弊,都需要权衡取舍。我们程序员在谈论自己使用的技术时,往往会变得比较敏感。在工业项目中选择工具时,我们需要考虑的因素远比你想象的要多。某个工具在“X”项目中表现出色,并不意味着它也适用于你的项目!此外,要明白创新是必然的,技术也在不断发展。务必了解你所使用的语言/框架的优缺点。
  • 开发者社区很棒,内容创作者们也做得非常出色,但这并不意味着你必须全部吸收!你会感到焦虑,害怕错过什么,还会学到一些新东西,比如:Chrome浏览器在标签页超过100个时会显示笑脸图标来表示标签页数量;你的邮件客户端没有“取消订阅所有”邮件的功能;而且,没有任何应用会因为你拥有最多的书签而奖励你。你会浏览数百篇文章,但实际上却几乎一无所获。学会专注,朋友,别让自己压力过大。集中注意力!
  • 很多时候,你会觉得自己像个冒牌货,尤其是在职业生涯初期。我们行业里的人经常抱怨“冒名顶替综合症”,不妨去了解一下。要知道,很多人,无论经验多少,都会经历某种程度的“冒名顶替综合症”。没有人是全知全能的,“十倍速工程师”并不存在。勇于接受更艰巨的任务,不要因为自己是新手就退缩。你会经历挣扎,但这会建立你的自信,这是克服它的唯一方法。三年后,你会想要写下自己学到的东西。你会充满自我怀疑,甚至会因此而拖延,但无论如何,都要坚持写出来并发表!

封面图片来源:Saulo Mohana,来自Unsplash

文章来源:https://dev.to/ankitutekar/lessons-learnt-from-third-years-of-professional-software-development-1md0