今天在公司内网看到一个讨论帖,原文如下:

平时的工作如何体现一个人的技术深度?

平时工作中很多时候需求细而碎的,如何在工作中积累技术深度?又如何体现一个人的技术深度?

思考:做需求与做需求的差异

再回答问题之前,我想先抛开「技术深度」这次词,讲讲做需求这件事,说说我对做需求的理解。每一个程序员都是从刚毕业做需求开始,为什么有的人逐渐成为大牛,主导大型技术项目或走向团队管理岗位,而有的人一直还在做需求。我觉得这里面的差异在于,每一个对做需求这件事的理解有所不同。

这里面的差异在于,你是抱着一种什么样的心态去完成这个需求,是把这个需求做到极致,还是只是当做任务完成这个需求,达到产品想要的功能就行。这两个表面上看似差不多其实相差极大,差异在于,你有没有站在更高的角度,希望这件事做到完美。从需求角度有没有思考产品设计当中的缺陷,能不能反向为产品设计提供建议,从技术角度能不能做到高质量高兼容性无bug,以及下次再有类似的需求能不能快速高效率的迭代。

用一句话来描述就是,能不能跳出自己是一个程序员是一个被动执行人的角色,而是将自己当做产品当做技术负责人的心态去做这件事

业务需求该怎么做

知易行难,如果一开始做不到,那就先着眼小事,关注细节,从需求开始的需求评审,编写技术方案文档,设计文档,到开发的代码注释,结构设计,保证高质量,完善无漏洞的代码逻辑,再到异常埋点,指标监控,线上可用性运维等等,认真对待一个需求的每一个环节。

当你自认为已经做好整个流程的每一件小事之后,接下来可以 通过深入细节,思考整个流程是否存在问题。做需求过程中沟通协作的有没有问题,流程规范的有没有问题,机制环节哪方面问题,代码公共基础能力的是否有缺失,开发过程中你所遇到的问题是不是一个通用问题,能不能抽象出一个公共库解决大家的问题,能不能制定一个SOP的解决方案流程,亦或是提炼出一个最佳实践在组内外分享经验。

通过这些一件件小事来锻炼自己解决问题的能力,以及更深层级的发现问题的能力。再通过不断的发现问题,思考问题出现的原因,拿出解决方案,最终落地解决了自己或组内或协作方的问题,锻炼自己的综合能力逐步慢慢成长。

再说「技术深度」

说了这么多,你可能会说,这跟我问的技术深度有什么关系?我想说:抛开业务需求谈技术深度都是耍流氓

举一个例子,数据可视化方面3D three.js,视频直播方面的编解码压缩,客户端安全方面的攻防渗透,每一个都是有技术深度的事情,但问题是即使你掌握了这些领域拥有了非常高的技术深度之后呢,不能应用于业务需求,不能解决产品急迫要解决的问题,不能完成你老板的OKR,达成部门的战略目标,还是英雄无用武之地(当然你也可以选择一个可以用得上的团队,那是就是另外一回事了)。

由于这些单点的有技术深度的事情,不能为你带来直观和显而易见的 「回报」(也就是颜如玉 黄金屋与金榜题名),也就间接的打击了积极性(当然自己对某门技术感兴趣而钻研的不再本次讨论之列)。所以提升自己的技术深度,最好的方式还是在公司业务中,发现有深度的事,然后去在攻克这个问题的过程中,提升了自己的技术深度,即跟随公司业务的发展的同时自身也获得了成长,你用技术能力为公司解决了业务发展过程中的问题,自然也就从公司获得了该有的回报。这是一个ROI投入产出比最高的获得技术深度的方式。

获取做有深度事情的授权

当想明白获取技术深度的路径之后,接下来要解决的就是,如何让领导给你安排有技术深度的事情?

业务发展中有很多有技术深度有技术难度的事情,为什么领导要安排你来做这件事呢?你凭什么让领导觉得你 「有能力」「有意愿」 来完成这件事?能力与意愿是作为领导在分配工作当中的最重要的两个决策项(有机会的话我会再写一篇,从管理视角是如何做分工的)。既然你能提问如何积累技术深度,我相信你一定是有强烈意愿的,那么剩下的就是如何让领导认为你有完成这个有技术深度的事情的能力?关于这个问题,可以参考我之前写的一篇回答:如何管理leader对你的能力预期?[1] 最简单来讲就是我在前面讲的,你能不能在开发需求中做到深度思考,追求极致,精益求精,有责任心,有主人翁意识与主R意识,在每件小事中能做到 「自闭环」,之后才会逐步让你承担更大范围更高挑战更大深度的事情,形成正向循环。

这也是我前面为什么要先重点强调做好每一件小事的重要性。

技术深度不是唯一标准

作为一个程序员,在职业生涯的初期,确实是以技术深度也就是技术能力作为最大的衡量标准。但随着职业生涯的发展,职级从L5到L8,站在从公司角度,对一个人的需求,也会从能完成一个业务需求,变成能带领一帮人完成一个更大的维度的需求,能不能为组织解决问题,为事业部达成战略目标,对人的要求的重心也会慢慢发生变化,这种变化可以参考公司的职级能力模型体系的雷达图。

所以一味的追求积累技术深度就跑偏了,但不是说技术深度不重要,技术能力是作为程序员的安身立命之本,但是在积累技术深度的同时,也需要学习锻炼技术深度以外的能力。具体到底是什么其他能力,这就够再展开好几篇文章的篇幅了,今天在这就不细说了,有机会可以谈谈我对这方面的理解。

最后

故不积跬步无以至千里,不积小流无以成江海。先从做好每一件小事开始,把每个业务需求做到120分,深度思考,发现问题,解决问题,逐步建立起靠谱有责任心技术牛的人设,逐步负责有技术难度的事情,跟随公司业务发展积累自己的业务领域经验与技术深度,从而获得双赢的回报。

这是我对如何积累技术深度这件事的理解,或许会有一些片面和偏激,毕竟不是谁都有一个能知人善任的好领导,不是谁都能遇到一个快速发展的业务,不是谁都能遇到有技术难度与技术挑战的场景,无论我怎么说,都会有幸存者偏差的存在。

努力与机遇并存,机遇可遇不可求,所以我们能做的事,就是学会正确做事的思路和方法,并为之坚持不懈的践行它。知易行难,学会方法容易,坚持践行难于上青天。自己该做的都做好了,机遇来了就可以抓住,即使抓不住,你也有了「选择的能力」,有了选择更好机遇更好公司的能力

以上均为个人主观且片面的看法,欢迎批评讨论~~。

关于本文

作者:沧海月明FE

https://juejin.cn/post/7073001183123603470

最后不要忘了点赞呦!
祝 2022 年暴富!暴美!暴瘦!

平时工作中如何体现个人技术深度?相关推荐

  1. 分享平时工作中那些给力的shell命令(更新版)

    分享平时工作中那些给力的shell命令(更新版) 分享平时工作中那些给力的shell命令---(Notice: 蓝色部分为在网友孤风颠影基础上新增加内容) 原帖地址为:http://yunhaozou ...

  2. 分享平时工作中那些给力的shell命令

    标签:基础 工作 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://255361.blog.51cto.com/245361/836 ...

  3. oracle 视图去重复,CSS_Oracle几种查找和删除重复记录的方法总结,平时工作中可能会遇到当试图 - phpStudy...

    Oracle几种查找和删除重复记录的方法总结 平时工作中可能会遇到当试图对库表中的某一列或几列创建唯一索引时,系统提示 ORA-01452 :不能创建唯一索引,发现重复记录. 下面总结一下几种查找和删 ...

  4. iOS面试:如何在平时工作中积累经验

    如果你是一个离职者,还没有找到工作,那么,个人愚见: 一.不打无准备的仗,在没有准备好的情况下切记不要盲目去参加面试,在现在竞争异常激烈的大背景下,没有准备好匆匆去参加面试,可想而知最后的面试结果是啥 ...

  5. 最近工作中遇到的某些技术问题

    这几天发现自己好久没有来csdn了,想起以前想的是每天写一篇文章,现在发现,自己连一个月一篇都没写,自己还是懒和坚持不下来,这样造成自己在CSDN上产出的文章很少.下面介绍下最近工作遇到的问题,以及解 ...

  6. 深度linux_工作中完全放弃windows使用深度linux的感受

    工作用的电脑,以前一直是windows系统,用了几个月出现了难以解决的乱码问题,实在难以忍受,所以我用优盘把原来的windows格式化了然后安装了纯linux系统.我用的linux是深度(deepin ...

  7. group by是否会用到索引_平时工作中经常用到的SQL,这些你都知道吗?

    最近在公司做了几张报表,还记得刚开始要做报表的时候都快把SQL给忘光了(当时在广州休假了1个月多,在实习期间也没咋写过SQL),回到公司的第一个需求就是做报表. 于是我很不要脸地跟带我的学长说:&qu ...

  8. 在上海工作中的一些小技术总结--孔雀开屏列表

    今天要做一个关于列表的展开和关闭的功能.于是写下如下的一些代码. <!DOCTYPE html> <html> <meta http-equiv="Conten ...

  9. 推荐一些软件,平时工作中可能会用到【不断更新】

    1.SSH Secure Shell 3.2.9 (Build 283) 主要用于访问远程服务器(如linux),文件传输等,可以自定义界面风格,可能个人用习惯了,其实SecureCRT也不错: 2. ...

  10. 如何在繁重的工作中持续成长?

    在本届稀土技术大会上,我做了一次关于成长的分享,以下是分享的全文- 在加班文化盛行的互联网文化中,很多开发者为自己的个人成长感到迷茫.这篇文章将会从我的个人经历出发,从打破成长的误区.如何高效的利用时 ...

最新文章

  1. pgsql 相关的命令
  2. 小白创建网站的曲折之路
  3. C#、VB.NET 使用System.Media.SoundPlayer播放音乐
  4. 【Java】Java中ThreadLocal简介以及源码
  5. 关于playframework1.2.4 static 关键字使用的一些思考
  6. 【面试那点儿事】囧,分机号的故事
  7. 基于微信小程序的比赛报名系统
  8. 语音识别算法_开源语音识别算法_语音 识别 - 云+社区 - 腾讯云
  9. Python批量爬取堆糖图片
  10. castle典范英语 storm_fb08 新版典范英语1-9年级 PDF文档+MP3音频 含练习册及教学参考...
  11. 人人都是产品经理 产品经理培训 互联网产品经理
  12. cytoscape.js在vue项目中的安装及案例
  13. 张五常和蒙代尔的对话
  14. 2554. 【NOIP2011模拟9.7】帕秋莉·诺蕾姬 (Standard IO)
  15. 数据分析08章-dataframe第3-4节
  16. 【高级算法】模拟退火算法解决3SAT问题(C++实现)
  17. 消费金融五类风控指标详解
  18. SELECT * INTO Persons IN 'Backup.mdb' FROM Persons 复制到另一个数据库时出现‘in附近有语法错误’
  19. C# 将PPT文件转换成PDF文件
  20. Unity 实现类似 QQ泡泡堂一样平滑行走的 基于Tile的移动算法

热门文章

  1. Proxyee Down百度网盘高速下载器详细使用教程
  2. ucfirst() 把字符串中的首字符转换为大写
  3. 使用Netty封装的部标JTT808 | JTT1078 | 渝标协议 数据上传Android端
  4. Excel鼠标所在行列填充颜色
  5. Android 7 soter,安卓首发!OPPO Find X全面支持微信人脸支付功能
  6. 去了一趟少林寺 竟然发现...
  7. HDAO 全新项目落地,带动区块链新一轮牛市
  8. cad横断面图转文本
  9. 虚拟机安装CentOS6.5分配内存一般20G,之后如何扩展内存,扩充磁盘!
  10. 如何HACK无线家用警报器?