type
Post
status
Published
date
Oct 20, 2024
slug
work-art-1
summary
工作思考
tags
思考
category
工作总结
icon
password
工作思考
前言
对于技术同学来说,不管是面试还是公司内部的述职、晋升答辩,都会提到一个词“技术深度”,并会以“技术深度”作为衡量技术同学能力的一部分。
本人最近也深感自身技术深度不足,通过参考网上资料结合自身过去的工作经历,特此梳理一下算法同学相关的“技术深度是什么?”,以作为后续个人成长提升的指导方向。
技术同学的主要工作是构建一个可运行的solution去解决用户的一个problem,技术迭代的背景通常是洞察到problem本身的变化,或者有更好的solution。然后把现有的solution迁移成一个新的solution去更好的解决problem。[1]
技术深度的层级
技术深度也可以从solution和problem上进行总结:
- 初级:
- problem:知道业务问题是什么,能够进行技术问题抽象(根据业务目标拆解算法目标);
- solution:针对problem有哪些可行的solution,不同solution的技术原理是什么,有什么优缺点,能根据实际问题进行技术选型;
- 中级:
- problem:能够从复杂的业务问题中进行目标拆解,区分主要目标和次要目标;
- solution:通过行业调研,结合业务目标、特性、阶段等要求,给出合理的技术选型,知道各技术方案的可行性,并能够对现有技术方案进行改造以适配不同业务场景(迁移能力);
- 高级:
- 不再局限于解决某个业务问题,需要对产品和业务有更深刻的理解,能够提供更完整的技术解决方案,通过技术创新对业务的发展做出贡献。从“支撑业务发展” -> “驱动业务发展”;
技术深度的提升
技术深度提升也是围绕在problem和solution两方面:
1、【技术栈深度】从paper、技术博客中学习业界前沿技术,了解其他领域相关问题的解决方案,拓展技术视野;
2、【迁移能力】在某个业务场景下应用了某个方法后,方法有效知道是因为哪些因素,方法无效也知道是因为哪些元素。这样才能从单纯的 “实践经验” 中提炼出 “可迁移的知识”;[2]
3、【业务理解】业务理解的提升离不开日常的积累,日常多总结、多思考、多调研,更重要的是面对业务问题时不要只站在自己的角度看问题,尝试站在更高职级进行分析(这个很难,个人的想法是可以多个比你职级高的同学/leader沟通,看看他们是怎么看问题的,学习怎么提升自己的思考段位);
(个人能力有限,暂时先总结到中级,未来看是否有机会能总结出晋升高级的提升方法,哈哈)
技术深度之外
1、谈技术深度不能脱离具体的业务需求,即使你拥有了非常高的技术深度,不能应用于业务需求,不能解决产品急迫要解决的问题,不能完成你老板的OKR,达成部门的战略目标,还是英雄无用武之地;[3]
2、如何获取做有深度事情的授权,在开发需求中做到深度思考、追求极致、精益求精、有责任心、有主人翁意识与主R意识,在每件小事中能做到 「自闭环」,才能逐步让自己承担更大范围更高挑战更大深度的事情,形成正向循环;[3]
3、不要局限于技术深度,不是说技术深度不重要,技术能力是程序员的安身立命之本,但是在积累技术深度的同时,也需要学习锻炼技术深度以外的能力,比如上面说的高级-技术深度就不仅是技术,还涉及团队协作、沟通能力、组织能力、管理能力等;
面试/述职答辩时考察你的技术深度,本质上是问你的竞争力在哪里?
- 是否比其他同事/候选人更强;
- 更强的业务洞察能力?
- 通过技术推动业务变化,提升业务目标?
- 你的能力是当前公司需要的吗?能给公司带来收益吗?
- 你的能力公司不需要,对该公司来说那就是没有用的“技术深度”;
参考资料:
[1] 我眼中的技术深度
[2] 所谓技术深度
[3] 如何提升自己的技术深度?
致谢:
作者能力有限,本文存在描述不当或者有待改进的,欢迎您在底部评论区留言,一起交流~。另本文部分文字来源于网络,如有侵权,请联系删除。
- 作者:on the way
- 链接:https://notion-next-eta-weld.vercel.app//article/work-art-1
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章