张羽《底层逻辑:半秒钟看透问题本质》—书摘
- 学习底层逻辑,是为了让我们在陷入困境或发展不佳时拥有开放的视野、无尽的想象力、强大的学习力与直透本质的能力。
- 思维层次越高,你的价值就越高;底层逻辑越坚固,解决问题的能力越强,发展机会就越多,成就也就越大
老师、学校、教育系统,只能教你生存的技能,如何成为合格的螺丝钉
读书可以帮助你完成阶层跃迁吗? 显示不能,因为学校只能教授理论知识和具体的技能,它只是具体使用环节的某一个点而已,例如:孔教礼仪、如何制造发动机、如何营销?如何制定法律?上学的时间越久,你的专业就越专精,越发是一个稳定的点,也就是说学校教出来的孩子技能仅仅是某一个零件,必须衔接到某一个系统上才能对社会创造结果价值。这个孩子必须不断的去选择依附的组织,作为劳动力按照劳动力市场的需求价格来完成自己的价值,拿时间去换一家老小的吃穿用度
现代社会的本质就是分工协作和价值交换. 穷人没有财富可以传承,中产的技能无法传承,唯有富人的资产和观念才可以传承
(1)穷人只所以穷,是因为他是拿时间去换钱,获得的是社会的平均薪酬,这个和学历没有关系,只和自己所在的行业阶段有关系,行业处于上升期或者鼎盛期薪酬较高,行业处于下降期或衰败期就会被淘汰
(2)中产阶级所代表的技能特技,无法传承;中产是因为遇到了时代的红利或者掌握了特有的稀缺技能而在所在领域获得更好的收入,生活过得比较富裕。随着社会的发展这种技能会被更好的技能所替代,而无法传承
(3)富人通过不断积累资产而富有,而资产却可以传承, 富人的资产和观念传承可以越过社会变迁,保持家族财富的传承
做事情一定要有方法论: 凡事有交代、件件有着落、事事有回音
越高级别的领导,会越关注公司本质的问题: 一是更本质的价值判断,二是对公司闭环的理解 比如公司是否盈利、增长做得如何,而不是纠结某部门算法参数调优问题、某实验看上去如何。清晰的价值判断帮助我快速和人达成共识,甚至在对方无法明确说出诉求时,明白对方想要什么;也懂得如何更好分配手中资源,包括人力和精力。
做公司,会要求我搞懂销售、运营、产品、售前等环节。当时创业的方向是医疗,去见一些科室主任的时候,我在手术室外等4个小时,他出来可能两三句话就把我打发走。我给自己的自信之一,在于学习能力:任一领域从不懂到懂,都只需要三个月到半年,过程无非不停看书看paper、找人交流。
做了领导,才知道老板的付出与承担应比别人更多。越往上走,理解你的人也越少,他们不知道公司现金流、投资人、客户、回款带给你的压力是什么;不知道“你见100个投资人或客户,90个都会不睬你”的滋味;也不知道你每天都要失眠,想着别人下个月工资怎么发。经历了创业期间对成本的严格把控,即使是回到大公司的职业路径上,我也能在工作中对取舍更果断。
你面试的底层逻辑是什么?顶层设计在哪?最终交付价值是什么?过程的抓手在哪里?如何保证结果的闭环?你比别人的亮点在哪里?优势在哪里?你的思考和沉淀在哪里?你有形成自己的方法论吗?对公司有贡献吗?不要动不动就索要。当时来大厂的时候,你是多么的急迫?你可以什么也不要,大厂给你在履历上加分,远远比有限的奖金重要。踏踏实实,放平心态,好好工作。没有给你高绩效,肯定是你和其他人比起来,对方更优秀一些
不同工程师级别的要求
第一个级别engineer普通工程师(指哪打哪): 根本要求是能够独立的执行工作任务,独立的意思不是说这个工程师不跟其他人合作,而是指这个工程师交付的工作数量和质量已经能够持续地赢得团队的信任,他的老板已经不再需要因为他缺乏经验而安排专人来检查他所教的,这就是独立的。执行工作任务的意思就是说普通工程师这个级别,我们并不要求他能够去定义工作任务,他只需要按照别人定义的工作任务来执行就好。普通工程师的这个发展过程当中,关键的环节我觉得是和老板以及团队之间信任。
第二个级别senior engineer高级工程师(融会贯通), 首先是一个非常优秀的engineer。他肯定能够独立的完成各种各样的工作任务,一些比较复杂,有难度的即使是工作任务,他一样可以搞定
那senior engineer和engineer之间的区别在哪里?
主要有三点:
一、senior engineer除了执行工作任务以外,他已经开始有想法。不管是工作任务内容,还是工作方法,效率等等各个方面, 他开始有自己想法。
二、senior engineer可以教engineer去执行工作任务。
三、senior engineer可以把复杂的工作任务分解成小的工作任务,并且带领了两三个engineer去完成。
关键的环节其实就是不仅要能做,还得会讲,会教会别人做。我遇到过不少senior engineer卡在这级别。原因就是他不喜欢讲。不愿意也或者是不会去教会别人来接手他的工作。这样的话,像这份工作总是叫他来做。他就没有更多的精力去迎接其他的挑战,去获得新的发展。就会卡在senior
第三个级别staff engineer:有人翻译成主管工程师,有人翻译成主任工程师或者技术专家(无中生有) 要求是,无论在项目上还是在团队里,这个工程师需要有清晰的影响力。在项目上的影响力体现在这个工程师负责的任务是项目当中的关键。直接影响这个项目的完成时间以及这个项目成败。在团队当中的影响力是什么样的?这个工程师,他的人品,知识,能力,普遍的得到大家的尊重和认可。他所提出的观点,得出的结论,持续的被证明是正确的,总是得到多数人的支持, 这就是在团队当中的影响力。
在往上是senior staff,principal engineer,senior principal,fellow engineer, 无非是影响力的大小不同,比方说你的影响力,是在部门内部,出了部门,别人就不太了解你。那肯定没有大家都跨部门影响力大,然后还有跨项目,跨业务部的影响力,跨地跨城市,跨国家的影响力,甚至于跨公司的影响力,你的影响力越大,说明你工作能力越强,你越有可能为之加工,创造更大的价值。那这个公司就会给你更高的工程师级别。对于这些需要影响力的级别的发展,我认为关键的地方在于能够超越自我
【大厂晋升之道一】向上管理
多跟领导搞好关系,能成为嫡系最好,领导给你分的活大概率决定了你未来会不会晋升,多做产出明显的项目,多做性价比高的技术需求,少做业务需求,踏踏实实、闷头干活的人在大厂是没前途的。
当你接到任务的时候,你首先要明确以下4点:
任务的数量:是一个任务还是多个任务并行
任务的节点:什么开始/结束
任务的内容:任务是什么
任务的人员:统筹人员和执行人员
当领导同时安排工作给你: 首先确定工作的内容,可以复述领导说的内容,没有弄清楚工作内容不要盲目开展工作计划。并且细化目标,确定怎样才算完成工作内容。
当领导同时安排几个工作给你:先确定工作的优先级和时间节点。跟领导反馈目前的工作情况及汇报的时间节点,如果需要增加人手,或者目前承受不过来要学会寻求帮助。
接到任务后你要明确你该在什么时间点掌握进度
汇报的时间:进度汇报、汇报的频率
任务的时间:什么时候完成一个小任务/大任务
进度的时间:每个环节的时间节点、节奏把控
当领导问你工作的进度: 这个时候你要警惕,你是不是没有主动向领导汇报工作。要让领导了解你目前的工作的进展,不要怕事情的好坏,遇到困难时寻求资源支持。
当领导问你工作的结果时: 工作的数据、结果,是否遇到困难?是否需要资源支持?
汇报:
先总结后具体,先结论后原因,先结果后过程;
汇报工作用数据说话,举例论证,不要长篇大论;
遇到问题寻求帮助,不要拖到最后一刻;
提出问题的同时,也要提出相应的解决思路或方案,不要等着领导给你答案。
【大厂晋升之道二】抢owner
众所周知,大厂内部是非常卷的,但是如果你卷的姿势不对,那么照样晋升不了,所谓“卷了个寂寞”,尤其是如果一个项目中你不是owner,只是下面一个普通干活的,那么你卷的越厉害这个项目的owner的收益越大,而你只是一个“干活的”执行,最后给你的评价就是做项目没有自己的“思考”,只会“执行”,累死累活得到这么一个评价,冤不冤啊,而那个owner则可以在写晋升材料的时候夸夸其谈,肆意合并项目成员的产出,尽管他可能并没有做太多“务实”的事情,而只是有一些所谓的“思考”。所以从普通劳苦大众的角度来看,如果我们有机会就要尽可能成为一个项目的owner,然后拉尽可能多的人进来一起干,每周项目例会安排起来,文档写起来,尽管你可能还是会很累,会额外承担一些“责任”,但是起码你没有“白卷”,项目有了,owner是你,团队协作有了,只要项目稍微有一些产出,晋升还远么?
【大厂晋升之道三】汇报、写文档
对于大多数研发同学而言,平常花时间最多的就是写代码、解bug、讨论需求、开各种会,这些东西对于一个研发来说重要么?重要。但是跟这些相比更重要的是汇报、写文档。你代码写得再好,bug解得再多,如果文档没写好,汇报没做好,那么照样晋升不了。
几乎每个部门每周都会开周会,一般来说在周会上部门leader能够看到这周各个项目的进展,大多数leader是不会看你的代码的,可能他也看不懂,没时间看,所以衡量你工作好坏的一个重要的方式就是看你写的文档了,因为leader都识字。所以即便是你只写了很少的代码,只要这些代码能够带来一些业务数据或者技术数据的提升,你就可以写一篇文档来体现你的产出,让leader知道。
相反,如果你花了很多时间写了很多业务代码,如果你的文档没写好的话,最后反馈到leader那里你也就是完成了一个普通的业务需求而已,对于你的晋升没有任何帮助,你花了很多时间解决一个巨难的bug,在leader那里你也就是解了一个bug而已,同样没什么产出,对晋升没太大作用。所以研发的同学,多花时间在汇报、写文档上,写代码没有你想得那么重要。
【大厂晋升之道四】公司越缺啥就越强调啥 今天聊一聊字节范,在字节一般新员工入职后,都会有都会有字节范的培训,很多校招生或者工作时间不长的同学来到字节后,看到字节范,简直开心得不得了,字节范要求反对向上管理,正好我不喜欢向上管理,字节范要求不设边界,正好我就是喜欢乐于助人,字节范要求坦诚清晰,正好我就爱说大实话,等等等等,这简直就是神仙公司啊!
但是同学,如果你老老实实按照字节范来,不向上管理,不设边界,不拒绝很多工作,每天忙得不亦乐乎,那么等到绩效的时候你就傻眼了,怎么辛辛苦苦干了那么多还是个M甚至M-?怎么这次的晋升又没有我?怎么别的同学一点儿没有按“字节范”来反而还晋升了?我天天加班到十一二点结果啥都没有,我冤啊!
同学,你要知道这是职场,有人的地方就有江湖,字节也不例外。江湖自然有江湖的规矩。真相是,字节范就是公司的管理工具,尤其是在领导pua你的时候,字节范就派上用场了,能够让你任劳任怨,真的成了“牛马”,不得不说这个管理工具真好用。
决定你能否晋升的,一是你跟领导的关系,二是你干的活
那么作为普通打工人,字节范的正确用法是什么?如果你想要晋升,那么就反字节范。你要向上管理,不向上管理你怎么能让老板了解你?怎么能获得产出大的工作?你要设边界,该拒绝的工作要拒绝,否则你累死累活都在给别人打工,结果别人晋升了,你什么都没有。你不能坦诚清晰,不能说大实话,说大实话得罪人了你觉得有多少人那么“正直”不记仇的?在字节,踏踏实实干活的老实人是会吃亏的。
【大厂晋升之道五】升维思考,降维打击
抢占道义至高点。他说行为你说能力,他说能力你说态度,永远比别人高一个维度降维打击
领导不是不喜欢强的下属,而是不喜欢比他强还掌控不了的下属,下属该汇报还得去汇报。职场不要给自己加太多戏,不要太投入。如果一个公司离了你转不下去了,那你绝对不是那点工资。
领导就是占便宜心理 原始本能。多跟他汇报,满足他心理需求。
没困难制造困难再干活,这是个方法论,不是鸡汤,你得实践。
领导说他只要结果不要过程,其实是要支撑结果的过程。
每个人都是先入为主的以恶意负面的态度揣度你。每个人都有这个倾向。
请教上级,请教优先级。优先级是职场黑话,很多事并行进行时,应该站在对方的利益角度去提问。站在自己的利益角度去提问就是质问,质问领导的工作安排,表达对工作量不满的情绪。问领导最关心哪个项目,把那个项目的优先级提到最高。
未来做工作不要轻而易举要攻坚克难,体现你的工作价值。
你为什么工作能力差?看看这六条
1、不主动汇报
主管交待的工作,进度如何,到哪个阶段,遇到什么问题,从来不主动跟领导汇报、反馈和沟通,就只知道硬着头皮干,到头来进度延误,吃力不讨好。
2、拖延懒惰
对于领导交办的工作,总是等等再等等,一拖再拖,当领导问起来的时候,才着急忙慌的开始做,这样的工作质量、工作完成度能好吗?
3、做事没计划
做事没计划、没思路,工作任务一多就不知道怎么办了,搞不清楚工作的轻重缓急,优先次序,花太多时间处理小问题,反而耽误了大事。
4、汇报没逻辑
跟领导汇报工作,总是讲不到重点,针对领导的疑问,回答的也是支支吾吾,答非所问,鸡同鸭讲,最根本的原因就是你自己的逻辑不清晰,所以才讲不明白。
5、不会独立思考
跟领导反馈问题,从来没有解决方案,就是单纯的把问题丢给你的领导,不为领导排忧解难不说,反倒经常给领导带来烦恼,归根结底,就是你不会独立思考,也没有想着思考,就是等着接受嗟来之食。
6、不会变通
处理问题,就是一根筋,不会变通,也不会想着变通,遇到问题就死磕,解决不了也不请教,也不反馈,把自己孤立起来,最后耽误工作进程。
一、汇报工作说结果;
二、请示工作说方案;
三、总结工作说流程;
四、布置工作说标准;
五、关心下属问过程;
六、交接工作讲道德;
七、回忆工作说感觉。
早上规划:
1、做什么
2、为什么做
3、如何做〔流程,方法、步骤)
4、我需要什么资源
5、遇到问题找谁寻求支持
晚上复盘:
1、今天目标达成了多少
2、今天做对了什么
3、哪里可以做的更好
4、下次遇到同样的问题如何解决
5、我该怎样做才能达到预期结果
做事情 一定要有体系
思考:修炼一眼看穿的能力
1. 必须要有系统化思维
2. 动态思考,则是让我们不要经验主义
3. 你不能只看到眼前的利益,而是要看到全局
做事:做到事事有闭环,PDCA的本质,就是给任何事情扣上闭环
1. Plan(计划)为了让自己的工作卓有成效,你就要做最重要的事情
2.Do(行动)什么叫一竿子插到底?不拿结果誓不罢休。为了成功,要做到最细的颗粒度。
3.Check(检查)核心是检查,你有没有执行到位?实际完成情况如何?
4.Act(处理)发现问题后,就要进行改进,把发现的问题通通解决掉。
这就是做事的体系,让你有始有终。在做事的过程中,不断成长,最终提高你解决问题的能力。当你具备做事的体系,你会发现,你做事不仅有方法,更有效率,还能拿到结果。
算法工程师是一个在客观环境限制和明确的业务目标指引下,利用自己的算法和工程技术能力解决问题的职业。
算法工程师职业发展的几个重要阶段
1. 夯实技术基础阶段(工作1-3年)
2. 解决业务问题阶段(工作4-5年)
3. 提升软实力阶段(工作6-8年)
4. 扩大影响力阶段
你本身处在哪个阶段,几乎跟你的工作年限没有关系,只跟你的绝对实力和认知水平有关系。
算法工程师的核心素质
1. 自信和勇气
2. 细心和责任心
3. 分析与发现
4. 开放与合作
越发展到最后,就越应该关注自身的核心素质提升。换个角度来说,你在职场中做的每一件事情、完成的每一个项目、本身都没有那么重要,这些事情和项目给你带来的核心素质的提升才重要,这些核心素质将跟随你一辈子,谁也抢不走,换不掉
如何挑选行业和公司 对于一个普通人来说,判断一个公司要不要加入的要素非常简单,就是看这个公司现在赚不赚钱,未来能不能赚钱. 其余的要素,比如技术先进性,名声,规模,企业文化都是次要因素,不是主要因素。
如何处理职业发展和个人成长关系
要找到更偏内核的东西,优化它,而不是把目光永远放在表层的目标上。
不是把自己的注意力都放在下次能不能晋升,30岁前能不能升P7,35岁前能不能当经理这些表层目标上。这些是你的欲望,不是你的核心素质
不要长期的过度用力,如果有的话,选择主动退出
- 不要去某汤,AI四小龙之类的接政府项目/靠补贴为生的公司
- 不要去用AI做安防项目公司
- 不要去二三线城市接市政/发改/科工项目的公司
- 不要去用AI颠覆行业的创业公司
- 不要去AI数字人/元宇宙公司, 即无用户,也无营收,更无市场,只有一堆创业团队和vc在苦苦口嗨
- 不要去自动驾驶公司
- 不要去大厂的研究院
- 不要去Al+医学影像公司
专注的做好一件事,是很浅显的道理。一个人能做的事、擅长做的事情其实很少,把自己擅长做的事情做好。
会做加法的人很多,但能把减法做好更不容易:第一,研发在这个领域是否有技术积累或公司原有的技术积累是不是可以被部分借鉴、复用?第二,市场端销售资源是不是可以被部分借鉴、复用。
新业务设置有三个原则:
第一、是用人原则,负责新业务首选年轻人,有锐气,敢于突破、敢打敢拼。
第二、要尽可能保持新业务的独立性,独立去做判断,选择与决策。
第三、最好的模式是新业务独立成一个子公司,给其更大的权限。
不要被复杂的概念所迷惑,任何的理念和概念,在企业管理层面必须要服务于经营,服务于降本增效,不能降本增效的创新都是伪创新.
AI只是技术,最多算一锄头,好不好使,得大地说了算,炫耀锄头是没有意义的,得锄地才有粮食,任何不能落地的技术很难迭代下去。技术能否落地有俩硬指标:要么降低成本,要么提升效率,至少得有一个,能兼备最好
哪些需求是真?哪些是伪 好好的平地,先挖一条河再修一座桥,没有困难,创造困难也要上,没有需求创造需求,这就叫伪需求
只有深入理解了算法原理,才能够真正使用好算法,进而才有可能改进算法。而深入理解算法原理的必经之路就是研究论文和源码
作为团队leader,最重要的一条就是:以身作则,言传身教
算法只是一门技术 算法技术在公司体系下,是非常重要的核心技术,但是只是一门技术。商业体系下,想销售出去,需要和研发、测试、项目经理等多种角色打交道,大家一起合力。将算法和软硬件,以及项目结合,包装成产品,卖给客户。因此我们要经常思考,在做的算法是否有价值,某些算法已经达到瓶颈时,是否需要花费大量的精力物力去攻克?项目交付是否可以通过其他的方式解决,比如销售、比如项目经理。
尽快找到自己的人生定位 每个人的时间精力是有限的,特别是工作后,时间更是无比宝贵。找到自己的人生定位,确定好自己的方向,才能勇敢的一往无前。
CNN结构设计技巧-兼顾速度精度与工程实现
- 网络能深则深,在保持比较小宽度的时候,要想办法加深网络,变深的过程中网络慢慢变胖
- 使用小卷积核,小卷积核有利于网络走向更深,并且有更好的识别鲁棒性,尤其是在分辨率更小的特征图上
- 下采样在网络前几层的密度大一些,越往后下采样的密度应该更小,最终能够下采样的最大深度,以该层的感受野以及数据集中最大的有意义物体尺寸决定
- 能用可分离卷积替代的卷积一定要替代,一般除了第一个卷积,都能替代,替代完后考虑给替代可分离的通道数乘以2
算法工程师的工作内容首先是每日三问:业务KPI达标了吗?badcase解决了吗?CornerCase优化了吗?
- 意识到数据的价值和用法
- 做好高效合理的算法选型
- 全流程的把控能力
- 算法优化能力
算法岗3年深度总结:模型策略、工作思路以及个人成长
- 从模型套用到方案设计:模型的套用和调参是不能解决所有问题的。
- 从单一指标到综合效果:优化不能只盯着一成不变的指标。
- 从实现本身到可拓展性:开拓思路,思考战胜更多问题的方法
从被动到主动
要明确问题和当前的难点,然后开始找解决方案,比较容易想到的是自己解决,但自己解决终究会有限制,例如技术上的难题、跨团队沟通等,需要自己的老大或者其他团队的大佬帮忙解决,此时自己要找到对应的人主动沟通,尽快推进处理,这种方式能更加有效地把事情搞定