我是佛蒙特州的GIS程序员/分析师,曾接受过GIS环境科学家的正式培训。在我的整个GIS生涯中,我都发现需要学习编程技能。我目前在一家咨询公司工作,我的大部分任务是使用Python脚本实现自动化以及使用ArcObjects for VB.Net创建自定义ArcGIS组件。我完全自学这些技术。
我非常喜欢自己从事的编程工作,并且希望成为一名专业的GIS软件开发人员。任何人都可以为实现这一目标推荐一条适当的道路吗?具体来说,我对正规培训感兴趣,以学习可应用于GIS软件的软件开发最佳实践。
我是佛蒙特州的GIS程序员/分析师,曾接受过GIS环境科学家的正式培训。在我的整个GIS生涯中,我都发现需要学习编程技能。我目前在一家咨询公司工作,我的大部分任务是使用Python脚本实现自动化以及使用ArcObjects for VB.Net创建自定义ArcGIS组件。我完全自学这些技术。
我非常喜欢自己从事的编程工作,并且希望成为一名专业的GIS软件开发人员。任何人都可以为实现这一目标推荐一条适当的道路吗?具体来说,我对正规培训感兴趣,以学习可应用于GIS软件的软件开发最佳实践。
Answers:
我认为答案取决于您是否愿意重返校园。您确实提到了“正式培训”;最终,您将在学校获得一些计算机科学方面的最佳正规培训。
听起来您已经具备编程技巧。您通过ArcGIS使用python编写了脚本,这已经是一件非常不错的事情了。您现在需要了解的可能是一些简单的事情,例如:
我还有更多要提到的东西,但是这些类型的原则是您最终需要学习的东西。最终,几乎每种编程语言都有用于GIS软件开发的API和工具。听起来,您需要学习基础知识以确保您的设计是好的,最好的地方(IMO)是学校。
自己经历了很多之后,我发现最有帮助的是我从OOP中学到的东西。在当今的工作环境中,了解面向对象设计是编程设计的关键。
如果您在奥斯汀附近,我会推荐UT的软件质量研究所。
请记住,您想说的是什么,我是一个在Microsoft土地上长大的GIS开发人员,使用Visual Studio和SQL-Server,并使用ArcGIS JS。现在,我使用Oracle和Leaflet在JAVA领域的NYS工作。我必须承认虽然我仍然避免使用Java,但是JavaScript和Leaflet很有趣,而PHP对于Web服务来说很容易。总之,我参加的大学计算机课程为我提供了一些理论知识,但与他人一起实际使用是最大的帮助。
诸如Udacity,Sitepoint,Lynda.com和Packt之类的学习资源都帮助我将技能提高到了我觉得舒适的地方,而无需回到学校。就我而言,有一个家庭意味着我仍然必须继续工作并与一些学校交流,他们有点看不起Python,PHP甚至JavaScript。许多应用程序都适合大型的功能强大的应用程序,但我现在的工作主要是专注于简单的Web应用程序。
回到学校之前,请考虑一下5-10年后的位置。大多数CS程序都不适合GIS开发,并且大多数GIS程序都不包含编程或数据库类。