应朋友的要求写一篇对于当前软件行业的理解,以及当前现状。好久没有写这方面的文章了,所以一上来还真不知道从哪里开始,不过想想也确实是一个好的题材,所以计划也发布到自己的博客上,算是给自己在软件行业中打拼的一个交代吧。 注:本文只代表个人的一点理解。 经过这两天的思考,计划分为几部分: 1. 简单介绍我的工作轨迹 2. 结合3个中国城市(北京,上海,西安),1个国外的城市(硅谷Sunnyvale)进行对比。 3. 从软件领域纵览 4. 从技术角度看发展 5. 个人对一些国内公司的拙劣意见 好,不多废话 1. 工作轨迹
2. 北京-上海-西安-Sunnyvale 从工作环境上来说,其实所有公司都差不多,为了给自己申请一台高配置的电脑要煞费苦心,甚至有很多代码疯子选择自己掏钱买高配置电脑,不过我工作过的几家公司还好,这方面吝啬的只占50%吧,所以我感觉很幸福。 从工作机会上来说,不用说最好的就是硅谷了,各种世界级大公司,主要说一下国内的,北京上海都差不多,很多好公司,包括国内的,国外的分公司以及子公司,数量之巨大我想很多人都了解。在西安华为中兴已经成为了很多人眼中的最好软件公司,一个原因,就是给的钱多,因为华为他们在各个城市给的价钱都差不多,所以我们可以想一下,把北京的工资拿到西安来花是个什么感觉。其实西安也有聊聊几个很优秀外企,例如Thoughtworks,IBM, Emerson,被 IBM 收购的 SPSS,NEC,Newegg 等等吧,我就不一一列举了。下面就说一下我对以上公司的个人感觉,我们就用工作3年以上的一个 Java 程序员来去对比吧: Thoughtworks -- Java 程序员的天堂,工资1W以上没有问题,不过据说管理方面被西安本土化了。 IBM -- 听起来挺唬人的,工资应该是在7k-9k左右,平时非常闲,不打卡,没有固定的工作时间(这点很人性),住房公积金会相对丰厚,我了解的几个team完全木有斗志(不代表所有),没有学习的激情,给人的感觉是混日子拿工资的天堂。 Emerson -- 工资不是很给力6k+吧 原SPSS -- 很 Cool 的公司,有强大的技术实力,福利待遇没得说,可惜被IBM收购以后很多东西都缩水了。 NEC -- 工资和Emerson应该差不多吧,面试过好多NEC的技术以及一些PM,个人不是很满意。 Newegg -- 前几年很不错,现在好像萧条了很多。 华为 -- 工资很可观,工作3年以上之后会有拿到更多内部股份的机会,年终奖丰厚,常年加班,包括周六周日,很是热闹,面试过很多华为的,一个都没招进来。 中兴 -- 比华为差那么一点点的公司,剩下都一样,也面试过很多,还是一个都没招进来。 以上西安的公司的管理以及工作方式都非常的本土化,个人感觉进取的激情很少,管理混乱,PM各种不专业,甚至让我感觉西安根本就没有真正意义上的PM。 3. 软件领域分析 给政企单位提供服务的领域,这个是铁饭碗,但是存在很多不公平竞争,不多说这个,再说下去保不齐这篇文章审核都不过了。你懂的。 互联网,很火,很热,甚至已经很成熟了,多少之前的创业者实现梦想的地方,有成功的,有失败的,竞争激烈,因为肉太多了。 移动互联网,现在很热,也很火,我将重点谈谈对移动互联网的个人看法。 在这里能赚到钱的却很少很少,多少投资也都砸进去了,收回的却微乎其微,也是导致很多创业者梦想破灭的“摇篮”,个人认为移动互联网开始很混乱,大家都看到了这片商机,也都付诸了行动,可是都是在两眼一抹黑地在这片混乱的战场上厮杀,当我们看到 Nokia,Motola,Blackberry 这样的巨人也在这片战场上倒下的时候,难免都会有些替他们感到惋惜。 现在炙手可热的 iOS,Android 的出现导致了很多人的退出,同时也有很多人参与了进来。Android 作为一个开源的平台,为自己争取了很大的市场份额,优秀的程序架构加上快速开发的 APIs,也吸引了无数的开发者,我就是其中之一,可是个人对 Android 的担忧就是由于开源而没有统一并且明确的标准,这难免让人担心会重走 J2ME 的老路(前段时间看到了一个新闻,说是 Google 也注意到了这方面的不足,已经开始研究策略了);还有就是 Android market,现在叫做 Play store,虽然换了图标换了名字也换了排名算法,可是大家能看到的还是一堆一堆的垃圾软件排名非常的靠前,这难免让我这种有各种洁癖的人感到难受。相比较之下,目前最好的 Software sotre 应该就是 App store 了,感觉至少会比 Play store 公平那么一点点,嗨。。这种混乱不好避免,各种水军,各种刷,其实也能理解,都是为了利益。iOS 的应用开发很快速,尤其是它的 xCode,简直是开发者的天堂(个人感觉),可是从技术角度上来说,个人感觉 Android 的整体架构要比 iOS 强。但是 Apple 给我的感觉就是把现有的产品做到极致的一家公司,哪怕是一个非常微小的细节,是我们在工作和生活上学习的榜样。 4. 从技术角度看发展 对于开发语言简单的说,Java 的鼎盛已快过去,C++ 王者要归来。为什么这么说? Java 现在覆盖的领域最大的市场份额现在来看应该是 J2EE 相关的项目,可是 PHP 还是能抢走很大一部分市场的,唯一 J2EE 能保住的就是企业级的开发了(虽然这就是 J2EE 出现的根本原因,虽然当时 J2EE 抢走了很多 website 的市场份额)。J2ME 呢,随着 Android 和 iOS 的出现、Blackberry 的倒下,已经快不复存在。J2SE 来说(这里只是指 client 的开发,用 Swing 和 AWT),超级慢的运行速度早就没有任何的竞争能力。 C++ 就像是一个家庭的主人,永远要负责这个家庭的安全一样,应用在各个领域,从各种开发板子,到我们看到的UI,无所不能,在这里对于开发者来说,唯一的挑战就是时间问题,不过随着越来越多的lib的积累,我想开发速度也是会慢慢提高的。 刚才提到UI,让我想到了 OpenGL,这项技术也会更大面积的兴起,虽然覆盖面已经很大了。 对于脚本呢,个人比较推荐Python,高效率的开发,是每一个程序员的梦想,不是吗? 好了,说了这么多关于语言方面的,下面说一下关于开源项目的那点事儿吧。 开源项目是推动整个软件行业的一个完全不能忽略的一大块,要说整个软件行业是汽车的话,我想开源项目最少是发动机的一部分。可是我们在选型的时候往往面对的态度不对,当前大部分人用开源组件,都只是用,其中会有一部分人会对之有所改动,但是这就是我们的误区,我们一直在我们的项目基础上进行选择、进行对比,这时往往忽略了里面的代码实现,这样最终也只是用人家的项目而已。开源,什么是开源,开源就是别人写的代码你不用写了,但是不是你完全不用写了,你要知道,如果你不用开源,你同样要写和人家一样的代码,如果写不出来人家一样的代码,我想你还是先不要用开源,自己写吧,还能提高自己的能力,不知道我表达清楚没,如果理解到这一点,我想,你会用开源项目了。 对于测试,哈哈,这个应该是整个软件行业不论是国内还是国外都很头疼并且必须要做的事情,它决定着你的产品的成败! 很多国内的软件公司招了一堆号称叫做QA的人,每个人分上几百甚至几千的 cases,之后坐在电脑前,输入-->点击-->观察结果,如果是预期的 pass,如果不是预期的,打开 Bug tracking 工具,报 bug。个人更喜欢和这类人叫做 UE(User Experience)哈哈,完全自己给起的名字,其实也挺好听的。我心目中的QA应该是了解项目的整体代码架构的(说到这我插一句,大家都在做什么单元测试,之后呢,当作完了总结的时候都说意义不大,为什么会出现这种情况?因为还没有真正意义上了解测试的概念),我们的单元测试首先要从架构的测试开始,之后测试业务代码框架,测试完业务代码框架,再之后测试业务代码,这几个环节中用到的最多的是什么? Mockup data 吧?好,具体怎么生成 Mockup data 我就不用多说了吧,每个项目不同,架构不同,这些 data 的结构都不同,这些 data 也确实是比较枯燥,但是非常有用! 5. 个人对一些公司的拙劣意见
好了,就先写这么多吧,这次没有多说关于敏捷开发的事情,因为个人认为这个工作方式取决于“人”,强求不来。 |
[职场| 业界·前辈·经验谈] 对当前软件行业的一点点感想【转】
service
· 发布于 2012-09-23 00:29
· 2370 次阅读
转载文章时务必注明原作者及原始链接,并注明「发表于 软院网 RuanYuan.Net 」,并不得对作品进行修改。
看下来收获就只有Python |