关于工作
在社会上混了几年,在IT界也是混了几个公司,深感里面水深,行走不敢不谨慎.
我现在从事Linux相关的工作,今天想谈一下我自己对于做应用还是做底层的想法,当然,仅限于软件工程师范畴
底层通常包括嵌入式软件工程师,我认识的很多都是武艺高强,精通十八般武艺,很多东西可能并不是很精通,但是给一点时间就能玩得很溜的,无他,对底层的原理了解透彻,自然对上层的东西一点就通;
不过初期的时候需要学的东西多,工资不高,永远赶不上风口。
上层的应用开发工程师行走在风口浪尖上,我还记得刚开始Android火的时候,刚刚毕业的小伙子都能拿到2万;3个月做完一个项目就跳槽,每跳一次涨3k,那把我羡慕的,人家半年涨的工资已经比我的工资都要高。
容易出头,领导会说:小王,你这个应用做的真漂亮.而不会在那掐着秒表计算你这次的优化提升了2s的开机启动速度.应用工程师和用户挨得近,能够有更多的共同语言,可以一起聊聊UI;用户可不会和你聊USB的VID,PID;应用工程师容易走上领导岗位,赶上3-5年,基本就是个项目组长;嵌入式工程师5年还没把系统完全摸一遍呢,周围都是8年,10年的老人,让去当组长都不去啊,忙着研究底层原理和优化呢。
底层工程师也有自己的优势,工资稳定向上走,涨幅不大,但是平稳向上,基本不会跌。技术稳定,硬件发展速度相对软件要慢好多,50年计算机架构都没有革命性的改变,倒是软件语言,框架,平台爆炸式的增长,应用工程师如果5年不学习,那么你应该考虑一下失业之后怎么办?
关于嵌入式工程师的几个窘境:
Linux是开源的,我们也都可以看到,不过每次看到提交榜的时候我们总能看到所有的非职业人士加起来提交
的代码还不及一个公司员工提交的代码量,这就给我们一个提示:开源从来都是在大公司手中垄断的,我们可以
使用,但是我们从来没有掌握过开源。
为什么呢?基础软件的一大目标是深挖硬件潜力,大公司有很多的业务,有动力来优化软件来提升性能,开源
不可挡,那就拥抱它吧。最终的结果就是大家都从中获益,大家都从中节省了成本获取了收益,然后才有
每年Linux基金会的赞助,商人是逐利的一流公司做标准,二流公司做平台,三流公司做产品,说明了他们在
产业链中不同的位置,越靠近上游才能越接近真实的需求,不然你的标准根本没人用;
站在工程师的角度,更高的平台才能提供更宽广的视野来规划,同时也提供了更多的资源来投入。
做硬件的工程师有一个烦恼,设备太贵。玩ARM硬件的工程师必备DS,硬件工程师必备示波器,USB工程师需要逻辑分析仪,最Low的也要一个jtag吧;其他什么USB转串,USB转网卡,各种接口的USB线,排线,电烙铁,这些最通用的也需要一小笔钱,而且最重要的是在北京你需要地方来盛放你的那些工具套件,寸土寸金的北京城又是一笔钱;还没有说道最可怜的集群工程师了,你要是玩Openstack,没个三五台机器都不好意思说自己摸过这个。
嵌入式软件工程师的烦恼,你可懂?没人包养你,你就玩不起
关于产品和技术
重读一边这篇文章,忽然反思自己对于技术的理解,
忽然醒悟自己的思考方向已经偏离现实了。如笔者所述代码是为产品服务,产品是为用户服务的
,技术不是单独存在的,
它本身是没有任何意义的,只有创造出了价值,到达用户手里被使用才能真正产生价值。
确实,现在的信息冲击实在太大了,不是只有普通的媒体新闻也包括IT行业的媒体,对于极致
描述过于夸张了。
产品成功之后经理被邀请参加发布会,忽然发现自己做的东西其实挺low的,但是这个实情不能告诉公众阿,事实满足不了观众和媒体的期望阿, 于是苦思冥想给它套上各种的光环,所以有了星光璀璨下的万人狂欢,我们也沉浸在里面的辉煌里。
回过头来看@米手机的发展历史,刚开始被称作暖手宝
,发热和重启问题很明显,当初的卖点就是廉价,以价格将整个行业都给拖下来了。
获得资金以后才开始针对性的改良,对其进行各种优化。再看现在的@米手机,真称得上垃圾软件横行,美曰其名更好的为用户服务,其实是另一个@度全家桶。
一个产品的成功从来不是第一次就非常完美的,重点是用户要买账。
从产品和工程的角度考虑,够用就好,从来不存在完美主义,这只是技术开发的幻想罢了。
技术是为产品服务的,这是从公司角度考虑的,而存在另外一方面,公司不是你家,记得很久以前联想的一名员工写过一封信,迄今为止只能回忆起来这一句公司不是家
。
个人和公司从来都没有平等的议价权利和地位,中国人实在太多了,你不做别人来做,你嫌工资低我可以再招个人来做,从这方面来讲,同行之间存在一种潜在的竞争关系,当然一般是陌生的同行。
工作不能只是为了满足工作需要,更是你和你现在公司或下个公司议价的筹码,从这个角度看,需要增加自己的筹码:除了工作需要外,拓展自己的能力,在广度和深度上进行提升,尤其是深度上。
当你在某方面做得很好时,人会信任你在新的工作上也能做得很好,简单的局部性原理(相邻的数据,前一个数据被使用,它会猜想后面的数据接下来也会被使用)。 你在某个方面是专家,换另外一个方面你更容易称为专家,除了自己本身在通用技能,思考方式、习惯等方面的积累外,还取决于人思考的惯性。
相对于光度来说,深度是更难的。现在互联网这么发达,低难度的问题只需要google一下很可能就能直接获得答案,属于普适性问题; 高难度的问题通常在于场景的独特性,一般人很难遇到,所以很难直接给出答案,需要你对某方面达到倚天屠龙的高度才能给出正确方向和答案。 从这个角度看,广度和深度是一个稀缺性对比,广度的人相对多一些,而深度的人相对少一些,大的企业更加倾向于选择有深度的人,为了提高自己的稀缺性,务必提高自己的深度。
工作中要为项目负责,不要追求极致、完美
;为自己负责,技能要追求极致、完美