今年3月的时候,临近大学毕业了,学习生活节奏却依然非常紧张。学校在国内比较特殊的教育方式和课程规划,让我们在这个阶段跟过去三年比是有过之而无不及——5月交毕业论文、答辩,6月还有几门课最后的考试。但随着时间的一点一点推移,还是能感受到越来越浓厚的毕业氛围。
那段时间跟随西浦的师兄师姐们出国继续深造的脚步,我也在给外面各个学校写着申请。一边写一边回忆着自己大学四年的点点滴滴,有时候不免会觉得有一点失落和紧张,经常会去想,如果自己不去读研,被抛到社会当中去,作为一个本科毕业生去找工作的时候,什么是属于自己的核心竞争力。大学这四年在西浦的电气工程专业涉猎面挺广的,硬件、软件和算法都接触到了,课程里的项目作业和考试都努力去完成,通宵也是熬了不少,各门课程成绩都还不错,加上一些实习经历,所以给国外学校写申请的时候,自信简历很好看。但是,在假想把自己放到公司里的时候,总觉得学到的东西跟自己平常用到的科技产品挂不上钩,公司、工程、实用产品跟自己手里会的东西似乎离得有点儿远。可这差距到底在哪里,自己学过的东西到了哪个层次,公司里的实用技术边界在哪里,一时半会儿也没想明白,只能先忙着毕业设计和上课。
就这么在心里嘀咕了大半个月,一直嘀咕不明白的时候,俊彦跑来跟我说硬禾实战营新一期开营了,问我要不要报名。俊彦这家伙在硬禾的实验室泡了4年,整天拿苏老师他们的设备拆他从闲鱼上买回来的小电子产品,用直流电源试试哪个是能开机的,拿各个仪表测测哪个设备的某个部分比较正常,再几个坏的拼出一个完整好的。虽然被陈强老师他们笑称为“破烂之王”,但他去年泡在那的半年时间还是实实在在地折腾出了一个智能车的国赛二等奖。当然,他一定会说最大的收获不是这个,而是从早两期的训练营里追到了现在的女朋友……
报名快截至的时候学校课程依然紧张,毕设还没做完,但是刚好解决我心里困扰的机会实在不能放过。所以陈老师跟我电话面试,问我学校里的事情会不会影响训练营课程的时候,我咬咬牙说不会,就进营了。后来觉得有点儿对不起陈老师,中间有几天还是因为考试和毕业答辩请了几次假。
4月15号是开营的日子,后面几周一起奋斗的来自全国各地高校的营友们都到齐。各自自我介绍,有来自名校的研究生和博士后,有专业能力特别强的本科同学,也有创业公司的创始人,对于第一次跟来自不同学校的同学和前辈一起做实战项目,不自觉会感到一丝兴奋和小小的紧张。
最开始阶段还算轻松。本来在西浦的课程基本每一门都有文档撰写作业,而唾弃了某度且学会了在Google上使用适合的关键字后,搜索得到的资料有效性几十上百倍地增加,再加上苏老师列出的用于电子领域权威资料网站文档专业且齐全,所以建立自己的主页和查阅资料撰写项目介绍这第一个任务完成得没什么阻力。然后,就信心满满地抱着博士后钰哥的大腿选择了RISC-V项目组,要在移植了RISC-V内核的小脚丫FPGA开发板上做扩展。
当然,我们开始的时候想简单了,以为我们的PCB板仅仅需要一个外部Flash即可。在第二天的项目方案答辩上,苏老师和陈老师现场就给我们提了方案建议,改正整体思路,强调目标是最小系统板,不是单一的功能设计,不然这个这个RISC-V软核的扩展板可就没有什么存在意义。我们一组四个人赶紧连夜找寻资料修改设计,才在后一天的方案答辩上得到苏老师的同意, PCB拓展板除了支持一个SPI接口的Flash外,再加入一个I2C接口的距离传感器,一个电阻网络+运放组成的DAC,一个运放+并口ADC,还有2个UART接口,两个PWM输出,以及多个GPIO预留,并通过PCIe插槽接到FPGA母板上。WOW,主流的串行总线和并行接口在我们的板子上都有了。
接下来各个开发工具的安装,对于我这个bug制造者来说,出现一些和教程还有其他人不一样的情况,导致软件打不开自然是惯例。但在训练营的好处是大家都会互相照应着,东一嘴西一嘴的建议下,问题一般也就迎刃而解。集体力量大啊。集体力量还不够,大神们来搭把手——再有解决不了的问题找一下陈强老师和安然老师,几分钟也就给解决掉。
到两位老师手把手教我们设计原理图、做元器件库和封装库时,作为PCB小白的我当然抓紧学,只是都得碰几个钉子才能理解每个步骤的意义。而每次碰完钉子把修改后的原理图之类给老师审查,老师总会挖掘出一些隐藏的错误出来,然后给我们讲一段经验总结。以前老听别人说硬件工程师越有经验越值钱,大概就是这个道理吧。在实训营利多碰钉子,多学经验,挫折后有收获,感觉也挺好的。只是接下来的钉子,碰得有点儿大。
大钉子出现在自己动手布实战项目的板子。苏老师亲自在课上讲的PCB设计流程以及规范,现在再回味,全是干货,我也觉得自己当时认真听了的。而到设计属于各个小组自己的PCB板子的时候,节奏变得紧张起来。因为还要兼顾大四课程的作业以及毕业设计,所以经过多次修改完成原理图后,为了赶进度,我便自己一个人熬到半夜把布局布线给弄完了。结果第二天上完学校的课回到训练营后傻了眼——自己的数字与模拟信号线纵横交错,犯了根本错误,得全部推倒重新来!回头再想想,实际上苏老师上课时说的先布局后布线我也没有做到真正的贯彻,导致自己前一天布板时效率其实非常低,花了好长时间才完成的。课上以为自己已经听懂了,可当自己真正去做的时候还是把这些准则给忘掉。应了谢凡前辈说的:先有表达,才有理解。先在各种情况下都布出好板子,才能说真正理解各个原则。在这里心疼自己的时候,也心疼一下隔壁小组的小玥。她因为一次错误的镜像操作,也是导致前一天熬到凌晨2点布好的板子一半要推倒重来。那两天我们俩特别同病相怜。
再次布板的时候可都小心翼翼了,一边干一边反复互相提醒着各个原则。还不时感叹一下自己和老师之间的差距。比如布线到最后发现没有地方可以走线的时候,自己马上就慌了,而老师面对这个问题的时候却能非常从容,腾挪几下就能腾出空间来解决掉。
姜还是老的辣,也是给我们学东西的好机会。到后来学完Verilog的编程,FPGA代码的仿真、调试,到软硬结合的系统联调,再遇上棘手问题解决不了,我们就跟着老师上Google,查资料,看数据手册,慢慢也能摸到一些解决问题的思路。掌握了方法,心里就越来越踏实,项目推进也越来越有模样。
后面实战的节奏是越来越快。自己需要赶毕业设计,所以周末自然都泡在实验室。而其他同学也都会早早过来忙项目。有时候不知不觉,和同伴们走出大楼的时候已经晚上十点多了,大家一边吐槽着累和今天遇到的难题,一边分享着各自学校的趣闻趣事,痛并快乐着。按刘帅同学的说法,以后都不容易遇到这么多一起亲密并肩工作的同学了。只是到最后成果答辩的时候,恰好和我毕设答辩的时间重合。为了避免留级的风险,我只有忍痛暂时抛弃了我的小组,专注去完成自己的毕业答辩和论文。记得毕业答辩完的那个晚上,从口袋里开启手机看到了实战营小组答辩的成果展示和合影的时候,非常开心,却也因为舍不得身边一起奋斗的小伙伴而有些难受,一时间感觉空落落的。
实战营已经结束一个多月。但依然清晰记得在第一节课上,苏老师给我们讲了一些综合技能要求以及行业资源。让我最感兴趣的是苏老师所讲的这个行业的职业岗位以及职业方向,以及各个岗位所要求的掌握的一些专业技能。以前在我心中各种高大上的硬件和系统工程师在我心里就在那个时候变得具象化起来。感觉职业发展的道路像是升级打怪一样,通过接手不同的项目,去学习去掌握各种专业技能,去熟悉各种行业规范以及经验,在此过程中,有意识地去提高解决未知问题的能力,去训练自己的职业素养,让自己更加专业化、职业化。现在回头看,那段忙碌的时间是我人生一段非常宝贵的回忆,我也衷心的希望在这一段宝贵回忆中的小伙伴们一路打怪成功,等我从欧洲学成归来我们再聚!