出国?上研?工作?回家种田?(三) IT类专业的工作方向与特点(软硬件技术等岗位)

这里重点围绕我所了解的学科来介绍(信息技术、计算机软硬件)。

软件工程:研发/测试

软件研发方面,主要是工程性的东西,多实践就好,本科的理论水平足矣,从公司招聘的岗位要求就能看出来。研究生因为学的时间更长,上研期间一般会跟着导师做项目,所以有优势,学历本身倒不是很重要。对于学习能力比较好的人,软件研发上手很快;而目前互联网发展迅速,需求大,工资也不低。如果感觉技术水平不够做不了研发,可以尝试软件测试方面,要求低一些(因为研发是在创造,测试则是在寻找问题并完善)。

软件方面也有很多具体的分类,例如移动客户端(Android/iOS/WP),Windows客户端,Web开发(前端/后端)等,具体可参考公司(特别是互联网公司)网站的招聘信息。

做软件工程写代码,往往难度一般,做了几年就没有太多成长空间了。在国外有些人因为兴趣一直坚持了下来,但是国内比较少(往往是现实因素约束)。这些人后来可以转行做什么?可参考:

《程序员转行一般做什么》 http://www.paincker.com/programmer-job-change

安卓学习可参考:

《深入浅出安卓,如何从零学好移动开发》 http://www.paincker.com/mobile-develop

Web方面,如果有兴趣学习网站搭建,可以看《网站搭建从零开始》系列文章 http://www.paincker.com/category/mobile-web/website-primer

算法/科研方向

做过ACM/数学建模之类的可以考虑算法方面,ACM做的特别好的,还可以尝试面试谷歌等国外互联网公司。算法一方面要求大脑灵活;另一方面,也需要一定的理论知识,特别是数学知识。有些算法对于理论要求不高,本科水平基本就够了。

有些算法偏科研方向,本科生的理论水平往往达不到要求。这方面做的主要是理论研究,然后将理论成果转化成算法,对于编程本身要求并不高。例如人工智能,图像处理、语音识别等。推荐一本科普书籍《数学之美》,里面就说的是语音识别相关的知识,可以作为开阔视野、了解这个领域的相关内容所用。

这方面具体的岗位如:算法工程师、数据挖掘工程师等。

工程/理论

总体说来,软件研发偏工程,算法偏理论。工程与理论,有点像物理与数学的关系;同等水平的物理和数学,物理当中用到的数学简单很多,更多的关注实际问题,每个简单式子都可能涉及很多背景知识。

单片机/嵌入式

本科生做单片机/嵌入式方面也可以。嵌入式算工程方向,理论要求不高;难度较大,主要因为涉及的东西多,包括软硬件。本科阶段有限的时间里,嵌入式能学到的内容比较有限。但是只要好好学,本科毕业足以找到一个还不错的工作了,例如2014年美团的嵌入式岗位,待遇很不错,和软件方面的安卓研发差不多。

关于嵌入式的具体介绍,可参考:

《嵌入式科普:基本概念,设计流程,开发特点,如何学习》 http://www.paincker.com/embedded

纯硬件

纯硬件方面,包括模拟电路设计、射频、天线、开关电源设计、PCB设计、电磁兼容、可编程逻辑电路设计(FPGA之类)、芯片版图设计(专用集成电路ASIC)、集成电路设计制造等。

纯硬件特别是模拟电路、射频这类,难度较大,需要较多理论知识,还有大量经验积累。经验很丰富的硬件工程师非常难得,年薪百万都不成问题。另外学习硬件需要成本较高,比较烧钱(最好通过实验室和竞赛进行学习)。

有关模拟电路的一些特点可参考:

《模拟电路设计:理论的神话与残酷的现实》 http://www.paincker.com/analog-circuit-design

《我对模拟电路课程的理解》 http://www.paincker.com/analog-circuit

电赛流程可参考:

《2013电赛总结【西电专用】》 http://www.paincker.com/nuedc

技术学习的思路方法可参考:

《大学期间如何成为技术大神》 http://www.paincker.com/tech-study-in-college

学习存在感

个人感觉不像互联网和应用软件,偏底层的嵌入式和纯硬件的学习存在感比较低。有嵌入式大神自己写了好几个月的BootLoader,外行人问他在做什么,竟无言以对……当然自己感兴趣就好(但是不可否认,存在感有时候也是学习的一个动力)。

这里还有个故事。程序员Linus写了两个月的终端仿真器,终于成功了。兴奋的给妹妹看,妹妹盯着显示器看了大约五秒钟,看着屏幕上输出一串字母A和B,说了声「很好」,然后就没有然后了。这是使用广泛的Linux操作系统最开始的创造过程。

详见《Linus,一生只为寻找欢笑》 http://www.paincker.com/linus

社会发展趋势

因为近几年互联网非常热门,很多从事软件的都能轻松找到工作,并且工资不低;相比而言,同样的技术水平,硬件稍有劣势。如果能一直坚持做硬件,经验积累的多了,感觉会很有前途(当然还是要看发展形势和社会需求)。

互联网公司做的,基本都是大家会用到的App、网站这种大众产品,大家都知道。而硬件公司中除了华为、小米这种做大众数码产品的,很多都不为人所熟悉。例如德州仪器(TI,全球领先的半导体公司),直到大学我才知道(又想到了存在感)。

工作的重点还是看社会需求。社会是不断变化的,谁也说不准未来会怎样。我上大学的时候,都说通信是非常好的一个专业,但是在大学里碰巧我自己学的东西和通信没有密切关系,学了安卓开发,碰巧发现互联网很火,所以找到了不错的工作,人品大爆发。

对于未来的趋势,网上有很多的介绍。目前互联网很火,智能硬件也在发展,还有很多比较大的概念,物联网、云计算、大数据、人工智能等等。

我比较看好的方向,首先还是互联网(目前很好,但是再过个三五年就不好说了);云计算之类的概念,越来越多的依赖服务器和网络,所以服务器方面的需求仍然会很大;软件有云端化的趋势,本地应用将有可能逐渐被云端应用替代,所以网站方面的技术会是不错的选择(Chrome OS云操作系统)。

智能硬件、可穿戴设备、软硬件结合是一种趋势,在未来的几年可能会发展的很好,到时嵌入式就有优势了;自动化控制、机器人、机械这类,不会很快被淘汰;模拟电路设计也是“历史悠久”的技术(电路这种东西不会轻易被淘汰,虽然电路可能没有太多进步空间了,但是总是得有人来做的);人工智能应该在很长的时间里,都是一个热点问题,因为创造出智能程度和人相当的“生物”或是“机器”,一直是人类的梦想。

就目前来看,很多热点问题例如人工智能、大数据,往往技术上都需要一定的理论支撑,本科生的理论基础不够。可以考虑转行从事管理等方向。而如果想研究前沿技术,继续学习理论是有必要的。有机会出国比较好,一方面在国外能开阔视野,另一方面能接触到国外相对先进的教育和技术。

另外,德国“工业4.0”概念也是很值得关注的内容,具体可上网搜索。

工作企业/研究所

工作的企业有很多种,央企、国企、私企、外企等。其中,央企是直接由中央政府监督管理的企业,国企一般是由地方政府监督管理的。在这两类企业工作的特点一般是,工作稳定,相对轻松(基本上不会加班),工资相对低一些;另外如果是党员,可能会有优势。而私企、外企就不一定了,有些公司特别是互联网公司,加班都比较多,压力大,但是工资高;政治面貌一般没有什么直接影响。

下面要说到科研问题。按我的理解,科研首先投入很大,各种科研仪器非常昂贵;其次不确定性或者说是风险也大,可能某项研究投入了很多资金和人力,也没研究出来什么成果。正是因为这样的特点,往往是研究所、学校、国有企业、实力强大的公司,才有更多的可能做科研;小公司往往没有那么多的资金,也承担不起这样的风险。

研究所一般就是做学术科研的,所以对理论知识水平和学历要求高,一般至少是研究生。如果完全按照研究成果来发工资,不少科学家估计都要饿死了,有些科学家一辈子也没能研究出来什么成果。如果是党员,进一些研究方向与国家有关的研究所,可能会有一定的优势。

科研工作成果难以考核,所以研究所一般最基本的工资还是有保障的,也因此会有人工作不积极。从这个角度来说,如果想偷懒,研究所可能会比较轻松。但是国家需要有更多的人,认真专心的做学术科研。学术腐败造假什么的,听说的也比较多,不止国内,国外肯定也有。因此有人担心进了研究所,体制和环境会限制科研,不能很好的实现自身价值。虽然并不了解具体情况,但是我觉得可以争取进一个比较好的研究所;如果真能潜心做研究,条件上的问题可以克服。

应届生找工作的整体流程、注意事项等,可参考:

《应届生校招找工作完整流程总结》 http://www.paincker.com/get-job

求职面试过程中的一些细节问题,可参考:

《我的求职经历与心路历程——我是如何面试进美团的》 http://www.paincker.com/job-apply

重要的思考

这里只做最简洁的说明,不谈过多的心灵鸡汤,善于思考的人总是能自己想明白。

小马过河

很多人对一个方向毫无了解,就到处询问。不问这个方向要做什么,只问难不难,好不好找工作,待遇怎么样。对于软硬件的技术难度如何,前面做了一般性的介绍,但是因人而异。就像小马过河的故事一样,松鼠说水很深淹死了同伴,而老牛说水很浅刚过小腿。只有小马亲自尝试了,才知道水的深浅。每个人有自己的长处和短处,想知道一个东西难不难,最好自己先多做一些了解。

广泛的兴趣/开眼看世界

多接触和了解未知的东西,有利于培养兴趣,对于毫无了解的事物肯定是很难感兴趣的,有了兴趣,想学好就会容易很多。也有助于开阔视野,没有见识,谈不上思想;记者与放羊娃的故事大家都知道。而大学生之所以是大学生,不只是因为学的东西多,最重要的一点是,大学生站得平台高能看得远,而前提是,主动的开眼看世界。之所以出国,正是要去看世界。

不要轻易嫁给一个行业

上一篇里提到过,读研容易嫁给一个专业。如果知识面过于狭隘,嫁给了一个行业,一旦自己的唯一了解的专业受到威胁,又不能很好的与时俱进顺应社会发展,处境就很尴尬。给出的建议是,注重学习能力和思维方式,不被传统思维限制;从自己专业的学习过程中,培养学习能力;多接触新东西,开阔视野,一专多能是一种比较理想的知识和能力结构。

潜心学习与急功近利

这类技术方向,现在的时代需求都不会很小,做好了待遇不会差。很多人根本没考虑自己能学到什么程度,就着急问待遇如何。同样是做硬件,有的人急功近利没有学好,只能去一个不知名的小公司拿着很低的工资,有的人潜心学习功力深厚,很自然的在大公司拿了很高的工资。所以好不好找工作,这里就可以看出来了。

生活的意义

在学习一个东西的时候,如果完全出于找工作这种功利性的目的,往往学习全是一种负担,也很难学好。如果能潜心去做一些很重要的事,例如有人希望为中国的教育、科技等方面做出自己的努力;或是能找到真正感兴趣的东西,即使找不到很好的工作,甚至很难被认可,去做这件事也能让自己感到满足。若能做到极致,真有可能为社会带来巨大的价值,很多伟大的成果就是这样被创造的。

有个可能的困境,如果你想做的事却不能用来谋生,如何解决这个矛盾呢?这篇文章给出了参考答案

《生活的意义:将感兴趣的东西做到极致》 http://www.paincker.com/life-meaning

创业

关于创业的问题比较复杂,经过反复构思,决定暂时不写了。一句话概括,创业想成功很难,但即使失败,也能学到很多东西;如果想创业,建议多开阔视野,多关注互联网,关注社会上的各种问题。

系列文章

本系列文章共三篇,如下:

出国?上研?工作?回家种田?(一) 出国看世界

http://www.paincker.com/after-university-1

出国?上研?工作?回家种田?(二) 专业与上研相关问题

http://www.paincker.com/after-university-2

出国?上研?工作?回家种田?(三) IT类专业的工作方向与特点(软硬件技术等岗位)

http://www.paincker.com/after-university-3