好多人在一开始找工作的时候,往往面临一个选择,是去一个大公司,还是去一个小公司。大公司比较正规,可以学到很多知识,小公司机会比较多,说不定过几年就成领导了。
以上两种说法都有道理,但是都不全面。
大公司比较正规,流程等也比较正式、全面,技术积累也比较好,确实可以学到很多,而且都是正规套路,比如华为,有非常正式的流程,从方案到设计文档,每个时间段都有严格规定,等到写代码的时候,基本已经成竹在胸了。比如中兴,新人做一个设计,基本上都有非常全面的文档来告诉你,怎么做,以前出过哪些问题,基本上一个智商正常的人都可以顺利完成。
但是大公司也有一些缺点。首先,分工太细,不仅仅是设计上,也在流程上。比如之前面的一个人,做了5年,一直在做接口,而且是同一个接口,这个地方可能已经做的很好了,甚至可以说水平在国内都是比较高的了,但是知识面太窄,其他的不了解。还有一些人,只做代码,连工程都不需要编译,这样,就对代码的器件实现了解不多,实际工程经验也很少。之前面试过一个中兴的,主做信号处理,做了3年,基本上完全不知道fpga是啥,只懂信号处理的verilog代码实现,连逻辑基本单元由查找表和寄存器组成都不清楚。
另外,大公司一般项目进度都比较严谨,在多年的经验积累中,项目进度一般都定的比较准确,这就意味着你必须每天都在做项目,跟进度,很少能留出时间来自己学习,更不用说拿几个星期出来,改改逻辑架构,做些自己有兴趣的事。不利于个人的提升。
对小公司而言,要自由的多,能够接触到的也要多一些。我面试的一些小公司的人,一般都能从头到尾都接触到,包括方案,代码,仿真,调试,debug。也有一些2-3年就成为逻辑组长的。
不过,小公司的缺点也是很明显的。除非小公司有技术很牛的人,否则,一般都难以有很完善的流程,技术上也很难做到比较精深。很多小公司的,连仿真都不做的,而且只做时钟频率约束,管脚的输出输出时序约束都完全不做。所以,小公司出来的,一般都不那么正规,而且水平也很难做高。
面试过许多人后,再回想一下,应该说,我们公司还是提供了一个很好的平台的。
虽然M公司有种种缺点,比如,流程很简陋,对文档的要求比较低,基本上文档就自己写写,然后评审一下,文档写的不正规,而且过一段时间,代码跟文档都对不上。整个逻辑的配置管理也比较乱,很多项目都说不清楚逻辑是复用了哪个的,又改了些啥。
对代码的要求也很低,或者说,有要求,但是没执行。每个人都按照自己的习惯来,以至于我不用看说明,随便从代码中找出一段看看,就知道这段代码出自谁手。
积累和培训做的不好。基本上,我在M公司被培训到的逻辑知识比较少,有过一些培训,但是效果并不好,大部分都是在项目实践当中学到的。基本就没有一个培训体系,全靠自己悟,自己问。
但是M公司还是一个比较好的起点。首先,逻辑规模足够大、足够多样、足够复杂、更改足够多。规模大,就会有机会使用比较大,比较高级的芯片,而且,规模大,对人的掌控能力也有很高的要求。足够多样,知识面就会比较广,当前的逻辑有各种接口,包括transceiver,pcie,spi,uart,i2c,ddr,lvds,ssram,ccir656,rgb等等各种接口。以及相应的各种逻辑。既包括信号处理相关,也包括各种复杂控制,还有视频相关等。足够复杂,对于提高逻辑水平有很大帮助,当前有很多逻辑设计都是比较复杂的,比如数据缓存,pcie上传,xx控制等。更改足够多,就意味着有很多新东西可以做,而且需求的多样性更改,才能催生一系列的设计思想。软件就是因为要处理各种复杂、多变的需求,才衍生出了各种思想,如面向对象、设计模式等。
另外,每个人负责的逻辑设计,流程上可以走完整。包括老项目的维护,在研项目的需求、方案、设计、仿真、调试、debug,以及新项目的预研,都可以全程参与,对逻辑的整个流程会有比较深刻的认识。而且,不仅仅是写代码,包括设计的编译,调试,debug等工作,可以对负责的逻辑设计,有更加深入的认识,对逻辑的可阅读性、可复用性、可调试行等原则有所感触。
另外,得益于逻辑组一定的流动性,可以将逻辑的各个模块都做一遍,而不是只能一年一年的只能做同一个设计。我来公司几年,做过的设计包括视频、电源控制、按键板、XX、xx管理、newcolor、pcie上传、xx、数据缓存、信号处理、xx控制,基本上,超声相关的逻辑,除了xx,其它的,或深或浅的都做过,即使xx,我也曾自己花了2个星期的时间企图重构过,对其设计也有一定的理解。这在大公司,是不可能的。
另外,由于我们公司的超声还没到世界领先水平,以及系统组同事无穷无尽的新想法,每个逻辑设计的方案,都在不同的项目之中变来变去,而且不同于通信领域的固定处理方式,我们公司的逻辑基本上是没有参考的,完全由做逻辑的人来确定,有非常大的发挥空间。
另外,由于我们公司还比较低级的项目管理水平,项目进度的安排并不怎么合理,有些项目中,是有时间可以做一些事情的,当然,最近一两年几乎没有了。但是前几年,我曾经有几次,可以抽出几个星期的时间,并行的做一些我感兴趣的事情,比如逻辑重构。
综上所述,在职场的起点,选择一家好的公司,是非常重要的