GIS专业本科毕业防止结束GIS生涯
GIS专业本科毕业防止结束GIS生涯
注:1.本言论仅代表个人观点,与作者所在的公司没有任何关系。
2.防止一些不必要麻烦,如需转载与作者联系。O(∩_∩)O
当今结束GIS职业(数据矢量化,采集除外)对于中国很多GIS专业本科毕业生来说绝对不是什么危言耸听。甚至是在国内一些GIS专业比较强院校都有类似现象,更何况其他林林总总的一般院校。当大学毕业后告别与自己4年来付出感情和心血的专业的职业是多么痛心的事情(至少我认为)。
所以如何避免自己在本科毕业就告别GIS职业生涯是每一个GIS本科生必须思考的问题。
现在一方面很多公司都找不到合适的GIS开发人员尤其是ArcGIS开发人员,另一方面学生毕业之后找不到工作。
为什么会出现这个现象?
因为GIS开发都是以项目开发为主,以产品研发相对较少,从成本和时间来看公司都不愿意从新培养一个新手2-3个月之后才能上手开发,他们都非常想要那些有工作经验的开发人员,直接来公司参与到项目开发中来。但是一般有工作经验的都相对稳定,待遇也不错,为了个人发展(到一个新公司还得适应新环境从新开始)他们也都不愿意随便跳槽。这样就造成了需求的不平衡。
我个人认为搞GIS二次开发非常适合本科生毕业搞,研究生也可以但是我感觉没有本科生优势大。我身边就有这个案例:在本科时代同一级的两个学生都毕业于同一院校,本科生工作三年,在公司有项目驱动,开发技术实力大增,经过了3年的积累成为一个公司的项目经理,在这三年平均每年挣4万,三年之后工资在一个二线城市到5000+,并且已买房结婚,而此时另外一个研究生这个时候刚毕业,到这个本科生的公司做开发收入2000,这就是一个二线城市GIS开发的现状。在这三年中研究生失去的是12万+3年工作经验(技术强成为项目经理)+生活经验(买房结婚)。所以我认为搞GIS开发尤其是ArcGIS二次开发还是不要上研究生好。
没有工作经验GIS本科生如何得到认可?找到收入相对比较高的GIS二次开发,尤其是ArcGIS二次开发的工作?
我的答案是以项目驱动的方式充实本科时代GIS二次开发生活,增加自己的“工作经验”。接下来我以“片面”的方式介绍一些自己的经验。
1.首先必须熟悉一门高级开发语言,说白了就是c#或者Java。
有些人总爱说会一门开发语言有编程思想就Ok了,用来安慰自己不愿学习新开发语言技术的懒惰心理。但是公司都是以盈利为目的的,他们都采用高效开发方式,尤其是GIS开发圈里.NET平台是应用最广的,并且每个公司都有自己的DLL库,不可能让你自己随便使用个语言自由发挥的。不要认为会定义一个变量写个循环就说我掌握了XX语言,真正掌握一门语言的特性,必须多实践,多敲代码。到高一级的就是学习设计模式提高自己的Design能力。
2.实习课上好好用心学习ArcGISDesktop,熟悉ArcGIS的数据模型掌握ArcGISDesktop的使用。
很多人是不熟悉ArcGISDesktop就开始从网上Down代码修改代码开始了自己的开发之旅,包括我,我大学时代是MapInfo的粉丝,一直没学过ArcGIS。这是非常不科学的,因为ArcGISDesktop就是从AO开发起来的,你只有掌握了ArcGISDesktop的使用,才能很容易理解AO接口提供的功能。实际上ArcGIS二次开发说白了就是在ArcGISDesktop所提供的功能和业务相结合进行的创新性开发。所以熟悉ArcGISDesktop以及ArcGIS数据模型非常重要。
3.其次必须会ArcEngine开发,如果学习力强可以再掌握ArcGIS Server开发。
现在B/S模式的开发很受学者欢迎,很多人也很想直接学习ArcGIS Server,开始研究ArcGIS Server提供的模板,我还是建议从engine开始,为什么呢?一个GIS系统不仅仅是放大,缩小,查询,定位,说句不好听的这些功能是个人培训几天都会,你面试说我是实现的功能是查询,定位之类的,面试官会直接Pass你,所以要做到深度SerVer还是调用AO底层的接口进行和业务开发,所以我感觉要深入学AO通过Engine是最好的方式,因为网上资源以及相关书关于Engien的太多太多。总之在这我再说一句AO接口你熟悉的程度决定了你Server开发能力的深度。
4.会使用Oracle数据库,能够自己创建管理空间数据库。
只要学数据库这门课程SQL Server都是实习必需的,SQL Server简单易学很人性化,但是Oracle性能非常强大,是世界上市场占有量最大的数据库产品,在中国同样只要是企业级的GIS开发应用都采用Oracle,如果你在简历上添加一条会Oracle,能够自己创建管理空间数据库,那么能给你在面试官心目中把你提高一个档次,作为GIS开发人员没有毕业把自己和一个DBA来对比,自己只需会Oracle常用的操作即可。
5.必须毕业之前有1-2个项目经验。
2008ESRI全国大学生软件开发大赛刚刚落幕,我也有幸看了入围总决赛的作品,非常不错,很多本科生学生很有创新精神比我们那个时代强多了,有种没有在本科时代参加ESRI大赛的遗憾感(我参加西安市大学生软件设计大赛)。不管作品是他们自己的Ideas还是有项目支撑能做到这种程度非常不易。很多人团队4-5个人做了10几个月,这样的本科时代生活是多么的充实。这样的大赛真正实现了学校,学生以及ESRI公司三赢的局面。学校得到了声誉,学生得到了项目经验和技术的锻炼,ESRI公司也推广了自己。所以建议本科生一定要多参加这样的大赛。
另外一个就是自己多联系学校的相关老师,让他们给你提供些思路,实际上GIS开发到一定程度,技术已经没什么难度了,关键是和行业知识结合,解决行业问题的思路和技术路线。
当找工作时,带着笔记本向面试人员演示自己的项目或者Demo详细讲解自己实现的思路,让面试官对你赞赏是多么的美。
6.良好的表达能力。
找工作和卖商品一样,就是把自己的推销出去,能把自己的优势推销出去,卖出去,除了简历上几个字之外,最重要的是要培养自己有自己良好表达能力,让面试官对你“一见钟情”!非要你不可。
如果有以上素质了,那么就是机会了,中国社会最大特点是不缺人,不缺人才,对于刚刚踏出校门的学生最的恩赐是给予自己机会(牛人除外),刚开始不管给你多少只要能给你搞GIS二次开发的机会最重要,只要你能踏进这个圈里混,那么就有机会取得不错的收入。不要看眼前一个月多几百元,一年才几千不重要,关键是给予自己机会的工作能和自己的性趣结合起来,这才最重要。
最后给大家点学IS开发一个系统的建议:
1.熟悉ArcGIS的数据模型(这是核心)
2.一个GIS系统的C/S架构无非有以下几点:
1.数据加载
2.地图操作
3.查询统计
4.地图裁剪打印输出
5.地图图形编辑
6.地图数据更新
7.就是GIS和具体用户需求的业务结合开发具体功能
8.系统维护
一个B/S的系统只能比C/S的功能少不可能多,所以最重要的就是熟悉ArcGIS的数据模型,当你理解了数据模型,其他的就是你的高级语言的开发水平的高低以及你对业务的理解能力和创新能力能力,这两个因素能决定你GIS开发能走多远!