OT Value: 加班有深意

 

OT has value? 加班给人的印象总是不好的,我的脑海中和加班一起出现的词句有:效率低,累,过劳...x0a我这里的加班指的并非是8小时之外的工作,而是一项工作真实需要的时间和实际花费时间之间的差值。...

  ↑ 点击 “IC物理设计” 关注,欢迎转发到朋友圈。
我们的努力需要你的肯定。


OT has value? 加班给人的印象总是不好的,我的脑海中和加班一起出现的词句有:效率低,累,过劳...

我这里的加班指的并非是8小时之外的工作,而是一项工作真实需要的时间和实际花费时间之间的差值。

“加班” 定义
作为IC行业的攻城狮,尤其是Backend攻城狮,OT是家常便饭,当然不是因为能力不足而加班,原因很多,比如Schedule定制不合理,意外的ECO,PV预留时间少等等。而在很多面试过程中也都会涉及到这个问题,比如有问这个的:“你对工作强度大/加班有什么看法?”但文章标题只表达了我的一半意思,我们这个行业是任务驱动的,不像某些工种,比如传统服务业,是时间驱动的,如餐饮行业,更是和时间紧紧关联。那么我理解的OT,其实就不是8小时外的加班,是你完成任务之外的一些动作,每次项目结束我都会去思考,这个项目真正需要的时间是多少,我在上面加了多少班,即使每天都是朝九晚五的上班,对于某些项目我也是加班累累的,再多想一层怎么才能避免这种情况发生。这里我分享一下这些年做Tapeout的一些体会和方法,我始终觉得好的方法可能会胜过好几场training,当然training也是必须中的必须。
让 “加班” 有意义
很多人觉得过了35岁,家庭的压力,身体的弱势,让自己竞争力下降,那么如何成为一个有竞争力,伟大的工程师?这里用伟大是为了区别普通技术人员。我给自己的规划是3年成为优秀的IC工程,那么如果你25岁研究生毕业,30岁之前可以成为优秀工程师,让自己成熟起来,还有一些时间可以好好规划你的想法,因为只有你优秀了,打好了一定的基础才能想更多的未来。

首先谈谈找工作时对公司的选择,怎么才算是上了一条好船呢?新毕业生都会在大公司,小公司之间做思想斗争,我这里提供一个参考,就是无论什么公司,第一,考察工作氛围如何,这个可以通过师兄或者其他途径间接了解;第二,流程组成,比如某些公司是从Synthesis,DFT,APR到PV都包括的,像design service公司,优势在于一个team可以做全流程,而某些design house,也有synthesis,DFT,APR以及PV,往往一个team负责一个function,但优势在于可以和前端紧密交流;第三是项目种类,一个公司的产品决定了这个公司的项目种类,比如手机公司做Mobile,涉及到很多复杂的Low Power,但是芯片规模没有那么大,而GPU,APU这种是高性能的模块,涉及到high speed设计,而且规模有时候会比较大。具体怎么选择,没有标准,看个人的爱好咯。我的建议是做个有心人在哪里都会发光发亮。

让 “加班” 训练你成为专家
铺垫了这么多,回归正题,怎么才能迅速成为优秀呢?IC行业,或者很多行业都类似,真正优秀的人是少数群体,而大多数人都是所谓的搬砖工,搬砖工也只是一个比喻,就是普通底层技术人员,打个不那么确切的比喻每个公司CTO就一个,但是工程师有许多。随着工程技术的提高,现在的搬砖工也需要硕士毕业,经过严格的training。

那么怎么才能让自己看起来不平凡呢,看起来?我之所以这么说是因为我们生活在社会里,更多的标签不是自己贴的,而是别人帮我们贴的。你自己宣称掌握什么什么技术,到达什么什么程度,但是如果别人不认同,那就是虚名,即使一时蒙混过关,也不能持续长久。



以前看过一篇报道,讲google代码库的,google有很大的代码库,有很好的接口,任何公司的工程师都可以随意调用,也可以对其做出修改,当然google的代码测试框架也是很强大的,以此来保证任何修改的影响是可接受的。当时我想如果我的大脑是一个我自己的IC知识库,每次的学习,training是对代码库的知识新增或者修正,那么在做项目的时候我是不是可以游刃有余得调用这些基础件,不需要临时去对基础库做扩建。

从这个新闻我习到了,储备知识,让你无论何时看起来都像专家。公司都是要利益最大化的,所以完成公司的任务要排第一位,因为公司不是雇你来学习的,是雇你来创造价值的。很多training都是on-job完成的,所以你需要学会Intentional Task,有些人称之为刻意练习,我称之为有意识的任务,这个任务不是简单的Mentor或者Manager交给你的任务,是你自己在大任务里撺掇出来的小任务,有利于自己能力扩充的明确任务。



怎么做刻意任务呢,这需要牺牲一定的舒适度,来换取经验的持续增长,这里就要提到加班,有些人加班并不是因为他工作效率低,而是工作目标不同,完成项目并不是工作目的,转而换作训练自己,提高技能是工作目标,同时项目也完成了,当然并不是所有项目都可以这么做,但是我觉得每个项目经理安排schedule要保证项目顺利推进,协调不同工作之间的进度,总会流出空闲,这些空闲就是你的成长空间。如果你觉得这些太抽象了,下面我谈谈自己的经验,以IC后端为例。
提高
提高分为两个方面,第一专业上的提高,第二是交流上的提高。从后端专业需要掌握的技能方面来看,有:

  • 物理实现基础知识,这是半导体的知识;
  • 逻辑设计知识,严格说这个不是半导体知识,是数学知识;
  • EDA工具知识,现代设计必备
  • 脚本知识;
首先你要有很好的半导体基础知识,比如到了16nm,10nm很多新的结构,新的知识需要学习。或者TCAD做的工作,涉及到tech和library的问题,也是你需要关注的。不要放过一个可以给自己构建知识的机会。

EDA工具给我们带来了很大的便利,自动化程度越来越高,如果某些公司有CAD的team的话,很多Solution都是一个命令就做完了,试试看如果你自己解决能不能比它做的好?自动化是把双刃剑,好用但是会让你离不开他,你不去钻研铸剑之道,总有一天你的那把剑会out的。
在做每个项目的时候,你的很多尝试在老板或者别人看来不一定有价值,这只是你累积经验的过程,严格说来对项目没有任何意义,某些有经验的工程师不需要这些尝试也可以得到相同结论。所以要格外珍惜这些尝试的机会,之前说的加班可能就是在做这些事情,但是这些东西不一定要全部告诉同事,老板。

而交流上的提高是必须的,现代工作分类越来越细,像IC,有专门做Timing的,有专门做Floorplan的,有专门做CTS的等等,这些例子都表明我们的interface越来越多,而很多大公司一方面在细化工作种类,另外一方面在增强交流的通畅,给你做一些training,指定明确的hand-over文档等。而交流能力我觉得于工作,主要包括:

  • Email能力
  • Documentation能力
  • Presentation能力
  • 帮助别人也让别人帮助你
如果你发邮件发现每次别人的回复都在问你问题,你就要思考为什么我第一份邮件发出去还会收到这么多疑问,我应该怎么写才能避免呢,比如你想告诉前端人员某些Path有问题,你有没有尝试过先把邮件发给自己,把自己作为一个前端人员,看了邮件以后你会有什么反馈呢?

有时候在打电话过程中,也需要有意识地去训练自己的技巧,可以在打电话之前列一个清单,这可能很多人都会做,然后结束电话,想一下:刚刚是不是有效训练了沟通技巧?还有哪些可以继续提升的?我还用了什么技巧?

为什么要帮助别人也要让别人帮助你呢,也许你是一个全才,我们中这类人是少数,即使你真的认为自己是全才,那么接受别人的帮助其实是一种和别人建立互信和依赖关系的方法,有来有往才是关系维护之道。平时留意你的周边同事从事的工作,可能遇到的问题。我对CAD比较感兴趣,后端常常有很繁琐,很伤身的重复性劳动,所以我会留意同事的工作中哪些是很可以利用脚本解决的,省时省力还增加结果可靠性。



古人倡导因材施教,方法的适用也是因人而异的,但这些总结分享不仅是我的一家之言,在很多行业都是奏效的,我也是看了很多其他行业的方法转换过来的,我不是方法的创造者,我只是方法的搬运工。最后祝大家事业有成。

配图来自网络,如有不妥请联系,提供版权证明立即更正。

IC物理设计

微信号:ic_pdi



长按识别二维码关注我们


    关注 IC物理设计


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册