技术区别、职业规划、发展前景等
回复内容:
日常的工作是帮程序员跳槽,常常会遇到想从软件公司跳槽到互联网公司的,也有想从互联网跳到软件公司的(觉得工作强度低)。他们很关心的一个问题是:软件公司和互联网公司,孰优孰劣?
其实两者之间没有优劣之分,但有更适合自己的那一个,对岸的风景也不一定是更美的。知己知彼方能百战百胜,我把在这两种公司里工作的差异阐述一下,对此感兴趣的程序员朋友看完便了解了。
1. 软件公司程序员在哪些公司工作?很多人说到软件公司就是 IBM、Cisco 之流,其实和 VC 不是只有红杉、IDG 一样,软件公司也是多种多样,大体分为以下四类:
a、外企- 美资居多,办公环境和福利都很好
- 招聘时对员工的英文水平有要求
- 制度严格,绝无可能出现克扣工资等坑员工现象
- 有些公司产品线固定缺乏创新,员工在公司里一直做一颗螺丝钉,得不到成长
- 典型公司:IBM、 Cisco、Adobe
b、民营小公司- 规模小,比较典型的情况是老板有关系和行业资源,拉一伙儿程序员给他打工
- 员工薪水有高有低,有的老板很慷慨有的则很抠门
- 小公司存在风险。无论软件公司卖的是软件、解决方案还是服务,都是以客户为中心,所以小公司如果长时间接不到项目或者被客户拖欠款项的话,老板可能会拖欠工资或者直接开人
- 一句话总结:去这类公司工作,老板的人品很重要
c、大型民企:典型公司如金蝶、用友
d、国资背景企业:比较典型的有「中科 XX 软件公司」,氛围和国企差不多
2. 在软件公司工作的程序员能赚多少钱?对于应届生或者一两年工作经验的程序员来说,平均薪资的情况是外企>国内大公司>民营小公司
应届生的薪资水平
- 外企 : 13~20W/年
- 大型民企:4~10k/月
- 民营小公司:差异很大,我见过应届生 3K/ 月的,也见过 8K/ 月的
3. 软件公司程序员的职业发展- 一条路径是走技术路线,一直做到技术负责人
- 另一条路是做一段时间,从技术转到技术管理
4. 软件公司程序员的跳槽去向- 随着互联网大热,跳槽去互联网公司
- 其他软件公司,比如从小公司跳槽到大型外企
- 银行、金融企业的 IT 部门,钱多事少
- 跳槽去客户那里,乙方跳甲方
5. 互联网公司程序员在哪里工作- 外企(在中国):google 等上市公司,以及 airbnb、uber 等明星创业公司
- BAT、京东、途牛等上市公司
- B 轮及以上的创业公司
- 未融资、天使、A 轮的创业公司
6. 互联网公司程序员拿多少钱- 外企、上市公司、B 轮及部分 B 轮以前的创业公司,工资都比较高,比如阿里给应届生的批发价是13K*15月。详细情况推荐阅读 数据说话:怎样的程序员最抢手? - 程序员的自我修养 - 知乎专栏
- 由于互联网公司近两年给应届生的薪水越来越高,不少互联网公司出现薪资倒挂的情况:同一家公司里,工作两年的程序员工资可能还不如刚入职的应届生高
- 外企、上市公司给的工资不一定比创业公司高,时值 TMT 投资大热,很多融资完不差钱的创业公司为了招揽人才,会开出比 BAT 高20~50%的工资
- 部分创业公司会用期权为理由压低工资,对于这种情况,推荐广大程序员同志阅读:程序员为了期权加入创业公司,值得吗?
7. 在软件公司和互联网公司,工作状态有什么不同- 在软件公司的程序员,比较典型的工作状态是 965,即早上 9 点上班,晚上 6 点下班,一周上班 5 天,相比互联网公司典型的 996,在工作强度上轻松许多
- 一些软件公司存在人力外派的情况,需要员工到客户处出差几个月,去软件公司求职的程序员可以在面试时问清楚是否需要经常出差
8. 在软件公司和互联网公司,工作环境和氛围有什么不同就办公环境我更喜欢互联网公司,尤其是互联网创业公司
典型的的软件公司办公环境
互联网创业公司
更重要的是,互联网创业公司的管理更扁平化,同事也更「潮」——更开放,适应潮流,带来新观点。
比如说,在互联网创业公司里大家会讨论 GoPro 相机的使用体验,老板开的车不是奔驰宝马而是特斯拉,这在软件公司里是不太可能发生的事情。而这样的公司,他们的技术开发、市场运营等,往往也会很与时俱进。
只想说一点:很多互联网公司都管饭,但行业软件公司没怎么见管饭的⋯
个人觉得主要在于技术和文化,而互联网开放,快,极致的文化不是一般软件公司有的,当然也不是所有软件公司死气沉沉的氛围,互联网公司也有一些传统软件公司进来做管理的管理者,管理沿用软件公司做法。大互联网公司和某些互联网创业公司的氛围确实很赞。
最近也受到这方面问题的困扰。说说我的看法。
首先从工资上来说,同样工作年限和能力的2个人,一个在所谓传统行业,另一个在互联网。工资能差一倍。
从工作强度上来说,一般而言,应该是互联网公司强度更大。但这个也不一定,不能一刀切。很多传统软件公司也是非常累,为了做项目经常加班,并不比互联网少。比如华为,亚信等公司。但是在外企来说,像微软,oracle, Vmware , 以及笔者所在的RedHat , 基本上不用加班(除非需要晚上和国外开会)。
就技术上而言,我觉得说互联网的工程师的技术比所谓传统软件公司高,纯属胡说八道。我不清楚在互联网公司的工程师的优越感是从何而来的。
作为一个JAVA工程师,我从以下几个方面分析一下,我只说事实。
1: 互联网公司的特点是高并发,大数据,快速迭代。所以从技术选型上来说,互联网公司会用到 hadoop, nosql, spark , mesos , 负载均衡,集群等技术。
2: 传统软件有大致可以分为,项目型(如笔者曾经工作过的神州泰岳),技术基础平台型(目前的RedHat ).这些公司确实不会面临到像互联网公司特别高的并发和大数据分析的问题。
3: 说完区别,我们来看看共性。共性就是,其实都是软件开发。你能说互联网的服务器端的程序不是软件么?不能!你能说互联网的前端(web,app,)不是软件么?不能!
4: 我们再来看一个非常有意思的问题,就是互联网公司用的都是什么技术(只说后端):Linux , tomcat, jboss,ngnix,mysql,nosql(redis , mongodb .. etc.) ,java以及生态圈内的一系列框架和库, 负载均衡器,hadoop,docker,spark..等等太多了,这里面除了开源框架,大家有没有发现,其他的技术都是所谓传统软件公司的产品! 反过头来现在很多互联网公司看不起传统公司,在互联网工作的程序员看不起传统公司的程序员,认为自己的水平高,不是很可笑的一个事情么!
5: 在从编程本身出发。程序的灵魂是算法和数据结构。请问你上大学时有没有一种什么算法叫做互联网算法?就JAVA而言,有没有互联网JAVA, 传统JAVA? 语法不同还是API不同还是设计模式?互联网要用到多线程,传统公司就不用?互联网公司程序员懂JVM,传统就不懂?这叫什么狗屁逻辑?
6: 对于一个成熟的工程师来说,解决不同的问题所采用的工具集是不同的。而如何用好,取决于个人能力。包括天赋,学习能力,工作经验,努力程度。和在互联网或是传统软件没有啥关系。
7:很多传统软件公司有的需要处理的业务可能确实比较简单,就像很多互联网公司也是一些概念炒作起来火了一段就破产一样。哪都有好的,也都有不好的。
最后,我的观点是 : 评价一个工程师的能力,要看他的编程能力,学习能力,沟通能力,各方面的能力,不能以行业来简单的划分,因为这样是很片面的。
互联网公司:关注高并发 海量数据 同学在网易 之前是做页游的 分分钟要求百万的访问相应时间要多少。。。。
软件公司:鄙人在某IT咨询公司做码农 主要是业务逻辑复杂 现在有个case是出一个report 每个report里面每条记录根据某个字段的值需要执行不同的逻辑 逻辑种类不同大概总数在50种逻辑 是利用XML配置还是自己鼓捣一个脚本引擎还是硬编码逻辑进去还是利用面向对象的多态来实现?这是个问题
这就是典型的侧重点不同。。。
PLUS 软件公司在上海很多外企 对英语或者日语要求高
再PLUS 互联网的薪水相比软件公司感觉在1.5到2倍的样子 我网易的同学现在是20K而我只有10K 泪奔。。。。
当然我确实没有他们那么累 最多就是晚上跟欧美开开会。。。
职业规划和发展前景差不多。因为不管是互联网还是行业软件,其内部就大包大揽了几乎所有的分门别类,只好说是差不多了。
技术上差别还是挺大的。
互联网一是对页面的舒适性要求更高,也就是页面细节不能错,相应速度要快。二是用户条件很不确定,load时高时低,高时要扛得住,低时要优化资源。三是安全关注点主要是可用性,防止被攻停。技术难点集中在前端,关键字:集群,缓存,动态化。
行业软件一是更复杂,充斥着各种工作流,要求绝对的流程追溯,场景复现。二是生命周期更长,一用就十几年的情况很常见,而且可能每一年被改成完全不同的另一个系统,但也不能从头开始做,所以可维护性上要求高。三是安全关注点主要是防盗窃。技术难点集中在后端,关键字:集成,框架,领域化。
我看到这个题目首先愣了一会儿,在想以什么角度去划分互联网程序员和行业软件程序员。看看了楼上的回答大概明白了提主的意思,下面说说我的拙见。
技术区别:
良莠不齐,无法比较。从概率学的角度分析,互联网程序员的工作环境决定了讨论技术的氛围会更加浓厚,用到的技术更广。而行业程序员可能研究与本行业更密切技术,知识面是窄而精。
职业规划:技术还是管理。不管是所谓的互联网程序员还是行业软件程序员从大方面来说就是这俩,细分的话请自行查询。
发展前景: 目前来说都很好啊,都是开发岗位。
答完之后发现自己被题目绕进去了,这两者真的没啥比较的。二者想通,踏踏实实的把技术掌握好才更重要。
本人从事服务端研发的工作 一直在互联网公司 也接触过传统软件行业的人 从技术角度来说差别还是非常大的
首先 招聘的level不一样 记得毕业的时候水平比较高的学生是基本不会去软件行业的 这显而易见造成了行业的整体素质不一样 水准肯定不一样
此外 互联网对于技术的要求也要高一些 就拿java来说 传统软件的要求就是实现功能 侧重于软件层面 对于性能 jvm都很少考虑 更谈不上什么高可用 大并发 大数据
对于互联网公司 某种技术只是工具 不同的场景会采用很多业界主流技术 不局限于语言这些工具类的东西 对程序员的学习能力 基础知识等基本素质要求也高一些 这个和那些从实训机构出来的人差别很大 也是真正程序员和码农的本质区别
无意贬低传统软件行业 里面也有不少技术大神 但从总体上来说 技术level上互联网还是高很多的 也许是更高的待遇造成的
行业软件公司?....呵呵....
某日大领导来审查项目组,他一共说了两句话
1、哎呀,最近该加工资了吧....
2、小X,你有中兴的安居房就不用加了吧,你也走不了....
你们体会一下!!!!
互联网可以是一种大行业,等同于金融、政府这样的大行业,在这个行业的程序员更加偏重于前端体验、软件创造性、关注市场动态,视野思维比行业程序员要开阔。