初中时我学习成绩不错,但在班上也算不得顶尖的那种,到了初三时,眼看着哥哥进工厂被机器伤了手指,突然间多了一种危机感,就开始努力了起来。那时初中的知识点并不多,我早起一个小时,晚睡一个小时,追了几个月,初三第一次期中考试时突然就全班第一了。
大学时学编程也是,刚开始看那些if、for、while真得像看天书,不过想到自己家里太穷,太赶紧挣钱,就硬着头皮看下去,一边看一边在电脑上敲代码,不管懂不懂,都敲进去跑一跑。坚持了几个月,有段时间突然就感觉好像开窍了,好像电脑上的那些软件都能理解他们是怎么做出来的了,再看传说中让人恐怖的《数据结构》也能很轻松地理解了。

我不敢说自己比绝大多数人聪明,但只要明确一件事,我就有扎进去坚持 、积累、思考的韧性,经历过两次上学期间的正反馈之后,我慢慢有了潜意识,只要是做事,好像就没有什么东西是不能克服的。
比如,工作几年之后进入一家搞互联网社交刚上市的公司之后开始做项目,前面几个做的是晕头转向,不懂技术方案,连流程图、时序图都不会画,拿到PRD之后不懂工期评估,不会排期,随便拍个时间就开始埋头搞。被合作方和主管给怼了几次之后,再看看别人怎么做的,慢慢开始学习需求分析、系统分析,用流程图、时序图这些工具去查漏补缺,帮助自己减少开发中的不确定性,很快地就顺手起来。因为做事比较细,后来有几个大项目管的都不错,竟然还有了点小小的名气。
后来跟一个在阿里做过淘宝双十一PM的朋友聊天,发现双十一的套路其实也很固定:
先是业务评估数据,今天要做多少成交、外面买多少流量、商家搞多少优惠、平台发多少卷,最终计算出来总共有多少流量。
然后技术根据系统的调用链路去拆分流量,登录、搜索、商品、店铺、交易、支付、订单、物流发货各核心系统有多少流量,根据每个系统单机器可以承接的qps换算出来需要的机器数。
每个业务域内自己分头去做核心链路梳理,资金流、异常流梳理,搞压则,做预案,最后再一起压测几次。
他跟我说,刚开始参与双十一时还觉得高大上,折腾一次就熟门熟路了,现在想想,绝大部分时间都是跟着横向团队往前跑,比如,一遍遍地梳理自己的系统指标,与上下游对齐,一遍遍地对自己的系统做压测,跟着横向团队一遍遍地过预案。要说有没有技术含量,那肯定有,不管是这一套积累了多年的双十一大促保障方法论也好,还是要对自己的系统从各个维度去解构,做到完全了解也罢,都需要工作上3、5年才能搞得定。但真正去落地执行的时候,绝大部分时间都是在做一些极其琐碎而细致的工作,最需要的是细心和耐心。

是因为软件工程技术含量低吗?也不对。
我去跟以前认识的一个算法团队负责人聊,他平时总结自己的工作就是:读paper、代码实现、调参。现在随着一些算法框架的成熟,觉得他们做算法的危机感越来越严重,因为大部分常见问题都是用一些成熟的算法调调参数就可以解决了,软件工程师稍微学一学就把他们替代了。
我问他怎么看自己以后的核心竞争力?他沉默了一会儿,说要了解业务,要让算法更贴近业务需求,然后他给我举了个例子。
很多做C端产品的公司都会研究如何突破微信群、朋友圈的限制去传播营销图片,比如,淘宝、拼多多的口令等,这是一场封杀与对抗之间的较量,关系到公司能不能用最小的成本去拉来更多的用户。这不是简单地对抗微信识别规则,任何规则都会被破掉,只是时间问题,还需要策略,比如,搞促销之前先用一套规则的不同变种去迷惑识别规则的系统,然后在活动开始前突然甩出几套新规则,等到识别系统再次学习成功开始拦截的时候,活动已经结束了。
我也跟几个搞一些偏底层技术,比如容器优化、CDN服务的朋友聊过,他们远离了普通软件工程师面临的那些多变而复杂的业务需求,专心追求黑科技吗?NO!
其它任何一个领域中主流技术就那么少数几种,大家干上一、两年都能基本理解,他们日常工作中更多的是根据系统的各项指标去搞专题优化。怎么优化呢?头脑风暴、看文章、读论文找思路,写代码上线灰度看效果数据,根据效果数据再调整。没错,就是常年在重复这个过程。可能几年时间没有大的变化,但就是一个个微小的创新带来的指标提升,放到大规模的用户场景之后,都能为公司产生很高的商业价值,产品的护城河也在一点点的提高。
前段时间我想了解一下量子计算,就买了一本量子物理学的入门书籍来看,里面提到一个花了6年时间在量子理论做出突破并拿到诺贝尔奖的物理学家,可以看出来,他的绝大部分时间都在计算推导、试验、失败、再计算推导、再试验、再失败。然后某一个时间点突然灵光一闪,推出了自己的创新理论。

回到“屋顶的闪闪星光”这个IP的永恒话题——软件工程师的个人发展和职业选择。
我们可以看到,不管是最前沿的理论物理研究,还是实践科学性质的软件工程,看起来高端的人工智能,甚至是在校学生的学习,看起来领域相差很大,但要想做好都有个共性:绝大部分时间都在琐碎而细致的工作中坚持、积累、思考,最后才能量变产生质变。
因为风口、天赋、机遇等原因,可能软件工程的每个领域中都有很多做出突出成绩的人,但对大部分普通人来说,要从菜鸟成长为独挡一面的熟手、专家,真得只需要坚持、积累、思考。只是,就这一点却把大部分人都拦住了。

细致琐碎的事才是工作的主旋律相关推荐

  1. Android Weekly #36 :把事情做好不是重点,如何找到正确的事才是关键

    技术文章 过去一周 Android 相关的技术文章精选,以及过去一周发现的经典文章 沉思录| 开篇:Kotlin 的「丑与美」,以及「最佳实践」[1]:Kotlin 其实是一个非常宽泛的话题,除了语法 ...

  2. 什么样的事才是有意义的

    有时候就在想,真正什么样的事才算有意义呢?

  3. 35岁不是程序员的坎儿,看不清楚这件事才是!

    升职.加薪.离职.裁员......只要身在职场,谁都摆脱不了这几个事儿. 2020年,裁员事件一波未平,一波又起.加之年前辞职准备"金三银四"找工作的,也都被打乱了节奏.老生常谈的 ...

  4. STM32单片机上电不自动复位,需要手动复位才正常工作解决办法

    问题:最近在帮朋友做一个项目的时候用了一键开机电路,但是每次上电之后按下一键开机电路的开关,板子只会供电一瞬间,然后松开就没电了,但是如果长按开关不松,这个时候去按复位键,然后等待屏幕亮起来再依次松开 ...

  5. python写入excel怎么跨列居中_怎么才算工作里要求的“熟练使用office办公软件”?...

    我们经常发现招聘工作都会写要求的,其中一条是必须树立掌握office办公软件,这几乎是招聘的默认格式语言来,其实并没有要求到多特殊的东西,比如利用vba和python帮助处理什么的. 顶多只是让你打印 ...

  6. python好找工作么-python和django掌握到什么水平才好找工作?

    python是近2各月才开始使用的,深受其简洁感染并决定一直使用该语言,想快点换个大家都用python的环境(我跳槽不是因为公司不好,是和信仰相违背,信仰一门语言一门技术总是好的),但是,我学习这个语 ...

  7. 程序员新人面临最尴尬的事:需要工作积累经验,需要有经验才能找到工作!到底怎么办?...

    你需要一份工作来积累经验,但你需要有经验才能找到工作-- 大学刚毕业,或者转换职业方向后新入一个职场领域,你会发现求职之路举步维艰.大多数的公司职位都要求工作经验,单这一点就足以将你拒之门外. 前几天 ...

  8. HStream 团队:有挑战的事才更迷人|EMQ 2021 全球招聘季

    导语 EMQ 2021 全球招聘正如火如荼进行中,数十个职位虚位以待,如何找到最适合你的哪一个?在接下来的推送中,我们将为大家详细解读 EMQ 各主要团队及职位,希望大家能向自己心仪的职位投递出简历, ...

  9. 这才是我要的工作!(强杀伤,慎入!)

    今天推荐的这本书,和我们每个人都息息相关,读好它.用好它,找到我们命中注定的工作,那就会有"没有一天觉得是在工作"的美妙感觉. 这本书就是:<这才是我要的工作>. 我喜 ...

最新文章

  1. linux lisp环境,Ubuntu下Common Lisp配置
  2. body curl 设置post_深入说说postman发送post请求
  3. wxWidgets:内存检查示例
  4. [转]总结:Apache/Tomcat/JBOSS/Jetty/Nginx区别 .
  5. 自定义依赖注解无效_最详细的自定义Spring Boot Starter开发教程
  6. python文件管理包_Python标准库04 文件管理 (部分os包,shutil包)
  7. @ResponseBody与@RestController的作用与区别
  8. Spark HA 集群搭建【1、基于文件系统的手动HA 2、基于zk的自动HA】
  9. MySQL 数据库操作命令汇总
  10. 128道软件测试面试题,面试及答案,视频讲解
  11. 仿花生日记淘宝客双端原生APP网站源码
  12. 偏微分方程数值解的matlab程序,偏微分方程数值解法MATLAB源码
  13. 【笔记】MySQL 根据出生日期计算当前年龄
  14. 基于AT89C51单片机的超声波传感器测距【程序详细代码及注释】
  15. 机器学习(四):决策树绘画(基础篇)
  16. 未来富豪,将出自这12大颠覆性领域
  17. python判断word页码
  18. 修改计算机桌面壁纸影响计算机考试吗,计算机考试
  19. google map的api价格介绍
  20. 渗透测试类型(白盒测试、黑盒测试)和漏洞扫描器

热门文章

  1. strictmath_Java StrictMath cbrt()方法与示例
  2. 十大管理之采购管理知识点
  3. wordpress模板WP主题安装失败的解决办法
  4. activiti6.0(二)节点处理人
  5. xcode9创建git分支
  6. MaxScript调用IGame
  7. 前端 导出二进制流文件
  8. macos系统镜像iso_我们一起来安装----虚拟机安装macOS
  9. Xmind激活版双击文件无法打开的解决方案
  10. h5移动端开发中配置真机测试