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