高赞回答:为什么高级程序员不必担心自己的技术过时?( 二 )


你是否会主动提出想法 , 使你的团队效率更高?当需要改动现有进程时 , 你是否能够向所有参与方说明收益?你能使所有人都对这一变化感到兴奋吗?你是否可以持续跟进 , 并确保新流程确实有效?
你尊重别人的时间吗?当你要求别人帮助你解决问题时 , 你能否准确描述你遇到问题的代码库的确切定位(如抛出异常的行号、你在问别人之前已经尝试过的debug方法 , 免得别人再浪费时间重复你已经做过的工作)?别人是否必须反复问你 , 才能从你嘴里撬出这些信息?在别人走到你办公桌前 , 你已经整理好要问的问题并在MacBook上打开了吗?
在与其他部门一起确定大型项目的范围时 , 你对要开发的新功能的问题了解得有多深入?在开始编码之前 , 你是否能够考虑到每个边缘情况?你是否能够及早识别范围蔓延并尽早制止 , 从而使团队免于周六加班?
你的多任务处理能力如何?你的大脑会超负荷吗?同样 , 在处理大型功能时 , 比如涉及50个文件的功能……你可以一次将它们全部保存在脑海中吗?你有养成扎实的记笔记习惯吗?你打算如何计划跟踪今天下班前弹出的500万件事?
当你编写的一段代码导致帐单页面出错 , 搞得团队首席工程师不得不取消他们的晚餐计划、熬夜帮你解决问题时 , 你会如何应对?你会情绪激动吗?你还能理性思考吗?你是否能够摆脱这种情绪 , 并提醒自己 , 地球上的每个开发人员每两天就会发布错误代码?
你了解业务运作方式吗?你了解为什么即使失业人数达到两位数 , 软件工程师也可以要求如此疯狂的薪水吗?为什么编程是如此宝贵的技能?为什么客户愿意为某些超级基本的Web表单向你的公司每年支付50,000美元?你是否觉得他们被骗了?
领导可以放心地让你去负责面试候选人吗?你是否擅长通过有限的信息来对人员进行分类 , 并可视化他们和团队的适合程度?你能识别出在什么情况下 , 在工程方面优秀的候选人却不能很好地融入公司文化吗?这种候选人你会建议录取吗?同样 , 即使你和候选人在Zoom里聊了5分钟就知道他不可能被录取 , 你是否还可以确保他仍然可以从你们的聊天中学到东西?毕竟 , 语言在网络上的传播速度是很快的 。
假如今天是12月28日 , 你被困在办公室 。 你今年有点疯狂 , 在9月中旬就把今年所有的带薪休假糟蹋完了 。 此时此刻 , 同事们都休假出去high了 。 你还能按时上班吗?领导不在身边惩罚你 , 你是否打算半途而废?这种情形下 , 是否需要领导强迫你你才能尽全力工作?
机会成本是一件必须考虑的事 。 你在平衡技术债务和推动业务发展方面做得如何?你是否会重构发现的每个微小的编码样式问题?毕竟大家都很难承认“这段代码很烦人 , 但它确实有效 , 需要花费四个小时的清理时间 , 这段时间可以花在构建其他功能上 , 而这是很多客户都在请求的” 。
你知道如何向你的下属反馈他们的绩效吗?你和他们有良好的工作关系吗?你是否将他们视为敌人?你是否正在积极尝试减轻他们的压力 , 使他们的生活更轻松?你是否曾经说过“你们那边有什么烦人的任务我可以帮忙削减吗”?公司雇人都是有原因的 , 你的下属可能比你想象的更有经验和资格 。
你有能力扑灭生产大火吗?你是否会在遇到大麻烦时惊慌、不知所措(比如AWS中断使网站瘫痪、不小心搞丢了customer_invoices表单、某些错误导致了不同用户帐户之间的数据泄漏等)?你是会在压力之下崩溃 , 还是会在解决问题的同时保持镇静 , 并与其他部门进行有效的沟通?
虽然我说的话不能代表所有的初级工程师 , 但我确实知道自己八年前开始在该领域工作时 , 在情绪方面的处理是非常糟糕的 。
那时的我极度自信 , 与人沟通很糟糕 , 不能毫不犹豫地处理建设性批评 , 为无关的小事与我的老板激烈争论 , 浪费无数宝贵时间来解决根本不重要的问题 , 总是觉得自己应该得到大幅度的加薪(却不付出额外的努力来赚钱)并为之苦恼和抱怨 , 天天花45分钟打乒乓球、玩游戏(在慢悠悠吃了一个小时午餐后)……


推荐阅读