年初时,我写的《一个 GISer 的使命》那篇文章中,提出了 GISer 的技术晋升门路能够分为四个大的阶段:
- 阶段一,能应用商业 GIS 软件去解决问题。
- 阶段二,能应用开源 GIS 软件去解决问题。
- 阶段三,有能力去解决开源 GIS 中的问题。
- 阶段四,有能力去解决 GIS 行业前沿问题。
在阶段一、阶段二中,咱们属于 GIS 二次开发人员,在阶段三、阶段四中咱们开始缓缓转向 GIS 底层开发人员。
这种转变不是天天做我的项目就会天然的实现的,天天做我的项目会让咱们成为一名 GIS 二次开发老司机,但永远不会成为 GIS 底层开发的赛车手,他们之间差的是对某些底层专业知识技能的”刻意练习“。
咱们明天就来讨论一下,如何从一个 GIS 二次开发人员转变为 GIS 底层开发人员。
被忽视的 GIS 底层原理
前段时间学了一个大神的计算机图形学课程。课程开篇就说:咱们不会去讲 OpenGL API,咱们只会讲计算机图形学的原理和算法,原理和算法学会了再去看 API 什么的,那都太简略了,甚至你本人都能够写一套渲染引擎进去。
学完那个课程后我最大的领会就是:原来计算机里的所有货色,背地都是数学。也看到了在计算机领域,只有能深刻讲到数学层面的货色才是真正的实现原理。
记得之前所在的公司下工作让员工申请专利,有个共事写了个 GIS 的专利,后果被打了回来,理由是实现办法太依赖于 ArcGIS 软件。
这可能从侧面反映出了 GIS 开发普遍存在的问题,就是更关注如何应用各种的 GIS 软件和 GIS 开发框架,却漠视了 GIS 底层原理的重要性。
这同样也是国内开设 GIS 业余的高校普遍存在的问题,高校里都在讲 GIS 实践、GIS 软件应用、GIS 二次开发,但很少讲 GIS 底层的实现原理。
GIS 开发须要逆势而上
吴军在《硅谷来信》一书中提到过一个高势能业余的概念。所谓高势能的业余,就是指那些绝对难学,而又绝对是其余业余的根底的业余。比方数学业余绝对计算机专业就是高势能的,计算机专业绝对 GIS 业余是高势能的,从高势能转到低势能的业余绝对恶化,但反过来会比拟艰难。
GIS 开发除了要把握 GIS 的原理外,还要夯实计算机根底,因为计算机是 GIS 的实现伎俩,计算机根底不扎实是做不好 GIS 的。
GIS 底层开发要把握的技能
上面是我认为 GISer 须要进一步增强的底层技能
1、GIS 基础知识
- WebGIS 实现原理
- GIS 罕用空间剖析算法实现原理
2、计算机基础知识
- 数据结构、算法。
- 精通一门开发语言。这里的精通不仅包含熟练度,还包含开发语言的实现原理。
套用知乎上一位答主的话说就是:GISer 要有不低于计算机专业人员对计算机的理解能力。简略点说就是要达到计算机专业科班出身的程度。
3、数学基础知识
我的准则是 急用现学。数学这个货色的确比拟干燥,当你不晓得这个货色有什么用时,心田会很抗拒,学起来就很吃力;当你发现要学的新技术中应用到它并且死活绕不开时,心田就不再抗拒,甚至有了浓重的趣味,再学起来会容易很多。
总结
- GIS 二次开发走的是全栈开发路线,啥都会一些,啥都不精通,路越走越窄,工作 5 年后薪资上会缓缓遇到瓶颈。
- 要冲破这种瓶颈须要逆势而上把计算机的专业知识吃透,把 GIS 底层原理吃透,让本人达到计算机专业开发程度,同时又精通 GIS 底层实现原理。
- 这两项冲破后,你就具备了 GIS 底层的开发能力,会成为 HR 口中天天嚷着不好招的那种 GIS 稀缺人才。
最初
种一棵树最好的工夫是十年前,其次是当初!
原文地址:http://gisarmory.xyz/blog/index.html?blog=GISerRacer
欢送关注《GIS 兵器库》
本文章采纳 常识共享署名 - 非商业性应用 - 雷同形式共享 4.0 国内许可协定 进行许可。欢送转载、应用、从新公布,但务必保留文章署名《GIS 兵器库》(蕴含链接:http://gisarmory.xyz/blog/),不得用于商业目标,基于本文批改后的作品务必以雷同的许可公布。