Formalne szkolenie w zakresie rozwoju oprogramowania [zamknięte]

15

Jestem programistą / analitykiem GIS w Vermont z oficjalnym wykształceniem w dziedzinie GIS w dziedzinie środowiska. W trakcie mojej kariery w GIS odkryłem potrzebę uczenia się umiejętności programowania. Obecnie pracuję dla firmy konsultingowej, w której większość moich zadań to automatyzacja za pomocą skryptów Python i tworzenie niestandardowych komponentów ArcGIS za pomocą ArcObjects dla VB.Net. Jestem całkowicie samoukiem w tych technologiach.

Bardzo podoba mi się praca programistyczna, którą wykonuję i chciałbym zostać profesjonalnym programistą GIS. Czy ktoś może polecić odpowiednią ścieżkę do osiągnięcia tego celu? W szczególności jestem zainteresowany formalnym szkoleniem, aby poznać najlepsze praktyki w zakresie rozwoju oprogramowania, które można zastosować w odniesieniu do oprogramowania GIS.

Brian
źródło
1
Dlaczego formalny? Niektórzy twierdzą, że w szkolnictwie wyższym jest bańka , więc może nieformalne byłoby lepszą inwestycją.
Kirk Kuykendall
2
Mam zasadniczo to samo pochodzenie. Wróciłem i uzyskałem tytuł magistra z GIS (geografia), ale większość studiów (po tym, jak porzuciłem temat pracy dyplomowej) poświęciłem na studiowanie tłumaczeń map na aplikacje internetowe (API Web były w tym momencie zupełnie nowe). Stamtąd zaprowadziłem mnie na kilka koncertów jako programista GIS. Stanie się wydajnym koderem IMO to kwestia ciągłego robienia tego. Spróbuj przeczytać Czysty kod autorstwa Roberta Martina. Był to dla mnie bezcenny, ponieważ mój kod był łatwiejszy do odczytania i bardziej wydajny w działaniu. Powodzenia!
Łukasz
Będę studiować w GIS miękkie zużycie w sektorze zasobów wodnych, w budownictwie, więc proszę załączyć konfigurację GIS i samouczek w tym ok.
To tak naprawdę nie odpowiada na pytanie. Jeśli masz inne pytanie, możesz je zadać, klikając Zadaj pytanie . Możesz także dodać nagrodę za zwrócenie większej uwagi na to pytanie, gdy będziesz mieć wystarczającą reputację . - Z recenzji
ArMoraer

Odpowiedzi:

8

Myślę, że odpowiedź zależy od tego, czy chcesz wrócić do szkoły, czy nie. Wspomniałeś o „szkoleniu formalnym”; w końcu jedne z najlepszych formalnych szkoleń informatycznych odbywają się w szkole.

Brzmi również tak, jakbyś już miał talent do programowania. Podjąłeś skrypty z pythonem przez ArcGIS, co jest już naprawdę dobrą rzeczą, aby wiedzieć. To, co musisz teraz wiedzieć, to prawdopodobnie proste rzeczy, takie jak:

  1. (OOP) Obiektowe praktyki programowania a praktyki programowania proceduralnego
  2. Języki statyczne a języki dynamiczne
  3. Programowanie niższego poziomu a wyższy poziom
  4. TDD (Test Driven Development)

Jest jeszcze kilka, o których mógłbym wspomnieć, ale tego rodzaju zasady są rzeczami, których będziesz musiał się w końcu nauczyć. W końcu istnieją interfejsy API i narzędzia do tworzenia oprogramowania GIS dla prawie każdego języka programowania. Wygląda na to, że musisz nauczyć się podstaw, aby mieć pewność, że projekt jest dobry, najlepszym miejscem do tego jest szkoła.

Po samodzielnym przejrzeniu wielu z nich najbardziej pomogły mi rzeczy, których dowiedziałem się o OOP. Zrozumienie projektowania obiektowego jest kluczem do programowania w dzisiejszym środowisku pracy.

jsmith
źródło
2
Dzięki za twoją odpowiedź. Zdecydowanie szukam programu szkolnego. Walczę z bardziej tradycyjnymi programami CS vs. specyficznymi programami do tworzenia oprogramowania. Myślę o programie certyfikacyjnym w zakresie tworzenia oprogramowania, który nauczyłby cyklu życia oprogramowania, najlepszych praktyk i wspólnych narzędzi. Łatwo jest nauczyć się innego języka. Potrzebuję podstaw.
Brian
6

Zastanów się również, czy naprawdę szukasz ogólnego programowania lub chcesz utrzymać więcej w dziedzinie ESRI. Podczas gdy wiele szkoleń ESRI jest skierowanych do programistów Arc, formalne podejście „szkolne” pozwoli ci myśleć inaczej.

Tam jest jeden koszt, wtedy zobaczysz pewne rzeczy, które wpłyną na twoją pracę ESRI; ponieważ wzorce, które często stosujesz w ESRI, nie pasują do metod podręczników, dobry program CS będzie chciał uczyć. Dodaj do tego, że program CS poprowadzi Cię w wielu kierunkach, które mogą nie być korzystne dla twoich celów, jeśli zamierzasz utrzymać ESRI GIS w swojej linii biznesowej jako ścieżkę kariery.

jsmith powyżej ma rację; są to dobre obszary do rozważenia; ale z ESRI mogą być mieczem obosiecznym.

DEWright
źródło
6

Jeśli chcesz być programistą GIS z pełnym stosem, możesz również zbadać świat open source, aby zobaczyć, ile algorytmów zostało zaimplementowanych. Bazy kodowe, takie jak GDAL, GRASS GIS i GEOS / JTS, są dobrze udokumentowanymi i dojrzałymi bazami kodowymi i są otwarte na wkład. W niektórych kręgach programistycznych zapisy zatwierdzeń są ważniejsze niż certyfikacja / poświadczenie.

scw
źródło
1

Jeśli byłeś w pobliżu Austin, poleciłbym UT's Software Quality Institute .

Kirk Kuykendall
źródło
1

Pamiętaj, gdzie chcesz powiedzieć, jestem programistą GIS, który dorastał w Microsoft ziemia za pomocą Visual Studio i SQL-Server, używając ArcGIS JS. Teraz pracuję dla NYS na terenie JAVA przy użyciu Oracle i Leaflet. Muszę przyznać, że wciąż unikam Java, ale JavaScript i Ulotka są fajne, a PHP jest łatwe dla usług internetowych. Wszystko gotowe, zajęcia na komputerze z college'u dały mi trochę teorii, ale praktyczna praca z innymi była największą pomocą.

Materiały edukacyjne, takie jak Udacity, Sitepoint, Lynda.com i Packt, pomogły mi podnieść moje umiejętności do poziomu, w którym czuję się komfortowo, bez powrotu do szkoły. W moim przypadku posiadanie rodziny oznacza, że ​​nadal muszę pracować i rozmawiać z niektórymi szkołami, które w pewnym sensie nie patrzą na Python, PHP, a nawet JavaScript. Wiele z nich jest nastawionych na duże, w pełni funkcjonalne aplikacje, ale moja praca skupia się głównie na prostych aplikacjach internetowych.

Przed powrotem do szkoły zastanów się, gdzie chcesz być za 5-10 lat. Większość programów CS nie jest ukierunkowana na GIS Development, a większość programów GIS nie obejmuje programowania ani klas baz danych.

Bill Chappell
źródło
0

Treningi ESRI mogą być dobrym punktem wyjścia, ale ponieważ kurs jest bardzo krótki (maksymalnie 5 dni!) I obejmuje wiele aspektów, możesz uzyskać dobrą głębokość poziomą, ale bardzo małą głębokość pionową u pacjenta. Jeśli chodzi o programowanie, jestem pewien, że w katalogu ESRI będą dostępne dobre książki.

ujjwalesri
źródło