首先我就是gis程序员,也在迷惘,希望大家指点。
作为某大学地理系本科专业毕业学生,我庆幸没继续"生造"考研.在gis,it行业编程混几年,唯一感受是程序员不是人干的活,gis程序员不是正常人干的活.
.难啊!
可能以下言语中太多个人色彩,很多内容也是猜想,查证对我没什么意义.但目的是让搞gis的技术人员能走好.
想拍就拍吧
二 国内gis行业状况
几近被高校,研究部门,政府垄断的行业.先提个醒,如果你已经在这个行业混了,跳潮前千万慎重,很容易踩雷的,炸你个几年缓不过气来.
中国gis行业的发展还是要感谢这些老前辈的,尤其是几个国产gis软件,争光不少(可惜偶一个也没有用过).不过,感觉它们的优势也在逐渐减少,可能是产品发展跟不上用户需求,可能是技术创新完全来自"抄袭"过外软件,最大问题可能是它们核心技术的close,核心技术人员的太过稳定限制的发展.当然在如此透明,高速发展的it行业里,凭些老教授和在它们体系下培养的理论博士生,发展也是很艰难的.
举几个例子,国产linix,还有什么wps....,可能中国整个it也都有这种问题.
可能你就是从这些机构"生造"出来的一员,想想你硕士,博士干了些什么.
我在一级***上发表了n篇论文;
我对***软件了如指掌;
我开发了某国产gis软件的**模块;
,你仔细想想吧,可能也就是你帮着导师发了篇文章;你也只会使用使某某软件,如果你能掌握核心技术,那你不可能离开培养你的机构的,咋们的软件可以自主产权的,别出去泄露了;你可能参与的某gis软件的开发,但你每界的师兄弟都和你一样,帮着导师积累了下产品.
惨点的GGMM也就每天搞些数字化,整理整理数据混个文凭.我不知道你们毕业了都去干吗?
三 你能去哪就业
没有调查,我也发发言.
政府事业单位:不到博士你休想,没有关系休想,没有嘴皮子休想,不懂特有的仕途国情休想,休想......,
留校,继续深造:如果你你是这种人,你不会看到这了.两字: 难啊!
出国:看你和导师关系,以及你导师的高度了.几率很小啊.
转行:我把这里被的行业特指与IT相关的.恭喜你,有先见之明啊!
去搞gis的公司:,欢迎加入.希望我们未来美好.
四 你懂编程吗
如果你和我一样来到搞GIS的公司.那你只能从coder做起.在这我不是贬低coder,是怕你贬低.可能你会说,我可以做售前,可以做销售,可以做数据.从gis公司结构上来看,这些职位你可能不符合,你受的教育,你的知识结构限制你去做销售,而售前你贫乏的行业知识决定你需要重新认识一门行业,而这些行业如水利,森林,土地,房产....都是政府部门,及其复杂.做数据的给不了你几个钱.
如果你是博士毕业,你也愿意来公司发展.那可能会给你项目经理之类的职位,但你很快就会发现,现实会让你失望的.你的位置会很尴尬,你对IT的了解,决定你底下的人会很不服你,领导会觉得你技术不行.试问你懂j2ee,.net吗?你能写出象样的设计文档吗?不会写代码的上司你好受吗?你在公司发展空间大吗?.....可能这类人不多!
(请允许我没做全面调查而做以下发言,我只是让大家更好发展)
看到这的估计就是那些以coder身份来到公司的.回到标题,你懂编程吗?以上是我常见的几类gis程序员。
擅长使用各种数据处理软件,略懂vb或vc.
用vb/vc用mo,mapx等控件开发个小软件。
熟悉tab,mif,shape...数据结构,能做数据转换。
能用asp用arcims,mapxtreme模板开发个小webGis.
能用asp.net基于arcims,mapxtreme,super IS开发webgis.
可能是常见的几种gis程序员,他们的代码我也看过一些。都有一个特点。如:他们学习vb是从mo或mapx提供的例子开始的,真正vb,vc他们根本不是很熟悉。如果好点,能用asp开发webgis,但也是在vb基础上开始接触web的。可能自己努力点,会接触.net,J2ee,但无论那样。都是为了gis而学习一门语言的。
引出我的主题:
我们gis程序员的编程能力,与计算机科班出生的人,各方面都有差距。
因为你的编程能力差,可能在某个职位竞争时,你会输给不懂gis的程序员。
如果公司给我分配两个程序员,我会要编程能力好的,而懂不懂gis无所谓。
我们公司技术总监也是这个态度。
一个gis公司的部门经理也亲口对我说了这个事实,他们部门很少懂gis的人。
让个懂编程的人熟悉gis软件很容易。但让懂gis的人提高编程水平很难。
五 我们该怎么办
现在我也感觉到GIS程序员很尴尬。国内gis行业的不景气,新的地图形式(google maps mapbar,mapabc...)与传统gis的竞争,国内教育机构培养的GIS专业人员与IT行业的脱节......
还好,现在行业对既懂GIS,编程能力水平不错的专业人员需求很大,而且都是一定的职位。
所以我们最既紧要的事是提高自己计算机能力,主动学习新的技术,而不是被动的跟的GIS软件的支持学习新技术。
六 技术方向
1 gis数据,gis分析是大数据量,大运算的操作。web,webservice的发展弱化了桌面GIS的应用。对于跨平台的java语言,对GIS来说,无疑是现阶段最佳的编程语言。
2 ajax技术。现在真火的技术。google在这无疑走在前面,google maps更对gis行业影响巨大。传统webgis的开发更需要ajax对用户交互来次创新。 arcims模板(javascript),arcgis server(JSF)都做了些尝试。无疑ajax是最合适的。
3 python.如果你有vb,vc基础。python脚本语言你该关注了。arcgis好多模块改用python实现的。
以上都是我个人的一些感想,由于水平有限,希望批评,共同提高。