Ich bin ein GIS-Programmierer / -Analytiker in Vermont mit einer offiziellen Ausbildung zum Umweltwissenschaftler bei GIS. Ich habe im Laufe meiner GIS-Karriere festgestellt, dass ich Programmierkenntnisse erlernen muss. Derzeit arbeite ich für ein Beratungsunternehmen, bei dem der Großteil meiner Aufgaben in der Automatisierung mithilfe von Python-Skripten und der Erstellung benutzerdefinierter ArcGIS-Komponenten mithilfe von ArcObjects for VB.Net besteht. Ich bin in diesen Technologien völlig Autodidakt.
Mir macht die Programmierarbeit sehr viel Spaß und ich würde gerne ein professioneller GIS-Softwareentwickler werden. Kann jemand einen geeigneten Weg empfehlen, um dieses Ziel zu erreichen? Insbesondere interessiere ich mich für formelle Schulungen, um die besten Praktiken in der Softwareentwicklung zu erlernen, die auf GIS-Software angewendet werden können.
quelle
Antworten:
Ich denke, die Antwort basiert darauf, ob Sie bereit sind, zur Schule zurückzukehren oder nicht. Sie haben "formale Ausbildung" erwähnt; Letztendlich befindet sich eine der besten formalen Ausbildungen für Informatik in der Schule.
Es hört sich auch so an, als hättest du bereits ein Händchen für die Programmierung. Sie haben Skripten mit Python über ArcGIS gelernt, was bereits sehr gut zu wissen ist. Was Sie jetzt wissen müssen, sind wahrscheinlich einfache Dinge wie:
Ich könnte noch einige erwähnen, aber diese Art von Prinzipien sind die Dinge, die Sie benötigen, um irgendwann zu lernen. Letztendlich gibt es APIs und Tools für die GIS-Softwareentwicklung für fast jede Programmiersprache. Es scheint, als müssten Sie die Grundlagen lernen, um sicherzustellen, dass Ihr Design gut ist. Der beste Ort dafür ist die Schule.
Nachdem ich viel selbst durchgearbeitet habe, fand ich die Dinge, die ich über OOP gelernt habe, am hilfreichsten. Das Verständnis von objektorientiertem Design ist der Schlüssel zum Programmieren von Design in der heutigen Arbeitsumgebung.
quelle
Sie sollten sich auch überlegen, ob Sie wirklich nach allgemeiner Programmierung suchen oder mehr im ESRI-Bereich bleiben möchten. Während ein Großteil der ESRI-Schulungen auf Arc-Entwickler ausgerichtet ist, werden Sie bei einem formellen Schulansatz anders über die Dinge denken.
Dort werden Sie dann einige Dinge sehen, die sich auf Ihre ESRI-Arbeit auswirken. Da die Muster, denen Sie in ESRI häufig folgen, nicht zu den Lehrbuchmethoden passen, die ein gutes CS-Programm vermitteln möchte. Hinzu kommt, dass ein CS-Programm Sie in weitere Richtungen führt, die Sie bei Ihren Zielen möglicherweise nicht wirklich unterstützen, wenn Sie ESRI GIS als Karrieremöglichkeit in Ihrem Geschäftsbereich beibehalten.
Schmied oben ist richtig; das sind gute Bereiche zu prüfen; aber mit ESRI können sie ein zweischneidiges Schwert sein.
quelle
Wenn Sie ein Full-Stack-GIS-Programmierer sein möchten, sollten Sie auch die Open-Source-Welt untersuchen, um festzustellen, wie viele Algorithmen implementiert sind. Codebasen wie GDAL, GRASS GIS und GEOS / JTS sind gut dokumentierte und ausgereifte Codebasen und offen für Beiträge. In einigen Entwicklungskreisen sind Commit-Track-Records wichtiger als Zertifizierung / Credentialing.
quelle
Wenn Sie in der Nähe von Austin wären, würde ich das Software Quality Institute von UT empfehlen .
quelle
Denken Sie daran, wo Sie sich ausdrücken möchten. Ich bin ein GIS-Entwickler, der in Microsoft Land mit Visual Studio und SQL-Server unter Verwendung von ArcGIS JS aufgewachsen ist. Jetzt arbeite ich für NYS in einem Java-Land mit Oracle und Leaflet. Ich muss zugeben, dass ich Java immer noch meide, aber JavaScript und Leaflet machen Spaß und PHP ist für Webdienste einfach. Alles in allem gaben mir die Computerkurse am College eine gewisse Theorie, aber die praktische Anwendung der Arbeit mit anderen war die größte Hilfe.
Lernressourcen wie Udacity, Sitepoint, Lynda.com und Packt haben dazu beigetragen, dass ich meine Fähigkeiten an einen Ort gebracht habe, an dem ich mich wohl fühle, ohne wieder zur Schule gehen zu müssen. In meinem Fall bedeutet eine Familie, dass ich immer noch arbeiten und mit einigen Schulen sprechen muss. Sie haben auf Python, PHP und sogar JavaScript herabgesehen. Viele sind auf große, ausgereifte Apps ausgerichtet, aber meine Arbeit konzentriert sich jetzt hauptsächlich auf einfache Web-Apps.
Überlegen Sie sich vor dem Schulanfang, wo Sie in 5-10 Jahren sein wollen. Die meisten CS-Programme sind nicht auf GIS-Entwicklung ausgerichtet, und die meisten GIS-Programme enthalten keine Programmier- oder Datenbankklassen.
quelle
ESRI-Trainings können ein guter Ausgangspunkt sein, aber da der Kurs sehr kurz ist (maximal 5 Tage!) Und viele Aspekte abdeckt, können Sie eine gute horizontale Tiefe, aber eine sehr geringe vertikale Tiefe im Fach erlangen. Was die Programmierung angeht, ich bin mir sicher, dass es im ESRI-Katalog einige gute Bücher geben wird.
quelle