Formale Ausbildung in Softwareentwicklung [abgeschlossen]


15

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.


1
Warum formal? Einige sagen, es gibt eine Blase in der Hochschulbildung , also wäre informell vielleicht eine bessere Investition.
Kirk Kuykendall

2
Ich habe im Wesentlichen den gleichen Hintergrund. Ich bin zurückgegangen und habe mein Masterstudium in GIS (Geographie) abgeschlossen, verbrachte aber den größten Teil meines Studiums (nachdem ich mein Diplomarbeitsthema fallengelassen hatte) damit, Karten in Webanwendungen zu übersetzen (die Web-APIs waren zu diesem Zeitpunkt brandneu). Von dort führte es mich zu einigen Auftritten als GIS-Entwickler. IMO zu einem effizienten Programmierer zu werden, ist nur eine Frage der ständigen Übung. Versuchen Sie, Clean Code von Robert Martin zu lesen. Es war für mich von unschätzbarem Wert, meinen Code einfacher zu lesen und effizienter auszuführen. Viel Glück!
Luke

Ich werde in GIS Soft Wear im Wasserressourcenbereich, im Bau, studieren. Bitte fügen Sie dies in GIS Setup und Tutorial bei.

Dies beantwortet die Frage nicht wirklich. Wenn Sie eine andere Frage haben, können Sie sie stellen, indem Sie auf Frage stellen klicken . Sie können auch ein Kopfgeld hinzufügen, um mehr Aufmerksamkeit auf diese Frage zu lenken, sobald Sie über genügend Ansehen verfügen . - Aus der Bewertung
ArMoraer

Antworten:


8

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:

  1. (OOP) Objektorientierte Programmierpraktiken im Vergleich zu prozeduralen Programmierpraktiken
  2. Statische Sprachen vs. dynamische Sprachen
  3. Programmieren auf niedrigerer Ebene im Vergleich zu höherer Ebene
  4. TDD (Test Driven Development)

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.


2
Vielen Dank für Ihre Antwort. Ich suche definitiv ein Schulprogramm. Ich kämpfe mit traditionelleren CS-Programmen gegen Softwareentwicklungs-spezifische Programme. Ich denke dabei an ein Zertifikatsprogramm in der Softwareentwicklung, das den Lebenszyklus der Softwareentwicklung, bewährte Methoden und gängige Tools vermittelt. Es ist einfach, eine andere Sprache zu lernen. Ich brauche die Grundlagen.
Brian

6

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.


6

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.



1

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.


0

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.