学EE做硬件找工作不如学CS做软件,为什么会这样?
学EE做硬件找工作不如学CS做软件,为什么会这样?
电子工程(EE)就业最好的方向居然是转计算机,也许让有的人觉得很不公平,EE也是很重要的学科,我们学习也很努力,为什么就业会不如CS?也有的人好奇,EE/硬件也是信息技术行业不可缺少的一部分,为啥CS软件工作机会这么多而EE硬件不行?
最主要的原因就是一个字:钱。
一个行业要发展要兴旺,要有资金投入。信息技术行业的发展,并不是靠政府资金驱动的,而是私人投资。投资人当然希望风险尽可能的少、回报尽可能大的快,而且收回成本要尽可能的快。
要做软件开发,拉几个人,买几台电脑(甚至自带电脑都成),找个车库(甚至拉到公园、咖啡里蹭网都成),就可以做开发了,至于开发工具,开源(免费)的可能也足够了,金钱成本非常低,等产品用户多了,才需要操心诸如云计算、云存储等各种费用;而要做硬件开发,你需要买电路板、需要消耗各种元器件来做开发,这些事情,你总不能在大街上、咖啡馆做吧,你需要租一个较大的场地、建设实验室,而且,产品设计出来以后,你还需要购买原料、找其他公司来加工生产、做出来的产品要租仓库存储,这些都需要钱。
所以,拿到几百万美元的投资,如果是个软件公司,那可以支撑几年,可以开发出多个版本、把产品做的比较成熟,而如果是个硬件公司,几百万美元很快就烧完了,或者用专业术语来说,流片一次可能就没钱了。
开发出产品以后,接下来要卖钱、要盈利来支持公司运营发展,那产品是否好卖?很多软件有免费版,想想你手机上的应用吧,即使要花几美元甚至十几美元,消费者很容易能承担的起,可能随手就买了 – 不就是一杯咖啡或者一张电影票的价钱么?所以好的产品可以很快吸引巨大的用户群体,让投资人看到希望、更有信心继续投钱。而硬件呢?几十美元你能买到啥?如果是几百甚至上千美元,消费者购买会非常谨慎,所以硬件尽管利润更高,但是购买群体往往小太多。而从投资的角度来看,一个产品,“价钱便宜销售数量多”往往比“价钱贵销售数量少”更稳妥,因为后者波动范围更大、盈利风险更大。
看到这里,如果你是投资者,你很可能也会选择软件行业了。这里也提醒,投资人往往并不是电子工程师,他们对电子硬件没有任何感情和热爱,他们很可能只是华尔街上一群做金融的人或者是风投公司的合伙人,也可能是IT大公司的投资或者并购部门(比如Google Venture)负责人,对于上市公司来说,投资人就是股票购买者了。投资人考虑问题的角度就是钱,投资是否划算、盈利多少,是他们最关心的问题。所谓的“我对某某产品有信心、某某产品改变全世界人民的生活、我对某公司创始人非常有信心,所以我投资”,听上去很高尚,但是如果没有高额回报的话,你再高尚,投资人都不会给你投钱的。
当然,并非每个投资人都选择软件公司,但是大部分人会。有这么多钱砸进来,自然会有很多小公司被创立、中型公司继续发展、大型公司可以搞研发做并购。面对投资人的压力,公司要尽快把投资转化为利润,所以他们要尽快招人来开发产品。有这么多家公司都需要招人,那整个行业的就业形势就会带动起来了。同时,美国人读理工科的少,美国本土培养的软件工程师根本就无法填补缺口,所以才有这么多的外国学生可以找到工作。
硬件行业要想扭转这个形势,我觉得前提是要么研发成本更低,要么回报更高。成本更低似乎是不可能的,你总需要在硬件上做开发做测试,也需要搭建实验室、找工厂加工生产。看起来,唯一的可能性就是投资回报率更高,也就是说,要么软件行业投资回报太低让投资人失望离开,要么硬件行业可以带来巨大的利润远超软件,那投资人就会把钱投进硬件行业从而带动行业发展。
为什么Warald这么强调小公司?因为现在红火的Google、Facebook、LinkedIn等一线IT公司,并不是一夜之间出现的,而是从小公司做起来的,换句话说,没有数目众多的小公司作为基础,就没有行业的蓬勃发展。硬件公司全面落后于软件公司已经是不争的现实,没有蓬勃发展,何谈赶上甚至超过软件公司。
后面继续写这个系统。你的转载分享是对我原创文章的最大鼓励。
– Warald (Email: iamxiaoning@gmail.com)
博客: http://www.1point3acres.com
微博:http://www.weibo.com/warald
欢迎转载,转载必须在标题注明转载,在文章正文开始之前而不是最后,用不小于正文的字体大小,肉眼可以清楚识别的颜色,一字不漏的附带文章末尾的版权声明,包括作者ID、博客网址和原文链接。否则视为侵权!感谢合作。
http://www.1point3acres.com/why-ee-falls-behind-cs-in-creating-technology-jobs/
学EE做硬件找工作不如学CS做软件,为什么会这样?的更多相关文章
- [TPYBoard - Micropython之会python就能做硬件 开篇]会python就能做硬件!
转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 会python就能做硬件! 在写这套教程之前,首先感觉山东萝卜电子科技有限公司(turnip ...
- 超硬核 Web 前端学霸笔记,学完就去找工作!
文章和教程 Vue 学习笔记 Node 学习笔记 React 学习笔记 Angular 学习笔记 RequireJS 学习笔记 Webpack 学习笔记 Gulp 学习笔记 Python 学习笔记 E ...
- EE就业最好的方向是转CS,其次是VLSI/ASIC DESIGN & VERIFICATION
Warald在2012年写过一篇文章<EE现在最好就业的方向是VLSI/ASIC DESIGN VERIFICATION>,三年过去了,很多学电子工程的同学想知道现在形势如何. 首先,按照 ...
- Python学到什么程度就可以去找工作?掌握这4点足够了!
大家在学习Python的时候,有人会问“Python要学到什么程度才能出去找工作”,对于在Python培训机构学习Python的同学来说这都不是问题,因为按照Python课程大纲来,一般都不会有什么问 ...
- Python学到什么程度才可以去找工作?掌握这4点足够了!
大家在学习Python的时候,有人会问"Python要学到什么程度才能出去找工作",对于在Python培训机构学习Python的同学来说这都不是问题,因为按照Python课程大纲来 ...
- 自学java,学多久可以自己找到工作?
先以肯定的语气说明一下自学Java,多久可以找到工作: 按照目前Java的体系来说,Java的几个重点在于Javase.数据库.Spring全家桶系列的框架.而其他的在Java体系之内,会基础的操 ...
- 毕业生想学习web前端,应该怎么学才能最快找到工作?
首先无论你要学习任何技能,必须有一个清晰的版图,什么是清晰的版图呢?首先了解你学的技术将来要从事什么工作,这个工作的条件是哪些? 然后你要有一个非常清晰的学习大纲,切记学习任何东西都要系统,不可胡乱的 ...
- 关于Unity游戏开发方向找工作方面的一些个人看法
这是个老生常谈,却又是谁绕不过去的话题,而对于每个人来说,所遇到的情况又不尽相同,别人的求职方式和路线不一定适合你,即使是背景很相似的两个人,有时候机遇也很重要. 我本人的工作经验只有一年,就业方式 ...
- IT应届生如何准备找工作?
今天和一个弟弟吃饭,他明年年初即将计算机研究生毕业.谈论到怎么找工作,觉得自己会的不多,心里非常发虚.虽然我当年找工作也走了很多弯路,思路并不是很清晰.但是工作了这么多年,对企业需要什么样子的人还是有 ...
随机推荐
- [又是BUG]常见的RuntimeException
妈蛋这异常那异常都是异常,不能忍了! 下面总结一些经常遇到的异常(RuntimeExecption): 算术异常类:ArithmeticExecption 数组下标越界异常:ArrayIndexO ...
- windows server2012域服务器降级的方法
最近在一个新的网络环境里建立windows域服务器,准备建立主.备两台域服务器.在一台新服务器上面安装了windows2012R2并配置了DC服务.域和林的级别设置为Windows2012R2级别.在 ...
- lua面向对象封装及元表(metatable)性能测试
Lua本身是没有面向对象支持的,但面向对象编程在逻辑复杂的大型工程却很有用.于是很多人用Lua本身的数据结构table来模拟面向对象.最简单的一种方法是把对象的方法.成员都放到table中.如: -- ...
- iOS UITableView 修改滚动条颜色 默认选中第一条
//隐藏 self.tableView.showsVerticalScrollIndicator = NO; //修改颜色 self.tableView.indicatorStyle=UIScroll ...
- Linux 下文件监控
本文转自http://www.jiangmiao.org/blog/2179.html 在日常应用中,常常会遇到以下场景,监控文件夹A,若文件夹中的B文件发生变化,则执行C命令.Linux下可以通过i ...
- Codeforces 385C Bear and Prime Numbers
题目链接:Codeforces 385C Bear and Prime Numbers 这题告诉我仅仅有询问没有更新通常是不用线段树的.或者说还有比线段树更简单的方法. 用一个sum数组记录前n项和, ...
- android 判断是否有sim卡及运营商
判断是否有sim卡的方法: int absent = TelephonyManager.SIM_STATE_ABSENT; if (1 == absent) { Log.d(TAG,"请 ...
- .NET基础拾遗(7)多线程开发基础4
一.多线程编程中的线程同步 1.C#中的lock关键字 lock关键字可能是我们在遇到线程同步的需求时最常用的方式,但lock只是一个语法糖,为什么这么说呢,下面慢慢道来. (1)lock的等效代码其 ...
- javascript正则
<script type="text/javascript"> //去除两边空格,如果要去除所有空格,使用/\s*即可/ String.prototype.trim ...
- 填坑 - 使用Entity Framework 6 + Sqlite进行DB first开发
Sqlite团队也是渣啊,到第6代了还不支持Code First. 1.安装运行环境和组件 .安装SQLite的Visual Studio设计器支持 只有安装了它,在[新建ADO.NET实体数据模型] ...