一位南理工计算机系的强人写的,学习中…………
在计算机行业,准确地说是计算机科学与技术中的软件行业,也干了一段时间了,今天偷
得浮生半日闲,想总结一下南京软件行业的情况,主要是对南京各个软件企业的工资,福
利,加班情况,升职机会,工作地点,工作要求等做一些简要介绍,另外介绍一些自己个
人的学习经验。其实我在软件行业顶多算刚入门,不再是井底之蛙,而是站在井口看世界
,但兴高采烈地睁眼望去,看到的却是渺无边际的大海和耸立云端的高山。只是希望自己
的那么一点点经验能对理工大计算机系(自动化系)以及所有希望在这一行干技术活的兄
弟们有点帮助,帮你们跳到井口看世界。
当然,首先送给大家一个忠告,如果你不是对软件有兴趣,或者生活所逼,或者其他客观
原因,最好不要选择这一行,很苦很累不说,以后升职、转型也要看个人造化。能考公务
员的考公务员,能做人民教师的做人民教师,有魄力有胆识自己创业的去自己创业,想稳
定一点的去研究所混,口才了得的去做销售,体格强壮的去做保安,能歌善舞的去参加超
级女(男)声或我型我秀,至不济在三号门开个小饭店、在莱迪开个小店卖衣服,到一号
门外卖盗版光盘,或烤羊肉串其实也很赚钱的(开个玩笑)。
但是你既然选择了这一行,选择了每天与二进制打交道的枯燥而繁琐的生活,你就要坚持
下去,不要今天看到张三这样能赚钱,明天看到李四那样也能赚钱,一颗心就浮躁起来,
就不断的彷徨、犹豫、后悔。搞技术一定要踏踏实实地学习,一点一点的进步,最忌浮躁
,急功近利性格的人不适合搞这一行。
我们理工大是工科院校,尤其是六系十系的同学,大部分人毕业后可能还是到外面的软件
公司,因此在这里参考网上的资料和自己的了解,给南京的软件企业排个座次,情况应该
基本属实,但肯定会有出入,所以仅供大家找工作时参考。(其实是怕排名靠后的公司的
人力资源的哥们儿来砍我^_^)
首先说南京的三大软件外企:趋势(TrendMicro), 朗讯(Lucent), 南摩(Motorola)。这
三家企业是相对来说工资最多,福利最好,加班也不多的。千万别把西门子算在知名外企
里面,西门子缺点明显,工资相对以上三家低不少,而且又远在江宁,招聘的时候也不走
精英路线,走的是大众路线。
趋势是我认为工作环境最好的,在市中心(地铁大厦),有免费饮料喝, 每月还有Brithda
y Party,年终的抽奖也是非常之丰厚。上班弹性制度,不打卡,当然也就没有加班工资了
,不过,晚上加班有加班晚餐。里面有GGS的级别制度,本科生刚进去一般都是7,研究生
大多是8。薪水嘛跟GGS挂钩,譬如,本科起薪6000, 研究生7500,工作满一年参加公司的
股票期权分配。当然如果水平不错可以要的更高,水平次了点, 还有可能比这些少一点。
关键看个人,至于发展前景嘛, 就难了,里面的管理人员都很年轻,而且都比较稳定,想
在很短的时间内(3年内)升到Manager,几乎是不大可能的了。
朗讯环境也不错,在苏宁环球大厦,据说是南京Top5的写字楼。里面的饮料是没有的。不
过,员工都会有健身卡,可以在五台山体育馆和苏宁环球大厦内的健身场所免费使用。记
住,是免费的哦。公司也是弹性工作制度,不打卡上班,但是确有加班补贴,大概是20元
一天吧。里面也有等级制度,入门级别是本科生的级别STA ,之后是研究生的级别MTS-1,
然后就是MTS, DMTS, CMTS, bell lab fellow。薪水也跟这个挂钩,大概是本科生起薪
7W/年,研究生9w/年。没有期权的分配。发展么,难啊~~~~~~~~~~Lucent里面牛人太多,
升职得好好熬,一般5年内,职位不怎么会有变化。
最后讲讲南摩吧。南摩的福利是最好的,公积金的缴纳比例是最多的。里面也有级别的概
念,工资也和此相关,所有收入加在一起,总体上和趋势,Lucent都差不多,关键看你怎
么看待这个了。不过,南摩有个最不好的缺点,在江宁,离主城很远,上班不是很方便,
虽然有班车,可是对于爱睡懒觉的人来说,还是不爽。提醒理工大的兄弟们,班车是一辆
绿色的雅高,现在只在三号门口停,一号门孝陵卫那一站由于坐的人少,司机基本不在那
边停。我去面试的时候就吃了亏,差点没坐上。
三星研发中心现在也南京,其实三星待遇很高的,但三星虽然有软件开发,但更多需
要的是硬件开发人员,因此我没有将它算在知名软件外企里面。而且我对里面的具体情况
也不熟,只听以前一个同事聊起过,说工资很高,硕士和博士兄弟们有机会还是可以去试
试的。
接下来就是二流的企业了,说是二流,其实还是很好的,只不过相对以上三家外企来说总
体上差了一点。想必我不用说大家都知道是中兴和华为。其实中兴和华为的工资不比上面
三家外企低多少,今年通过校园招聘进去的硕士生,华为是6500,中兴是5500,以上收入
是税前每个月的工资和奖金加在一起,至于年终奖和项目奖就看你的能耐了,华为如果年
底考评时能够得个A,工资加的还是很多的,不过很难,累死累活一年,值不值得是个问题
。提到累死累活,大家都知道华为提倡“床垫文化”,累死过人,因此不得不告诉大家的
是,华为和中兴都有一个加班制度,那就是每周一、二、四晚上必定加班,周六全天必定
加班,所有上述那些时间段其实就不叫加班,叫“正常上班”。因此如果工资按照小时来
算,人家是除以176个小时(按每个月22个工作日来算),华为中兴是除以244个小时,那
么这笔账怎么算,大家自己就懂了吧。
再接下来就是为数众多的三流企业了,广泛分布在江苏软件园,新街口,鼓楼等南京
各地。相对来说比较知名,待遇也还可以的有:夏新,联创,新大陆,英华达,南瑞,移
软,义铎,南大苏富特,东大金智,擎天科技,远志科技,熊猫,金思维等等等等。数目
实在太多就不一一列举了,而且参差不齐,有效益好的也有暂时处于困境的,工资有高有
低,低到不用缴纳个人所得税的有(1600),高到七八千的也有。但是相对一流二流企业
,企业文化,流程管理,福利待遇等都差很多,很多公司不要说住房公积金,连养老保险
和医疗保险都不给你交。对于学得不算扎实,没有工作经验,又不是研究生的兄弟们来说
,可以先进去干几年,混点经验,学点东西,以后再跳槽到好公司。
至于那些规模小于十人的小作坊企业,除非你自己当老板,或做投资人和合伙人,想干技
术这一行的话千万不要进,里面没有牛人指导你,学不到任何技术上的东西,而且吃了
上顿没下顿。不要被暂时也许还算比较高的工资蒙蔽双眼,还不如回自己的小城市找份稳
定点但收入不高的工作,那样过的还舒服些。
唠唠叨叨说了半天,其实目的就是激起大家学习计算机的兴趣。毕竟你我皆凡人,养
家糊口,老婆孩子热炕头才是首要目的,软件行业的平均工资还是比较高的,因此冲着这
个高工资,大家努力学习吧!下面结合CSDN网友的帖子中的内容,和我自己的一些体会,
说说我们应该学好那些东西,在找工作和面试的时候才能胸有成竹,应付自如。
其实我一直都认为,4年根本不够学习计算机的基础知识,因为面太宽了,要是真学的话,
我想至少8年的学习能使你具有一定的科学素养......
1. 计算机基础和计算机文化
这方面我想先说说在各校普遍开设的《计算机基础》。在高等学校开设《计算机基础课程
》是我国高教司明文规定的各专业必修课程要求。主要内容是使学生初步掌握计算机的发
展历史,学会简单的使用操作系统,文字处理,表格处理功能和初步的网络应用功能。但
是在计算机科学系教授此门课程的目标决不能与此一致。在计算机系课程中目标应是:让
学生较为全面的了解计算机学科的发展,清晰的把握计算机学科研究的方向,发展的前沿
即每一个课程在整个学科体系中所处的地位。搞清各学科的学习目的,学习内容,应用领
域。使学生在学科学习初期就对整个学科有一个整体的认识,以做到在今后的学习中清楚
要学什么,怎么学。计算机基本应用技能的位置应当放在第二位或更靠后,因为这一点对
于本系的学生应当有这个摸索能力。这一点很重要。推荐给大家一本书:机械工业出版社
的《计算机文化》(New Perspective of Computer Science),看了这本书我才深刻的体
会到自己还是个计算机科学初学者,才比较透彻的了解了什么是计算机科学。
2. 汇编语言和微机原理
汇编语言和微机原理是两门特烦人的课。你的数学/理论基础再好,也占不到什么便宜。这
两门课之间的次序也好比先有鸡还是先有蛋,无论你先学哪门,都会牵扯另一门课里的东
西。所以,只能静下来慢慢琢磨。这就是典型的工程课,不需要太多的聪明和顿悟,却需
要水滴石穿的渐悟。有些人说不想了解计算机体系结构,也不想制造计算机,所以诸如计
算机原理,汇编语言,接口之类的课觉得没必要学,这样合理吗?显然不合理,这些东西
迟早得掌握,肯定得接触,而且,这是计算机专业与其他专业学生相比的少有的几项优势
。做项目的时候,了解这些是非常重要的,不可能说,仅仅为了技术而技术,只懂技术的
人最多做一个编码工人,而永远不可能全面地了解整个系统的设计,而编码工人是越老越
不值钱。
3. 操作系统
操作系统可以选用《操作系统的内核设计与实现》和《现代操作系统》两书之一。这
两部都可以算经典。操作系统这门学科同程序设计结合得很紧密,不自己试着做些什么恐
怕很难搞通。我想作为实践类的参考首推的是这本:《4.4BSD操作系统设计与实现》作为
开源文化很重要的一个分支的BSD操作系统家族做得非常出色,其中现在若干出色的分支系
统(例FreeBSD,NetBSD,OpenBSD,DragonflyBSD)都与4.4BSD有着难解的渊源。而4.4BSD的开
发者亲自撰写的这本理论设计与实现便是一本绝佳的参考。另外在有一些辅助材料的基础
上研究*nix的源代码也是深入操作系统设计与实现的一条绝佳之路。
4. 编译原理
如果先把形式语言学好了,则编译原理中的前端我看只要学四个算法:最容易实现的递归
下降;最好的自顶向下算法LL(k);最好的自底向上算法LR(k);LR(1)的简化SLR(也许还有
另一简化LALR)。后端完全属于工程性质,自然又是another story。 推荐教材:Kenneth
C.Louden写的《Compiler Construction Principles and Practice》即是《编译原理及
实践》(机械工业出版社的译本)
5. 数据库
学数据库要提醒大家的是,会用VFP,VB, Power builder不等于懂数据库。(这世界上自以
为懂数据库的人太多了!)数据库设计既是科学又是艺术,数据库实现则是典型的工程。所
以从某种意义上讲,数据库是最典型的一门计算机课程--理工结合,互相渗透。另外推荐
大家学完软件工程学后再翻过来看看数据库技术,又会是一番新感觉。至少对一些基本概
念与描述方法会有很深的体会,比如说数据字典,E-R图之类的。推荐教材:Abraham Sil
berschatz等著的 "Database System Concepts".作为知识的完整性,还推荐大家看一看机
械工业出版社的《数据仓库》译本。
6. 计算机网络
计算机网络的标准教材还是来自Tanenbaum的《Computer Networks》(清华大学有译本)
。还有就是推荐谢希仁的《计算机网络教程》(人民邮电出版社)问题讲得比较清楚,参
考文献也比较权威。不过,网络也属于Hardcore System,所以光看书是不够的。建议多读
RFC,
握10种左右常用协议,就没有几个人敢小看你了。再做的工作我看放在网络设计上就比较
好了。
7. 数据结构
数据结构的重要性就不言而喻了,学完数据结构你会对你的编程思想进行一番革命性
的洗礼,会对如何建立一个合理高效的算法有一个清楚的认识。对于算法的建立我想大家
应当注意以下几点:
当遇到一个算法问题时,首先要知道自己以前有没有处理过这种问题.如果见过,那么你
一般会顺利地做出来;如果没见过,那么考虑以下问题:
1. 问题是否是建立在某种已知的熟悉的数据结构(例如,二叉树)上?如果不是,则要自己设
计数据结构。
2. 问题所要求编写的算法属于以下哪种类型?(建立数据结构,修改数据结构,遍历,查找,排
序...)
3. 分析问题所要求编写的算法的数学性质.是否具备递归特征?(对于递归程序设计,只要设
计出合理的参数表以及递归结束的条件,则基本上大功告成.)
4. 继续分析问题的数学本质.根据你以前的编程经验,设想一种可能是可行的解决办法,并
证明这种解决办法的正确性.如果题目对算法有时空方面的要求,证明你的设想满足其要求
.一般的,时间效率和空间效率难以兼得.有时必须通过建立辅助存储的方法来节省时间.
5. 通过一段时间的分析,你对解决这个问题已经有了自己的一些思路.或者说,你已经可以
用自然语言把你的算法简单描述出来.继续验证其正确性,努力发现其中的错误并找出解决
办法.在必要的时候(发现了无法解决的矛盾),推翻自己的思路,从头开始构思.
6. 确认你的思路可行以后,开始编写程序.在编写代码的过程中,尽可能把各种问题考虑得
详细,周密.程序应该具有良好的结构,并且在关键的地方配有注释.
7. 举一个例子,然后在纸上用笔执行你的程序,进一步验证其正确性.当遇到与你的设想不
符的情况时,分析问题产生的原因是编程方面的问题还是算法思想本身有问题.
8. 如果程序通过了上述正确性验证,那么在将其进一步优化或简化。
9. 撰写思路分析,注释.
对于具体的算法思路,只能靠你自己通过自己的知识和经验来加以获得,没有什么特定的规
律(否则程序员全部可以下岗了,用机器自动生成代码就可以了).要有丰富的想象力,就是说
当一条路走不通时,不要钻牛角尖,要敢于推翻自己的想法.我也只不过是初学者,说出上面
的一些经验,仅供大家参考和讨论。
9. 软件工程
关于计算机科学的一些边缘科学我想谈一谈软件工程技术,对于一个企业,推出软件是不
是就是几个程序员坐在一起,你写一段程序,我写一段程序呢?显然不是。软件工程是典
型的计算机科学和数学,管理科学,心理学,社会学等学科的综合。它使我们这些搞理论
和技术的人进入了一个社会。你所要考虑的不仅仅是程序的优劣,更应该考虑程序与软件
的区别,软件与软件产品的区别,软件软件产品的市场前景,如何去更好的与人交流。这
方面我还在学习阶段,以后这方面再写文章吧,先推荐给大家几本书:畅销20年不衰的《
人月神话》(清华大学中文版,中国电力出版社影印版),《软件工程-实践者研究的方法
》(机械工业出版社译本),《人件》(据说每一位微软公司的部门经理都读过这本书,
推荐老总们和想当老总的同学都看看,了解一下什么是软件企业中的人)以及微软公司的
《软件开发的科学与艺术》和《软件企业的管理与文化》(研究软件企业的制胜之道当然
要研究微软的成功经验了!)
关于计算机技术的学习我想是这样的:学校开设的任何一门科学都有其滞后性,不要总认
为自己掌握的某门技术就已经是天下无敌手了,虽然现在Java,VB,C,C++用的都很多,怎能
保证没有被淘汰的一天,我想.NET平台的诞生和X#语言的初见端倪完全可以说明问题。换
言之,在我们掌握一门新技术的同时就又有更新的技术产生。举个例子,就像有些同学总
说,我做网页设计就喜欢直接写html,不愿意用什么Frontpage,Dreamweaver。能用语言写
网页固然很好,但有高效的手段你为什么不使呢?仅仅是为了显示自己的水平高? 我看真
正水平高的是能够以最快的速度接受新事物的人。高级程设计语言的发展日新月异,今
后的程序设计就像人们在说话一样,我想大家从xml中应是有所体会了。难道我们真就写个
什么都要用汇编,以显示自己的水平高,真是这样倒不如直接用机器语言写算了。反过来
说,想要以最快的速度接受并利用新技术关键还是在于你对计算机科学地把握程度。当然
有一点我们必须指出,就是对于新技术要辩证得看,不能盲从。
一个一流计算机系的优秀学生决不该仅仅是一个编程高手,但他一定首先是一个编程高手
。念计算机的人从某种角度讲相当一部分人是靠写程序吃饭的。关于第一程序设计语言该
用哪一种。我个人认为,用哪种语言属于末节,关键在养成良好的编程习惯,打好基础后
学一门新语言只要一个星期,当然前提是先把基础打好。不要再犹豫了,学了再说,等你
抉择好了,别人已经会了几门语言了。
啰啰嗦嗦了一大堆,其中好多文字都是从网上直接Copy过来的,我想这些都是对我们
的学习有莫大帮助的。
不管怎样,如果你已经下定决心搞这一行,请从今天开始认真而艰苦的学习和积累吧。目
标:25岁时至少要选定一个行业并入行,30岁时要基本学会自己这一行需要的知识和技能
,35岁前要积累好自己的人脉并建立起自己诚信的声誉。这样才算搭上了成功之船,以后
就是惯性的成功和社会对你的回报了。
我想大家上逸事来的主要目的都是为了休闲和娱乐,但请在娱乐和休闲的同时,多想想自
己的社会责任,多想想自己的前途和未来。尤其是男同学,身在外地,要买房买车,要照
顾父母,要承担家庭的责任,必须要有自己赚钱和谋生的能力(当然富家子弟除外)。我
想请问一句:毕业后不靠父母的帮助,你能用自己的双脚坚实的站在异乡大地上吗?
教育体制是存在一些弊端,社会上也确实还有很多问题,但这些我们暂时是解决不了的,
你不能去改变的,只能去适应,否则你就会被淘汰。少一点叛逆,少一点愤世嫉俗,少到
网上无聊的发帖灌水、口舌之争、风花雪月、浪漫小资、寻死觅活,到头来你才发现原来
这些都如镜花水月,像水晶一样晶莹,却也像水晶一样易碎。多踏踏实实的学习一些知识
,掌握一些技能,积累一点人脉,结识一些同行业的朋友,你才能独立的、笔直的、坚实
的用自己的双脚站立在这个社会中。
阅读(938) | 评论(0) | 转发(0) |