成长为高级工程师要扪心自问的几个问题
极客时间编辑部
讲述:初明明大小:4.52M时长:04:56
你好,欢迎收听极客视点。
程序员是吃青春饭的吗?等我们老了,技术过时了,公司有什么理由不裁掉我们,去雇一些既有活力、薪资要求又低的年轻人呢?这个老生常谈的问题困扰着诸多渐入中年的程序员。近日,雅各布·科默(Jacob Comer)发文分享了他是如何增强自己的核心竞争力,跨过“初级工程师”和“高级工程师”之间的鸿沟的。
在他看来作为一名程序员,编码硬实力固然很重要,但很多软技能都能成倍地增加我们的影响力,比如代码审查礼节、如何优雅地遏制项目范围蔓延、如何向其他部门直观的方式解释高技术问题、如何在生产任务爆满和日以继夜的比赛中保持镇定自若等。
具体来说,当你感到迷茫时,可以拿下面的问题问问自己:
你的代码的可维护性如何?你提出的系统架构可用性如何?你的方法是直观、易理解的吗?是否有其他工程师不停地轻敲你的肩膀,让你解释你代码的每一行都是如何工作的?当你发现自己在复制粘贴很多行代码时,你是否能将这些代码的功能写入可重用的服务中?
别人能够从你在拉取请求中留下的评论中受益吗?你的反馈意见是有建设性的,还是太过粗糙?当你发现别人的知识存在缺口时,你是只告诉他们“把这条线从 ABC 更改为 XYZ”,还是有能力引导他们认识到自己方法的缺点?
你如何将非常技术的问题分解为公司其他部门可以理解的简单语言?向市场解释为什么一个功能实际上不可行时,你是否会让大量的工程术语从嘴里溜出来?
你的写作能力如何?线上沟通时,你是能把自己的意思表达清楚,还是同事仍然需要走到你的办公桌旁,来询问你更多的背景信息?
你是否会主动提出想法,使你的团队效率更高?当需要改动现有进程时,你是否能够向所有参与方说明收益?你能使所有人都对这一变化感到兴奋吗?你是否可以持续跟进,并确保新流程确实有效?
你尊重别人的时间吗?当你请求别人帮助时,你能否准确描述你遇到问题?别人是否必须反复问你,才能从你嘴里撬出相关信息?
在与其他部门一起确定大型项目的范围时,你对要开发的新功能的问题了解得有多深入?在开始编码之前,你是否能够考虑到每个边缘情况?你是否能够及早识别项目范围蔓延并尽早制止,从而使团队免于加班?
你的多任务处理能力如何?你有养成扎实的记笔记习惯吗?你能安排好一段时间内工作的优先级排序吗?
你了解业务运作方式吗?你了解为什么即使失业人数达到两位数,软件工程师也可以要求如此疯狂的薪水吗?为什么客户愿意为某些超级基本的功能向你的公司每年支付 50,000 美元?
领导可以放心地让你去负责面试候选人吗?你是否擅长通过有限的信息来对人员进行分类,并可视化他们和团队的适合程度?你能识别出在什么情况下,在工程方面优秀的候选人却不能很好地融入公司文化吗?这种候选人你会建议录取吗?
机会成本是一件必须考虑的事。你在平衡技术债务和推动业务发展方面做得如何?你是否会重构发现的每个微小的编码样式问题?
你知道如何向你的下属反馈他们的绩效吗?你和他们有良好的工作关系吗?你是否将他们视为敌人?你是否正在积极尝试减轻他们的压力,使他们的生活更轻松?公司雇人都是有原因的,你的下属可能比你想象的更有经验和资格。
你有能力扑灭生产大火吗?你是否会在遇到大麻烦时惊慌、不知所措?你是会在压力之下崩溃,还是会在解决问题的同时保持镇静,并与其他部门进行有效的沟通?
简而言之,高级开发者能在工作中有效地解决问题。他们按时完成任务,减轻公司压力。他们知道如何编写经得起时间考验、可维护的代码。他们对项目的方向可以有准确的把控。他们可以发现当前流程中的缺陷,并使每个人都接受他们的想法以进行改进。他们处事冷静,不会轻易情绪崩溃。因此,许多企业愿意给经验丰富的“老兵”开很多很多工资,来保证业务进行顺利。
以上就是今天的内容,希望能对你有所帮助。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(7)
- 最新
- 精选
- 小斧综合能力的闭环,不断挖掘职业路径。29
- 如果果然从菜鸟到高级还有很长的路要走1
- V++有一些是对个人的要求,比如意见有建设性,了解业务运作方式,分清事情的轻重缓急;归属地:广东
- Alan He极客观点怎么不继续搞下去了归属地:北京
- Andy总会有各种解决方法,办法总比困难多
- Ben灵魂拷问
- 子房受教了
收起评论