如何成为一名高级开发人员?
介绍
在大学和职业培训中心担任教授超过 12 年的主要优势之一是,我能够见证我的前学生的专业成熟度。
至今,我的第一批学生已是架构师、项目经理,当然还有高级开发人员。我们从一开始就保持着密切的联系,这让我能够自信地与他们探讨他们的专业成熟度,并能够从中提炼出他们成为高级开发人员的特质和职业态度。
获得宝贵的经验
在本文中,我将尝试总结我的个人经历,关于当他们从初级开发人员转变为高级开发人员时,我在他们身上发现的不同迹象。
如果你想成为一名高级开发人员,你必须遵循软件开发的下一个自然周期
-
犯错误。
-
改正错误。
-
从错误中吸取教训。
-
与同事分享错误。
-
返回第 1 点。
你应该认为,这个错误生命周期将使你获得专业经验,而这种经验将使你能够防止错误再次发生;甚至,它将使你能够警告和教导初级开发人员这些错误的存在。
这些经验将使您成为一名高级开发人员。
时间的流逝并不能让你成为高级程序员,不要等到在某项技术上积累了两年或五年以上经验才称自己为高级开发人员。经验的积累取决于你在错误生命周期中经历的次数。
我们现在将分析在获取宝贵经验的这个循环中培养的品质。
研究
研究是成为高级开发人员的一项基本要求,因为通过研究,你最终会测试一些难题的解决方案。那时你就能积累经验。因此,研究可以引导你更多地了解特定主题,而不会因为你的体力问题而被迫去做。
研究带来的另一个副作用是,新的工具、概念或模式会在你的个人经历中得到检验。测试一项特定技术的事实,可以让你以更真实的方式分析其优缺点,因为这些优缺点可以通过自身的例子“触及”。
因此,高级开发人员并不总是做相同的任务,而是不断地研究和测试以巩固他们的学习。
找到每个“为什么”的答案
高级开发人员绝不会接受“一直都是那样做的”或“因为我这么说”这样的回答。优秀的开发人员会不断思考为什么问题会以这种方式解决而不是另一种方式。这使我们能够反思流程,并随着经验的积累不断改进。开发人员的时间之所以如此宝贵,是因为他能够解决“为什么”的问题。
他们不仅试图解答别人的“为什么”,也试图解答自己的“为什么”。目前,他们有一个可以运行的代码或系统,但他们不知道原因,所以必须弄清楚到底发生了什么。仔细想想,他们实际上是在寻找一个可能的错误,或者学习一个他们曾经犯过的错误的概念,因此才提出“为什么”的问题。
指导
作为一名开发者,职业生涯的转折点在于开始指导比你更年轻的程序员(在专业领域)。如果一个人无法在团队中工作,无法与同事进行良好的沟通,尤其是无法指导其他同行,那么就认为他是一位优秀的开发者,这是一个巨大的错误。
当你开始指导初级开发人员时,双方的协同效应就开始了。初级开发人员会开始倾听他的搭档的“奋斗故事”,如果他感到好奇(第一点),他就会开始探索,规划自己成为高级开发人员的道路。
但是,在这种情况下,不仅初级开发人员能从指导中受益,高级开发人员也能强化自己的软技能,因为他必须与工作经验较少的人交流,因此必须寻找合适的比喻或示例。教导他人可以成倍地增强你的知识。此外,知识的传递并非单向的,从高级开发人员到初级开发人员,因为初级开发人员(如果好奇的话)可能会为高级开发人员带来新鲜空气,强化他对最新趋势的了解,而这些是高级开发人员由于时间不足而无法掌握的。
承认你不知道的事情
有一句非常流行的名言说,人类最难说出口的三个字不是“我爱你”,而是“我不知道”(《魔鬼经济学》畅销书)。
人们很难承认我们不知道某些事情,因为我们可能看起来无知、低劣或比别人差。当我们在工作环境中的角色被认为拥有经验(例如高级开发人员)时,这种情况会进一步加剧。
然而,优秀的高级开发人员能够迅速承认自己不懂、没有经历过或不确定。这能帮助他们学习。高级开发人员的这一特质与我们之前提到的“高级开发人员试图找到问题的“为什么”以及他们是“探究型”人才”的观点完美契合。
因此,请牢记:
成为高级开发人员并不意味着了解一切,但你有能力找到问题的解决方案。
当然,这些解决方案不一定在你第一次找到解决方案时就是最优的。在不断学习和改进的过程中,你可以改进为你的问题提供的解决方案。
结论
在这篇文章中,我们介绍了开发人员必须具备的个人素质,以便成为一名优秀的开发人员,并随着时间的推移达到高级开发人员的职位。
开发人员不会随着时间的推移而在一夜之间成为高级开发人员,但这是一个人固有的过程,因此,您很快就能发现那些最终会成为该领域优秀专业人士的人。
无论如何,本文分析的任何一点都会使您成为更优秀的专业人士,并且是您作为开发人员日常工作的良好实践。
最初于 2019 年 9 月 27 日发布于https://www.carloscaballero.io。
文章来源:https://dev.to/carlillo/how-to-become-a-senior-developer-521d