题记

从2007——2017,职场中第一个十年即将完成。十年足以摧毁一个人的样貌;十年可以见证一个时代的发展;十年你从匆匆那年转变为而立之年;不知道从毕业一直还在从事本专业的人有多少,不知道这是一种幸运还是一种无奈,不过我就是那个十年了还在坚守在GIS阵地的那个人,十年的职场生涯很平常,很简单,但是也见证了一些高兴的、失落的、无奈的、痛苦的场景,接下来希望能够推出系列的文章,从不同的角度去解析GIS就业,不是指导而是参考,因为我也一直在路上,也在不断学习和成长。

GIS就业参考系列之方向篇——条条大道通罗马

GIS就业参考系列之职业篇——性格决定职业导向
GIS就业参考系列之技术篇——七种武器
GIS就业参考系列之晋升篇——走向成功的阶梯
GIS就业参考系列之升级篇——Make a Choice
GIS就业参考系列之修炼篇——这里的黎明静悄悄

---------------------------------------------------------------------------------------------

《七种武器》为著名武侠小说家古龙著名作品代表作之一,共分为六个故事:长生剑、孔雀翎、碧玉刀、多情环、离别钩、霸王枪,七种武器非一般江湖武器,件件精妙绝伦。七种令人闻风丧胆、不可思议的武器,七段完全独立的故事,令人叹为观止,不能掩卷。

对于GIS从业者,特别是GIS技术从业者,你可能需要了解其中一种武器甚至多种武器,因为未来的技术人才要求全栈工程师,也就是什么都需要了解和掌握。至少你需要横向的多方面视野和纵向的深度挖掘。

1、第一种武器:编程语言

编程能力是GIS技术从业者的立足之本,编程语言就是编程能力的直接体现,对于GIS来说,.Net和Java应该是使用最为广泛的语言,一方面这些语言的掌握相对容易,另一方面二次开发的项目络绎不绝,相比较来说Java比.Net更有市场,这应该得利于Java的跨平台特性,所以一开始选择真的很重要。C/C++是一个高级语言,一般支持底层开发或者高性能研发使用该语言,超图软件的底层也是使用该语言,不过C/C++门槛还是比较高的,在GIS圈里面应用不是很广,一般来说性价比较低,不过如果你精通该语言,收入也不会低。毕竟物以稀为贵。

随着WebGIS和移动GIS的发展,Javascript语言的应用越来越广泛,不管是超图平台还是ArcGIS平台,都在主推基于JS的WebAPI,移动GIS主要包括安卓和iOS,安卓主要基于Java语言,iOS已经从Objective-C演变为Swift,目前掌握这些语言的同学市场最为广阔,也是GIS技术人群的主力。

随着新型技术的不断发展,例如更适合云计算或者大数据的Python、Scala、E-lang、Go、Perl等语言,可能你都没有怎么听说过的语言,现在也慢慢进入GIS开发者的视野。由于超图有GIScript、ArcGIS有Python API(ArcPy),所以大家对Python语言还是比较熟悉的,特别是在进行GIS数据处理方面,非常方便,Scala语言是大数据Spark的原生语言,在未来的1-2年内,该语言应该还会有更高的曝光率。

如今的工程师,你需要精通1-2个语言,了解2-3个语言,特别是身在开发商,每一个项目可能用户需求不一样,功能要求不一样,实现方式不一样,你可以这个项目用.Net,那个项目用JS,而且项目开发给予自己学习基础编程的时间很少,很多都是边开发边学习,中国研发者都是这样给逼出来的。

这里面好有一比,我们可以把GIS技术从业者的编程能力比作演员的演技,掌握的编程语言就相当于演员可以扮演角色的类型,例如有些演员只能演动作片,有些演员只能演喜剧,但是现在很多演员为了证明演技都在尝试不同类型的角色,例如黄渤,既可以扮演《泰囧》的喜剧,《亲爱的》的悲剧片,《101求婚》的爱情片、《寻龙诀》的动作片、《斗牛》的文艺片、《无人区》的西部片,这样的演员才会更有市场,更有票房,因为他可以接任何类型的片子。对于足球前锋也是一样,既可以左脚,又可以右脚,头球也不错,点球能力强,传球精准,还会防守,教练和球迷自然喜欢。

如今的社会要求的是综合能力。

2、第二种武器:数据库

虽然GIS技术现在要与云计算、大数据进行融合,但是数据库仍然是GIS项目中最为可靠,而且经得起生产环境验证的一个必要因素。

传统的数据库就是Oracle和SQLServer,而且在国内,以Oracle应用最为广泛。对于Oracle来说,你必须掌握的就是基于PL/SQL编程,也就是通过SQL实现增删改查,这里面你可能需要掌握SQL语法,存储过程,SQL优化等。

接下来你也不得不去掌握Oracle的管理,包括部署、简单优化、备份迁移、基本管理,排错等。如果项目够大,你还可能会涉及更为高级的dataguard、goldgate,甚至Oracle一体机等。也许很多你并不需要精通,但你需要了解,这样在工作处理方面你才会主动应对客户的“百般刁难”。

SQLServer与Oracle基本类似,这里面不过多说明。

对于开源数据库包括Postgresql和mysql,对于后者只有超图支持该数据库,开源数据库虽然免费,但是鉴于中国GIS用户多为政府部门,他们宁可多花钱也不愿意干冒险的事情,所以基本上开源数据库多应用于预研项目中。

如今,NoSQL数据库也应用的比较广泛,厂商都拿这些数据库作为切片数据的后台存储,例如超图软件是基于MongoDB,ArcGIS Data Store 的CouchDB等。

另外可能还会涉及的就是国产数据库,这是一个不得不提的话题,在一些保密部门或者关键项目要求纯国产化架构,这里面就需要使用国产数据库,常见的国产数据库包括达梦数据库、人大金仓、南大通用、博阳数据库、浪潮K-DB、翰高数据库等,这些数据库可能开发人员只会在项目来临时突击学习,不过很多数据库与Oracle或者SQLServer都是比较相似的,至少SQL语言都是标准的,使用起来也不是非常困难,这些数据库也只有超图有责任去对接支持了。

当然,还有你可能不知道的大数据产品数据库,包括星环数据库,引跑数据库,他们基于Hadoop封装成的类数据库产品,让用户通过传统数据库的使用模式来应用大数据存储,这些超图也是支持的。

3、第三种武器:架构

架构是一个很大的话题,而且并不是一般技术人员可以搞定的。他需要极有经验、经过多个项目实践的人员进行规划和架构,包括针对当前用户需求和功能要求的编程选型、数据库、GIS平台,同时对于功能与功能的对接,交互,另外还需要满足性能和高可用的指标。

当然架构的实施有大有小,大到类似超图软件的底层UGC如何架构,小到某个新产品或者某个功能如何架构,从技术工程师到架构设计师中间的路还是很远的。

由于对这块并不是非常了解,所以也就到此,以免误导。

4、第四种武器:框架

框架是为了让编程更加简单,现在使用任何编程语言,都有基于相关功能的框架,这些框架可以理解为基于基础语言的封装,开发者可以直接调用这些封装,提高自己的开发效率。

典型的框架例如:.Net的framework,Java的Dojo,jQuery,Python的django等。

不太了解的少说。

5、第五种武器:产品

终于来到了我们最为接近的产品了,目前无论是超图还是Esri相关产品都是可以对标的。

例如桌面端iDesktop/ArcGIS for Desktop(ArcGIS Pro);GIS服务器端iServer/ArcGIS for Server;GIS门户端iPortal/Portal for ArcGIS;云GIS管理iCloudManager/GIStack;组件开发iObjects/ArcGIS Engine(ArcObjects);Web开发iClient/ArcGIS for JS API;公有云SuperMap Online/ArcGIS Online等,当然平台设计不同可能还有自己独立的产品。

注:目前ArcGIS Enterprise进行统称,GIStack并不是ArcGIS系列产品,而是捷泰天域。

那么技术人员也是一样,你需要掌握多种产品的使用,

例如虽然你进行Web API的开发,不仅仅就是基于JS开发语言,你还需要了解HTML、XML的技术,还需要了解CSS样式,更重要的你是WebGIS的开发,最起码对基础的桌面操作比较熟悉,因为WebGIS的很多功能就是将桌面GIS的某个功能进行行业Web化,你需要熟练操作桌面。同时现在WebGIS都基于服务化、REST接口,所以都需要通过GIS Server发布服务,提供资源和能力。这时候你可能需要了解GIS Server的部署包括高可用部署、基本的管理、优化、不同服务的特性、基本的排错等,然后才是基于Web API的功能调用。也就是你做任何一件事情都不是单一的点,而是由点及面,形成一个GIS环境,而真正的GIS应用也是各个产品的协同作业,每个产品发挥不同的功能,当然如果在进行扩展例如连接的数据库、基于的Linux操作系统、使用的Web框架、采取了消息服务等等,可能你都需要去了解。

6、第六种武器:方向

上面提及的是GIS平台软件产品,当然这些产品应用也有一些基本方向:

数据管理、数据处理、制图、影像、三维等。

每一个方向维度都有可能应用上述所有产品。例如目前比较火的三维,你需要了解三维的原始数据格式和三维切片格式,你需要了解倾斜摄影和BIM,你需要了解如何在桌面展示三维特效和三维分析,你需要在Web端和移动端进行有插件或者无插件的Web3D的开发,你需要实现基于门户的三维场景的资源分享,接下来,如果是三维云我们又该如何建设呢?

例如影像,你需要了解影像格式,卫星传感器参数、影像分析、影像存储、影像处理等,虽然GIS平台并不是专业的影像处理平台,但是GIS与影像的结合,为影像提供相关的功能和服务都会在GIS平台的相关产品进行体现。

所以,你不仅需要掌握产品,还需要专注于某一个方向去深入研究。这才是你的立足之本。

7、第七种武器:新技术

正因为有了IT新技术的发展,才让GIS技术慢慢进入大众视野,随着云计算、大数据、容器、机器学习、人工智能等新技术的落地,各个平台厂商也推出了GIS融合产品,例如云GIS、大数据GIS等,可以说这些新技术的人才不仅是GIS缺少的,整个IT业界都在寻觅。当然更多人才被大型互联网公司或者资本创业公司的高薪长期霸占,那么如果你能够看到这一点,去积极的学习这些技术,你会在GIS市场更有个人的竞争力。

可以说,云GIS,大数据GIS已经有广泛的产品也在各个行业的项目进行应用。2016年是人工智能的元年,2017年肯定是爆发的一年,就在跨年看罗振宇2017时间朋友的演讲,专门提到了一个黑天鹅,就是人工智能,也许你还不了解他,也许你想不到这些跟GIS有毛关系,但是不久的将来,你可能会意识到,的确,人工智能的时代已经来到。

这是一个包括机器学习的在线体验(可能需要翻墙):https://lines.chromeexperiments.com/

这个项目有两种使用方式,一是画(draw),能找到与你画的线匹配的卫星图像,二是拉(drag),能创建一条互相连接的河流、高速公路和海岸线的线条。
你可以在桌面、手机的浏览器中直接体验,不需要任何服务器,响应速度那叫一个快,有种指点江山的感觉。
Google表示,这个过程是通过机器学习、数据优化、制高点树(VPT)分析图像和存储该数据完成的。

点击打开链接

总结

还是以电影为例,现在很多演员,可能不仅仅希望自己只是局限在演戏的阶段,他们希望自己站的更高,学得更多,所以他们尝试做导演,制片、监制等,尤其是导演,不仅需要指导演员如何演戏,还需要懂灯光、懂摄影、懂剪辑、懂特效、懂音乐、懂舞美,看看冯小刚、姜文、周星驰、徐峥、徐静蕾等等,他们都不会只拘泥于单一的方向和技术,他们懂得全面发展。

正所谓技多不压身,全栈工程师才是未来。

GIS就业参考系列之方向篇——条条大道通罗马

GIS就业参考系列之职业篇——性格决定职业导向
GIS就业参考系列之技术篇——七种武器
GIS就业参考系列之晋升篇——走向成功的阶梯
GIS就业参考系列之升级篇——Make a Choice
GIS就业参考系列之修炼篇——这里的黎明静悄悄

GIS就业参考系列之技术篇——七种武器相关推荐

  1. 创业公司如何应对巨头--提防七种武器

      很多人说中国互联网行业是个险恶的江湖,虽然中国的互联网巨头们没有古龙在系列小说<七种武器>里描写的青龙会那么"邪恶",但人在江湖漂,难免会挨刀.创业公司在与巨头们相 ...

  2. ASP.NET企业开发框架IsLine FrameWork系列之三--七种武器

    ASP.NET企业开发框架IsLine FrameWork系列之三--七种武器 接上文 IsLine FrameWork Provider介绍 其中IsLine.Data.IsLine.AppLog是 ...

  3. 数据库性能诊断的七种武器-图片参考附件

    数据库性能诊断的七种武器 主要议题 •        性能优化面临的挑战 •        调优工具的变迁 •        诊断工具中的七种武器 •        Q & A 性能优化面临的 ...

  4. android动态调试七种武器,安卓动态调试七种武器之长生剑 - Smali Instrumentation

    安卓动态调试七种武器之长生剑 - Smali Instrumentation 0x00 序 随着移动安全越来越火,各种调试工具也都层出不穷,但因为环境和需求的不同,并没有工具是万能的.另外工具是死的, ...

  5. 让 Python 代码更易维护的七种武器——代码风格(pylint、Flake8、Isort、Autopep8、Yapf、Black)测试覆盖率(Coverage)CI(JK)...

    让 Python 代码更易维护的七种武器 2018/09/29 · 基础知识 · 武器 原文出处: Jeff Triplett   译文出处:linux中国-Hank Chow    检查你的代码的质 ...

  6. 揭密Oracle之 七种武器

    揭密Oracle之 七种武器 第一章 搭建测试环境 vage 揭密Oracle之 七种武器  第一章 搭建测试环境 (揭密Oracle之七种武器第二章地址:DTrace语法:跟踪物理IO http:/ ...

  7. 旧文重发:程序员的七种武器

    这篇文章发表在<程序员>杂志2007.03期的专辑"程序员的武器大家谈"中. <程序员>:请谈谈您所定位的优秀程序员应该有哪些技能?您是怎样理解程序员七种武 ...

  8. 双十一在即,阿里的七种武器

    双十一临近,普大喜奔.天猫不是一个人在战斗.阿里十五年来,构建了丰富的产业生态,统称为阿里系.一支穿云箭,千军万马来相见.今天我们就来盘点一下阿里系各路诸侯,将如何助阵? 堪任一方霸主的诸侯,有微博. ...

  9. 谈谈UCloud保障数据安全的七种“武器”

    当前,数据安全受到多方面的威胁.有来自系统软硬件的非人为故障,有运维工程师的误操作,甚至是黑客或内部人员的恶意删除.2017年1月31日,全球最大的代码托管服务平台Gitlab由于工程师的误操作,删除 ...

最新文章

  1. 【视频开发】图像清晰度评价方法
  2. 一套完整的防火墙系统通常是由屏蔽路由器和代理服务器组成
  3. 学习响应式BootStrap来写融职教育网站,Bootsrtap第八天轮播图js特效
  4. 【numpy】20道numpy题目
  5. 十五、Python第十五课——测试代码
  6. oracle以32位运行,Oracle在 32位系统上运行突破sga1.7g的方法
  7. 【Java】Java对象引用四个级别(强、软、弱、虚)
  8. VB SendMessage向其他程序窗口发送字符串消息实例
  9. matlab用劳斯判据求k的范围,「精」已知单位负反馈系统的开环传递函数为G=K/s试确定系统稳定时的K值范围...
  10. U盘PE启动盘制作好后,如何进入PE系统?
  11. 7-22 龟兔赛跑 (20分) Python
  12. 如何更改MySQL数据库密码(免密)
  13. mysql创建数据库(详细)
  14. Java实现 LeetCode第30场双周赛 (题号5177,5445,5446,5447)
  15. php 图片上传100k,图片上传大于100k就出Internal server error
  16. Java 9中--add-exports和--add-opens有什么区别?
  17. html 网页两边空白,windows7系统打开网页两边空白怎么办
  18. 论文翻译解读:Efficient estimation of word representations in vector space【Word2Vec】
  19. ps2023最新版免费滤镜插件Exposure安装下载教程
  20. Exif Editor for Mac照片Exif信息查看编辑器

热门文章

  1. php百度快照劫持,一招搞定百度快照全站劫持代码
  2. strokstrok_r 实例
  3. 工厂模式——猫粮厂的演进
  4. 互信息的深度理解(总结的不错值得一看)
  5. pandas中MultiIndex的levels属性和对象实际索引的levels不一致问题
  6. 剥茧抽丝做 UI 动效,其实很简单
  7. Frida模板Hook
  8. Dll的导入导出(export与import)
  9. sql包含怎么写_实习生简历怎么写?都包含哪些内容?
  10. 常见的字符串的特殊字符处理之英文双引号替换成中文双引号