昨晚无意间看到一段新闻频道对最近炒得火热的“史上最年轻教授”的专访,倒是他的一位同学对于梦想的“现实版”解说颇有些耐人寻味。大体意思是说“拼了老命考上一所梦寐以求的大学,父母辛辛苦苦交了学费,我们却挑了最容易的学分拿,为了求得一份好工作我们都已经失去了对梦想的追逐”。或许这都是曾经处于就业压力中的我们真实的写照,而在我们如愿拿到了或者如意或者迁就着的offer摸爬滚打若干年以后又如何呢?梦想在你的脑子里是否已然遥远?
         前些天在微博上看到一个蛮有意思的心理年龄测试,其中有个问题是“你最害怕失去什么?”答案若干,有家庭、婚姻、工作和梦想等等,我毫不犹豫的选择了梦想,我得意的笑了——“咱肯定还年轻”。毫无悬念,最终给了我“25”,比实际的我还年轻。O(∩_∩)O哈哈~,不知道走出校园若干年的你,是否也会毫不犹豫给出如此“年轻”的答案。也许再过若干年,我们真得不再年轻了,身边的90后会如雨后春笋般涌现,看着他们青涩的傻劲,你是否也还依稀记得我们也曾如此这般过?但是,我们还会再持守着曾经的梦想和期待吗?
         45个月对任何人的一生来说都不算短,而在这45个月的工作和学习经历中,捻转两份不同的工作或许不算多,但是我却能体会到做一个电子工程师的不易。第三次站在这个十字路口,我拥有的是年轻和经验的一个比较好的平衡点,没有名校和学历的光环,但是写过的两本书是我的敲门砖,而已过两个还算“漂亮”的项目则是我最大的谈资。
         我的经历谈不上有多传奇,我也不算是个很聪明的人。但是,我要夸自己的一点是,我做事情能够脚踏实地并且认真专注。曾几何时,我以为机会合适的时候或许我会慢慢离开技术,或许技术背景会是我的优势。但是,和一位前辈的交谈让我再次坚定了技术之路走到底的决心和勇气。“已过这些年你走对了,你没有走弯路……无论如何,技术不能丢”。和这位前辈的认识也是非常巧合,……(各种头衔一并掠过),现在他却不愁吃穿的玩起“自由技术职业者”,他追求的不是什么功成名就,是对技术的自由追逐。而反过来,我也和在HW数年的一位朋友聊过,他的谈吐,对技术对FPGA的认识也很值得夸赞,可惜的是在长期的工作负荷下,他坦言“太累了,谁想在四五十岁还对着枯燥的代码敲键盘,做到某些时候这些东西都会让人厌倦了”。我有些嗤之以鼻,如果热爱,为什么不可以!当然,或许如果可能,我有胆量也到这种高负荷的工作环境中体验个三两年,或许我的想法也会改变。谁知道呢?事物总是在发展中,没有什么是一层不变的,往往在无情的现实面前,我们说的不算。
         就如24个月以前,我曾信誓旦旦的认为我或许会在这个什么都没有的小公司里干上五年,但是突如其来的变故和残酷的现状,以及对个人能力瓶颈的清醒认识,我却再次选择了放弃。而在找寻下一个驿站中,面对风格迥异的雇主时,也让我有了更多更成熟的思考,现实某些时候虽残酷,但其实梦想和现实本不冲突,大多时候,做好平衡,或许现实会让梦想得到更好的“升华”。
         曾经天真的以为,我就是要做个FPGA工程师,单纯的FPGA工程师。但是在环顾四周之后,发现这样的offer很少,真得很少,甚至少得可怜。所以,还在大学中迷茫的亲爱的鞋弟鞋妹们,不要以为FPGA很有前途一头扎进去就以为拥有了“铁饭碗”,现实会告诉你“铁饭碗都是浮云”。缘何如此?当然这也是基于目前国内企业的各种现状吧。
从某种意义上说,我个人在FPGA方面做得算是很精了,而在其他方面相应的有些偏弱,毕竟三四年的工作经验摆在那里,再怎么努力,个人也是要受到时间和精力的限制的,有所强也注定有所弱。而目前国内就我接触的这些公司来看,大多数都没有而且也不准备设置所谓的完全意义上的FPGA工程师,他们理想的状况是由硬件工程师兼任,他们总希望找一个比较全面的工程师,并不感冒所谓的专家,某种意义上来说这是中国整个大环境照成的。不过要是换个角度看这个问题,企业主的担心也不是平白无故的,如果作为硬件工程师有某些的偏好,那么他的设计或多或少会不自觉地向这方面靠拢,FPGA本身很好,但是成本高,而且在某些场合使用还真不合适。说到这里,其实已经到了点子上,FPGA目前的应用并不非常的广泛,很多时候是大家迫不得已的选择,你说通信上用得不少,但可惜的是大多是用于做流片前的验证了;而图像处理好像也很需要FPGA,但是就我接触过的几个公司来看(规模也不算小),他们是做图像的,但是甚至都没有自己的FPGA工程师,说明他们并没有用上FPGA做图像算法类的工作,顶多不过是高速数据流的采集或转发的预处理而已。所以,其实FPGA能干的事确实很多,但是FPGA目前在干的事情却并不多;此外,用FPGA可以,但不要拘泥于FPGA。这是我对FPGA新的认识,当然了,除非有一天FPGA真的能够把成本降到大家认可的水平,而且基于FPGA的各种SOC能够和现在的各种CPU相媲美,但我想这还是有一些年日甚至不太现实的。今天xilinx的ZYNQ或是altera的SOC-FPGA或许就在努力的朝此方向迈进吧,不过恐怕他们还是很难绕过成本这个敏感的话题。
话说回来,两年多来真真正正的在两个项目上摸透了FPGA的脾性,通过对片上系统的架构以及各种总线和外设的熟悉,其实我觉得我会比传统的硬件工程师更深刻的去理解嵌入式系统。这是FPGA带给我意外的收获,但是我想,慢慢的,在继续往“深”里发展的同时,我也会更多的注意一个硬件工程师在“广”这一层面的发展。毕竟,我的梦想不是做个仅仅写写代码跑跑仿真的FPGA工程师而已,我更希望通过FPGA逐渐将自己提高到系统层面,更多的从大局权衡应对各种不同的产品需求。
梦想,不总是一层不变的;梦想,有时候需要在现实面前适时调整和重新摆正……
 

转-----FPGA工程师:持守梦想or屈于现实的更多相关文章

  1. 夏宇闻教授谈FPGA工程师的入门学习

    1. 必须清楚自己究竟适合不适合做工程师. 看看自己的性格特点,是不是特别安静,又耐得住寂寞.因为FPGA工程师是一个辛苦的工作,不但要通过不断学习研究提升自己的设计水平,还要经常性的熬夜加班敲写代码 ...

  2. [面经]杭州某初创公司FPGA工程师实习

    面试时间:2017年8月17日 面试时长:约1小时 面试形式:面对面 面试公司:杭州某初创公司,致力于开发VR相关产品 面试职位:FPGA工程师(实习) 面试官:公司现任FPGA开发工程师,双控硕士毕 ...

  3. FPGA+ARM or FPGA+DSP?

    网上有人说.现在的FPGA,ARM功能已经强大到无需DSP协助处理了,未来DSP会不会消声灭迹?是DSP取代FPGA和ARM,还是ARM,FPGA取代DSP呢?担心好不容易学精了DSP,结果DSP变成 ...

  4. FPGA/SOPC学习转载

    转自小時不識月http://www.cnblogs.com/yuphone/archive/2010/08/27/docs_plan.html 新网址为:http://andrewz.cn [连载计划 ...

  5. FPGA Timing笔记

    很多FPGA工程师都会遇到timing的问题,如何让FPGA跑到更快的处理频率是永久话题.决定FPGA的timing关键是什么?如何才能跑到更快的频率呢? A. 第一步需要了解FPGA的timing路 ...

  6. 基于FPGA的HDMI高清显示接口驱动

    HDMI是(High Definition Multimedia Interface)的缩写,意思是高清晰度多媒体接口,是一种数字化视频/音频接口技术,适合影像传输的专用型数字化接口,可同时传送音频和 ...

  7. 基于FPGA的Cordic算法实现

    CORDIC(Coordinate Rotation Digital Computer)算法即坐标旋转数字计算方法,是J.D.Volder1于1959年首次提出,主要用于三角函数.双曲线.指数.对数的 ...

  8. 【转载】FPGA算法设计随笔

    FPGA设计算法依次需要完成MATLAB浮点仿真 MATLAB定点仿真 verilogHDL定点运算以及数据对比的流程.其中浮点到定点的转换尤为重要,需要在数据表示范围和精度之间做出权衡.另外掌握定点 ...

  9. 如何学好FPGA

    http://bbs.elecfans.com/jishu_278578_1_1.html 掌握FPGA可以找到一份很好的工作,对于有经验的工作人员,使用FPGA可以让设计变得非常有灵活性.掌握了FP ...

随机推荐

  1. The Interview Outline

    ************************* 一.基础部分************************* 1.1 常用数据类型 - 字符串 split/strip/replace/find/ ...

  2. kd树的原理

      kd树就是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构,可以运用在k近邻法中,实现快速k近邻搜索.构造kd树相当于不断地用垂直于坐标轴的超平面将k维空间切分.    假设数据 ...

  3. vue中父子组件值的传递

    父传子 父组件:

  4. 【集成学习】lightgbm调参案例

    lightgbm使用leaf_wise tree生长策略,leaf_wise_tree的优点是收敛速度快,缺点是容易过拟合. # lightgbm关键参数 # lightgbm调参方法cv 代码git ...

  5. Eclipse中注释方法操作(两种)

    Eclipse 中的两种注释方法:(1)多行注释 /* */ (2)单行注释 // 多行注释操作方法. 选中注释部分-菜单栏右上角 source: Add block comment.必须选中需要注释 ...

  6. 关于Mybatis将查询结果中添加常量列并返回

    引言 在使用mybatis的时候,查询一个集合返回给前台页面,在有的时候,我们会添加一个常量字段到对象或者集合中,来标识这个对象属于的类型等等情况,当前台进行再次请求的时候携带此变量进行请求. 但是: ...

  7. python笔记-11 rabbitmq

    一.理解rabbitmq的基本背景 1.理解消息队列 1.1 普通queue 在前面的博客中所提到的队列,此处均称之为普通队列 简述一下普通队列的一些分类及不足 1.1.1 基本Queue:queue ...

  8. 【angularJS】Filter 过滤器

    当从后台获取到的数据呈现到视图上时,此时可能需要对数据进行相应的转换,此时我们可以通过过滤器在不同页面进行不同数据的格式抓换,在AngularJS中有常见默认的过滤器,当然若不满足所需,我们可以自定义 ...

  9. Javascript实现简单的选项卡

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u011043843/article/details/30723933 在线演示:http://jsf ...

  10. Python函数 hash()

    hash(object)    hash() 用于获取取一个对象(字符串或者数值等)的哈希值.返回对象的哈希值.  实例: >>>hash('test') # 字符串 2314058 ...