高级开发人员到底是什么?
高级开发人员不是什么☝️
解决问题💡
技术技能和经验🛠
技术知识⚙️
从开始到结束🌟
指导😊
沟通💬
谦逊🙏
摘要✨
人们对高级开发人员的定义存在一个普遍的误解。有人会说高级开发人员指的是多年的经验,也有人会说高级开发人员指的是“每秒修复的错误数量”。其实,这些都不是。
高级开发人员不是什么☝️
当你寻找开发人员/软件工程师职位并浏览招聘信息时,你会发现一个规律:招聘人员似乎根据该领域的工作经验年限来定义高级开发人员。然而,事实并非如此。确定什么是高级开发人员,以及“非高级开发人员”的定义,要比这复杂得多。
让我们先来看看它们不是什么:
- 了解编程语言的一切的人
- 知道所有答案
- 绝对真理
解决问题💡
高级开发人员的基本特质之一是能够快速解决问题,同时:
- 保持高效
- 确保不引入不必要的错误源
- 尽可能减少与现有系统的摩擦
- 考虑大局
- 考虑可扩展性/可重用性
- 做出有关潜在权衡的决策
时间并不总是足够用来制定完美的解决方案。高级开发人员必须清楚自己目前可以接受哪些次优解决方案,但务必让开发人员意识到,虽然目前这些方案只是个快速解决方案,但未来某个时候可能需要修改。
技术技能和经验🛠
当然,高级开发人员拥有丰富的技术技能经验非常重要。这并不意味着他们熟记所有语法,并能列出所有可用的数组函数。
不,这更多地与了解有哪些工具和软件模式有关,以便他们可以根据手头的问题选择正确的工具和软件模式。
高级开发人员通常对可能遇到的障碍有某种第六感。这种经验源自以往的项目。他们无法立即解释为什么某条路可能更糟糕,但他们几乎可以肯定为什么某种解决方案会更好。然而,当他们仔细审视问题时,最终会发现特定方法的真正问题所在。
了解自己不知道什么并进行更多研究以了解更多有关问题的信息也至关重要。
技术知识⚙️
优秀的高级开发人员也了解可用的工具,即使他们没有使用过,甚至记不清它们的工作原理。他们知道,当需要时,总有一款工具可能非常合适。
他们擅长为特定问题找到最合适的工具。他们可能需要做一些研究才能确定某个工具是否合适,但他们知道应该寻找什么。
特别是在新项目开始时,高级开发人员应该做出明智的选择,选择从长远来看可以获得回报的决定。
从开始到结束🌟
高级开发人员能够处理构建软件各个部分的每个步骤:
- 分析问题
- 了解问题
- 为问题制定可行的解决方案
- 实施解决方案
- 测试解决方案
- 集成解决方案
- 部署解决方案
指导😊
每个高级开发人员都应该具备的一个重要素质就是能够领导他人。这意味着:
- 帮助他们提高技能
- 指导他们找到更好的解决方案并帮助他们理解原因
- 当他们陷入困境时帮助他们
- 不要小看他们
- 为他们提供有趣且有用的资源
- 为他人加油
- 分享你所知道的
- 给予应得的赞扬
沟通💬
高级开发人员应该是优秀的沟通者:
- 用通俗易懂的方式向别人解释问题(即使对非技术人员来说)
- 提出一个解决方案,并解释为什么在所有解决方案中,这个解决方案是最好的
- 应对工作场所的政治局势
- 尝试保护其他开发人员免受不良管理决策的影响
谦逊🙏
高级开发人员并非总是正确的,他们应该明白这一点。每个人都会犯错,犯错后,他们应该坦诚相待:
- 提高对问题的认识
- 声称对此负责
- 分析问题的严重性
- 有一系列的解决方案来解决问题
- 接受帮助
此外,高级开发人员不应认为自己总是对的。他们应该分析他人的意见,并准备将其视为更好的解决方案。然而,他们也不应该轻易受他人影响。他们应该始终牢记最佳解决方案。没有自负的余地。
摘要✨
总而言之,高级开发人员非常擅长解决问题、为工作选择合适的技术以及帮助他人在自己的工作中脱颖而出。
文章来源:https://dev.to/themarcba/what-is-a-senior-developer-really-59dg