Формальное обучение по разработке программного обеспечения [закрыто]

15

Я программист / аналитик ГИС в Вермонте с формальным образованием в качестве ученого-эколога в ГИС. На протяжении всей моей ГИС-карьеры я обнаруживал необходимость овладения навыками программирования. В настоящее время я работаю в консалтинговой фирме, где большинство моих задач - автоматизация с использованием скриптов Python и создание пользовательских компонентов ArcGIS с использованием ArcObjects для VB.Net. Я полностью самоучка в этих технологиях.

Мне очень нравится работа по программированию, и я хотел бы стать профессиональным разработчиком программного обеспечения ГИС. Кто-нибудь может порекомендовать подходящий путь для достижения этой цели? В частности, меня интересует формальное обучение для изучения лучших практик в разработке программного обеспечения, которые могут быть применены к программному обеспечению ГИС.

Брайан
источник
1
Почему формальный? Некоторые говорят, что в высшем образовании есть пузырь , поэтому, возможно, неформальное было бы лучшим вложением.
Кирк Куйкендалл
2
У меня по сути тот же фон. Я вернулся и получил степень магистра в области ГИС (география), но провел большую часть своих исследований (после того, как я прекратил свою дипломную работу) на изучении перевода карт в веб-приложения (веб-API были совершенно новыми на тот момент). Оттуда он привел меня на пару концертов в качестве разработчика ГИС. Стать эффективным программистом IMO - это просто делать это постоянно. Попробуйте прочитать «Чистый код» Роберта Мартина. Для меня было неоценимым сделать мой код более легким для чтения и более эффективным для выполнения. Удачи!
Люк
я буду учиться в ГИС мягкого износа в секторе водных ресурсов, в строительстве, поэтому, пожалуйста, приложите в настройке ГИС и учебник в этом порядке.
Это на самом деле не отвечает на вопрос. Если у вас есть другой вопрос, вы можете задать его, нажав Задать вопрос . Вы также можете добавить вознаграждение, чтобы привлечь больше внимания к этому вопросу, когда у вас будет достаточно репутации . - Из обзора
ArMoraer

Ответы:

8

Я думаю, что ответ основан на том, хотите ли вы вернуться в школу или нет. Вы упомянули «формальное обучение»; в конечном счете, лучшая формальная подготовка по информатике в школе.

Похоже, у вас уже есть навык программирования. Вы взяли скрипты на python через ArcGIS, что уже очень полезно знать. То, что вам нужно знать сейчас, это, вероятно, простые вещи, такие как:

  1. (ООП) Практики объектно-ориентированного программирования против процедур процедурного программирования
  2. Статические языки против динамических языков
  3. Программирование на более низком уровне против более высокого уровня
  4. TDD (разработка через тестирование)

Я мог бы упомянуть еще несколько, но эти типы принципов - это то, что вам нужно в конечном итоге выучить. В конечном счете, есть API и инструменты для разработки программного обеспечения ГИС почти для каждого языка программирования. Похоже, вам необходимо изучить основы, чтобы убедиться, что ваш дизайн хорош, лучшее место для этого (IMO) - школа.

Пройдя через многое из этого, я нашел наиболее полезными то, что узнал об ООП. Понимание объектно-ориентированного дизайна является ключом к программированию дизайна в современной рабочей среде.

JSmith
источник
2
Спасибо за ваш ответ. Я определенно ищу школьную программу. Я борюсь с более традиционными программами CS против специфических программ разработки программного обеспечения. Я думаю о программе сертификации в области разработки программного обеспечения, которая научит жизненному циклу разработки программного обеспечения, передовым методам и общим инструментам. Легко выучить другой язык. Мне нужны основы.
Брайан
6

Вы также можете подумать, действительно ли вы ищете общее программирование или оставить больше в области ESRI. В то время как большая часть обучения ESRI ориентирована на разработчиков Arc, формальный «школьный» подход заставит вас думать по-другому.

Одна цена - вы увидите некоторые вещи, которые повлияют на вашу работу ESRI; поскольку паттерны, которые вы часто используете в ESRI, не будут соответствовать методам учебника, которым может научить хорошая программа CS. Добавьте к этому, что программа CS направит вас в нескольких направлениях, которые могут не принести вам пользы в ваших целях, если вы собираетесь сохранить ESRI GIS в своей сфере деятельности в качестве своей карьеры.

Джисмит выше прав; это хорошие области для рассмотрения; но с ESRI они могут быть обоюдоострым мечом.

DEWright
источник
6

Если вы хотите быть программистом ГИС с полным стеком, вы можете также исследовать мир с открытым исходным кодом, чтобы увидеть, сколько реализовано алгоритмов. Кодовые базы, такие как GDAL, GRASS GIS и GEOS / JTS, являются хорошо документированными и зрелыми кодовыми базами и открыты для участия. В некоторых кругах разработчиков записи о фиксации важнее, чем сертификация / учетные данные.

SCW
источник
1

Если бы вы были рядом с Остином, я бы порекомендовал UT Институт качества программного обеспечения .

Кирк Куйкендалл
источник
1

Имейте в виду, что, если хотите, я разработчик ГИС, выросший на земле Microsoft с использованием Visual Studio и SQL-Server с использованием ArcGIS JS. Сейчас я работаю в штате Нью-Йорк на земле JAVA, используя Oracle и Leaflet. Я должен признать, что пока я избегаю Java, но JavaScript и Leaflet - это весело, а PHP удобен для веб-сервисов. Все готово, компьютерные классы в колледже, которые я посещал, дали мне некоторую теорию, но практическое использование работы с другими было самой большой помощью.

Учебные ресурсы, такие как Udacity, Sitepoint, Lynda.com и Packt, помогли мне привить свои навыки туда, где я чувствую себя комфортно, не возвращаясь в школу. В моем случае наличие семьи означает, что я все еще должен продолжать работать и разговаривать с некоторыми школами, они вроде смотрят свысока на Python, PHP и даже JavaScript. Многие из них предназначены для больших полноценных приложений, но моя работа сейчас в основном сфокусирована на простых веб-приложениях.

Прежде чем вернуться в школу, подумайте, где вы хотите быть через 5-10 лет. Большинство программ CS не предназначены для разработки ГИС, и большинство программ ГИС не включают в себя программирование или классы баз данных.

Билл Чаппелл
источник
0

Тренировки ESRI могут быть хорошей отправной точкой, но так как курс очень короткий (максимум 5 дней!) И охватывает много аспектов, вы можете получить хорошую горизонтальную глубину, но очень меньшую вертикальную глубину в объекте. Что касается программирования, я уверен, что в каталоге ESRI есть несколько хороших книг.

ujjwalesri
источник