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

我在软件工程师第一年学到的东西:尽可能多地学习;不要害怕挑战;主动承担责任;克服冒名顶替综合症;攻克弱点,发挥优势;不要操之过急。

我在软件工程师第一年学到的东西

尽可能多地学习

不要害怕挑战

主动承担责任

克服冒名顶替综合症

攻击你的弱点,发挥你的优势。

不要着急

尽可能多地学习

男子正在编写代码的图片。照片由@nesabymakers拍摄,来自Unsplash。

作为一名新入行的软件工程师,第一年就像一张白纸,一块干燥的海绵,随时准备吸收和尝试一切你能看到的东西,而你也应该这样做。在第一年,你可能没有足够的知识立即在新工作中发挥作用,这完全没问题。虽然这取决于你所在的公司(小团队可能比大团队对你的要求更高),但大多数公司并不期望你一开始就大展拳脚。事实上,恰恰相反,他们希望你循序渐进,充分利用第一年的时间尽可能多地学习。所以,一定要确保你真正利用好这段时间。

闭口不言是学不到东西的,所以要跟随资深开发人员学习,他们可能是知识的宝库。没有愚蠢的问题,所以要认真地向他们请教工作中的问题,注意要问“为什么”和“怎么做”。最后,如果你的工作环境不鼓励你花时间真正学习更多知识,那么值得认真考虑一下,这是否是你软件工程职业生涯早期发展阶段的理想之地。

不要害怕挑战

面对陡峭的障碍。照片由Jukan Tateisi拍摄,来自 Unsplash。

在我入职的第一年,最难克服的事情之一就是害怕接受重大挑战。重大挑战通常伴随着巨大的期望,所以很容易因为觉得自己还没准备好承担如此庞大的任务而对一些即将到来的大型项目望而却步。但实际上,你永远不可能完全准备好!唯一的办法就是全身心投入,边做边学。这样不仅能让你熟悉大型任务中的一些细节,比如时间管理和前期规划,还能让你更好地理解软件开发中必须考虑的一些更宏观的工程/架构概念。说实话,大多数时候你会发现,你最初害怕的任务其实相当简单,而且如果你需要帮助,资深工程师也会随时伸出援手。所以,下次当你看到有大型任务要处理时,勇敢地站出来,把它拿下吧!

主动承担责任

夜里,一名男子站在船头,手里拿着一盏灯。照片由Chen YiChun拍摄,来自 Unsplash。

在我入职第一年,我成长过程中非常重要的一部分(我觉得这一点经常被忽视)是参与一些不一定需要编写一行代码的职责。对某些人来说,这听起来可能很令人反感,完全不是他们当初选择这份工作的初衷,但重要的是要认识到,作为一名新工程师,你为团队带来了其他老员工所不具备的视角;你可以利用这一点主动承担责任。

可能是入职流程存在缺陷,导致你难以快速上手;也可能是你觉得团队的文档流程不够完善(导致你难以跟上进度)。这些都是你主动承担责任、迎难而上的机会!对于一个工程团队来说,流程和环境的重要性丝毫不亚于任何一行代码。

此外,资深工程师通常还需要承担一些琐碎的工作。你可以主动提出帮他们分担这些小任务,这不仅能节省他们的时间,还能让你了解团队的日常运作。

最后,参与一些与代码无关的活动可以帮助你更好地了解未来的职业发展方向。你可能会发现自己完全厌恶 Visual Studio 之外的任何工作,这完全没问题,尽情写代码吧!但你也可能发现自己其实很喜欢行政管理方面的工作,或许开发经理的职位会是你未来的理想选择。无论如何,不​​尝试一下就永远不会知道答案。

克服冒名顶替综合症

戴着口罩的人们。照片由Markus Winkler拍摄,来自 Unsplash。

所以,你刚进大学的时候(很可能)还是个编程小白,连for循环是什么都搞不明白。你肯定也曾有过觉得自己做不到的时候,但你坚持不懈。然后,不知不觉中,你已经大四了,站在了编程世界的顶峰。没有什么算法是你搞不定的,比如用大O符号表示的。想写一个算法找出整数数组中所有的勾股定理三元组?哈,小菜一碟。比尔·盖茨本人都会对你的编程能力惊叹不已。

然后,你开始了作为真正软件工程师的第一天,却被要求诊断并修复一个代码库中极其简单的bug,而这个代码库却长达数万行(甚至可能数十万行或更多),你完全束手无策。你花了三个小时试图解决这一个bug,感觉自己又回到了大学一年级编程入门课的状态。你开始怀疑:“我真的适合当工程师吗?”

冒名顶替综合症很正常,似乎每个人都会经历。但重要的是要记住,你付出了很多努力,你配得上这份工作。他们也知道这一点,所以才聘用了你,现在你只需要相信自己。如果一开始觉得一些“简单”的任务很难,别担心,这很正常。只要对自己有信心,你的代码就会体现出这一点。没有人愿意和一个对自己工作缺乏信心,每次写一行代码都要寻求别人确认自己做得对不对的开发人员一起工作。你已经走到这一步了,你绝对是行家!保持信念!

攻击你的弱点,发挥你的优势。

棋盘上的复古国际象棋棋子。照片由Lou Levit拍摄,来自 Unsplash。

没有哪个初级工程师是完美的。你会很快发现自己有些事情并不擅长,同时也会发现自己在某些方面很有天赋。希望你的主管能够指出这些不足之处,并帮助你提升。当你明确了自己的优势和劣势(说实话,劣势越多越好!),就可以开始制定计划,改进弱点,发挥优势,从而打下坚实的基础,并立即运用这些优势,带领团队取得更大的成就。

不要着急

完成马拉松。照片由 Pietro Rampazzo 拍摄,来自 Unsplash。

最后,也是我学到的最重要的一点,就是不要操之过急。刚入职的时候,你可能急于求成,想要尽快拿到高级开发人员的头衔,于是你尽可能多地承担工作,然后开始全力冲刺。但请记住,在第一年里,一定要放慢脚步,停下来欣赏沿途的风景。真正用心吸收和消化所有新知识和经验。说实话,这对我来说是最难学会的一点,因为试图快速冲刺会导致精疲力竭。你的职业生涯是一场马拉松,而不是短跑,所以一定要在第一年里循序渐进,稳扎稳打,你很快就能达到你想要的目标。

文章来源:https://dev.to/dealeron/what-i-ve-learned-in-my-first-year-as-a-software-engineer-3ch5