我的成长故事
我叫吴亚飞,现就读于上海交通大学电子信息与电气工程学院,微纳电子学系。六年前,我怀揣着梦想,从浙江一个偏僻的农村来到这个大都市——上海,来到这座有着百年历史的名校——上海交通大学,在人生最重要的六年里,我在交大汲取精华,茁壮成长,从本科生到研究生,从迷惘到清晰,这一路走来,有成功也有失败,有欢声笑语也有心酸苦楚,而最重要的是,我坚持下来了,我成长了。而如今,毕业在即,不是结束,而是开始,人生又将掀开新的一页篇章。毕业后我将入职百度上海研发中心,成为一名软件工程师,为何我要从微电子这个硬件专业转行到软件,又是如何顺利转行的,下面是我的故事。
记得大一第一学期有一门专业入门课《微电子概论》,正是在这门课上,我第一次对微电子这个专业有了比较明确的认识。在此之前,我只知道这是一个高科技的专业,是制造电脑芯片的,仅此而已。正因为我觉得这是一个高科技产业,所以当我们的老师说到“在某种程度上微电子在国外已经算是夕阳产业了”的时候,我还是有点失望的。在年,电脑虽然已经不是稀罕东西了,但电子设备远远没有现在这般普及,所以芯片这个字眼本身的曝光率远远不及现在,自然带有一种高科技的感觉,而得知是“夕阳产业”后,就感觉造芯片和造船造汽车没啥两样了,难免有点小失落。但后来老师对微电子发展历史绘声绘色的描述,一个接一个的传奇故事,尤其是仙童半导体公司和“八叛逆”的故事我至今记忆犹新,还是让我对自己的专业充满了期望,但我依然不清楚自己是不是喜欢这个专业,毕竟还没有真正接触到专业的知识,不知道这个行业的工作具体是做什么的。这大概是我在大学前两年对自己专业的认识,憧憬而又懵懂。也许有人会奇怪,为什么上了两年大学还没搞明白自己专业是做什么的,其实对于微电子这个专业,这并不奇怪,有一个事情可以说明这个问题,微电子的本科毕业生能从事本专业工作的几乎没有,因为很多微电子相关工作岗位的要求是硕士及以上学历,很明显本科四年学下来都还没有摸到微电子的门槛呢,那又如何能在两年内搞清楚我们专业是做什么的。况且前两年我们都在学习基础公共课程,也没有太多闲暇时间来自学入门,只有从大三开始,才会有自己学院老师开设的专业课程,所以我也是从大三才开始渐渐明白微电子具体是做什么的,怎么做的。
经过大三那一年的专业课学习,我隐隐感觉到自己对电路并没有太大兴趣,尤其是模拟电路。很早之前我就知道微电子专业主要分两个大方向,模拟电路和数字电路,而那个会讲传奇故事的老师是模拟电路出身,所以我自然也是对模拟有更大的期望,但现实是残酷的。无止尽的调参数是我在模拟电路设计时感到最无助的,我承认有时候是我自己方法有问题,但确实有很多情况是需要一遍又一遍地去尝试各种参数,才能获得一个看似最好的波形图,而这种非线性的跳跃变化让人难以捉摸,而这也是模拟电路设计中所谓的魅力所在,稍稍改变一个小小的参数,也许整个电路的特征就完全颠倒了,但我感觉自己把握不好这种改变。所以我更喜欢数字电路,而数字电路主要就是编程,只是用硬件语言编程,而不是软件语言。此时我也感觉到比起设计电路,我在编程方面更有天赋,无论是硬件语言还是软件语言,因为编程是一个很确定的过程,就像数学那样,只要没有写错,你的代码一定是按照你的逻辑在执行,总有一个确定的结果,如果结果错了,肯定是你的逻辑有问题,或者你的代码写错了,总在我们的控制范围内。而设计模拟电路的过程更加微妙,不好控制,让我感到有点无助,而我的这些感受也从成绩中很直观地反映出来了。在大三结束进行总结的时候,我发现专业课中我学得最好的是一门关于实现一个电路仿真器的课,这门专业课用到了一些本专业的基础知识,除此之外就是大量的软件编程工作,涉及到图形界面编程,词法分析,语法分析,数值计算,最后的成果是一个小型的电路仿真软件,能仿真许多简单电路,看着自己写的程序画出一个个漂亮的波形图,比起在电路中调参数,那种成就感是不可同日而语的。再回想自己在大一大二学习程序设计和数据结构的时候,虽然课程作业繁多,很是痛苦,但是感觉很有收获,非常充实,而这种痛并快乐着的感觉我并没有在电路设计中感受到。此时脑海中不禁冒出一个念头,为什么我不彻底转行去做软件编程呢,这是我当时非常清晰的一个想法。在大三之前,我对微电子是憧憬着的,而经过大三这一年的学习,我却想转行做软件了,所以大三这一年是我这六年中最重要的一年,在这一年我清楚地认识到了自己喜欢做什么,自己擅长做什么。
既然决定了要改行当一名程序员,我就立马行动起来了。首先,在保研选导师的时候,我选了一个计算机体系结构方向的导师,这是我们学院最接近软件方向的导师了,而且我选的导师祝永新老师自己也是计算机专业出身,后来也证明我当初的选择是多么的明智。我从大四开始加入到祝老师的实验室,开始接触一些项目,慢慢熟悉实验室的工作,后来还参与了一个小项目,在这个小项目中我学会了Java,后来慢慢的我成了这个项目主要负责开发的程序员,让我提前体验到了程序开发的流程,有段时间甲方催得比较紧,我有一种自己是在公司上班的感觉,每天都挺充实的,这种成就感和充实感更加坚定了我做一个程序员的信心。
进入研究生阶段后,我先是补了一些计算机专业的课程,比如算法,计算机网络等,这些基础的东西应该是一个计算机专业的本科生必备的,如果我以后想进入软件行业跟他们竞争,那肯定也是我必备的专业技能。那会儿正好趁着大数据的热浪,实验室也有一些数据挖掘的项目,我也是积极主动参与进去,同时还从网上自学了很多机器学习的知识,这也进一步明确了我的目标,以后可以成为一个数据挖掘方向的程序员。我在实验室的研究方向也正好是数据挖掘方向的,做的是针对时间序列的异常检测,因为这是实验室一个博士的研究课题,所以等我参与进去的时候,已经有很不错的研究基础了,算法研究方面也已经很成熟了,我就找准了这些算法在大数据应用上的痛点,我们已有的算法在大数据情况下要么失效,要么效率极低。当时Hadoop和Spark技术被炒得热火朝天,我也顺势提出要用这些技术来解决时间序列异常检测在大数据上的应用问题。当然祝老师也非常支持我的想法,没有给我太多项目上的压力,支持我自己独立去研究这些技术,这也是我为当初选择祝老师而感到明智的地方,给了我足够的自由,同时还能在需要的时候给予我指导和帮助。我也没有辜负祝老师的期望,顺利地在Spark平台上完成了我的实验,以此为基础成功发了一篇国际会议论文。期间我还去英特尔实习了,加入到他们的大数据项目组,学到了更多前沿的技术,认识了很多技术牛人,最重要的是开阔了我的眼界,见识到了一个好的程序员是如何工作的。
研究生的生活是短暂的,转眼就进入了求职季,互联网行业的招聘比起其他行业提前了两个月有余。其实程序员找工作需要准备的东西概括起来主要是三个方面的内容,计算机基础知识,项目或者实习经验,编程能力。前两项我自认为还过得去,毕竟这些东西是可以提前准备的,但第三项就有点心虚了,毕竟实践经验太少,比起那些计算机专业的学生,我的代码量肯定远远不及他们,所以我在求职季主要是在恶补编程能力,办法也很简单,就是刷题,这是最快最直接能拉近我和计算机专业学生差距的办法。求职确实挺辛苦的,白天跑外面去面试,晚上回学校还要笔试,所幸最后拿到了心仪的offer,终于成功转行成为一名软件工程师,为我的求职季画上了一个圆满的句号。
以上就是我从一个硬件专业转行成为一名软件工程师的故事,之所以会有这个转变,并不是硬件行业不好,而是我自己更喜欢也更擅长软件工作,幸运的是,我很早就发现了这一点,而且马上确立了这个目标并付诸于行动。所以“改变”本身并不难,难的是持之以恒地去践行这个“改变”,我做到了,相信你也可以。
(毕业去向:百度上海研发中心)
白癜风怎么医治皮肤病治疗最好的药