Профессия разработчика программного обеспечения сегодня является одной из самых высокооплачиваемых.
Однако, чтобы стать отличным специалистом, нужно совершенствоваться и учиться.
Достичь вершин программирования можно разными способами.
Некоторые разбираются во всем самостоятельно, благо в Интернете много полезной литературы и бесплатных курсов (такие курсы преподают и преподаватели ИТМО — некоторые из них мы публиковали в наших предыдущих материалах: Здесь И здесь ).
Другой вариант — поступить в университет и получить степень в области информационных технологий.
В сегодняшнем материале мы поговорим о том, какие особенности и трудности имеет процесс обучения в IT-сфере, и как они решаются на обоих «маршрутах».
hackNY.org /Фликр/ СС
Любой процесс обучения не является легким, включая изучение языков программирования и информационных технологий в целом.
Информатика, как и технологии, постоянно развивается.
Учитывая это, разработчикам программного обеспечения приходится постоянно следить за последними обновлениями систем и фреймворков.
При этом в процессе обучения необходимо держать В голове множество нюансов, которые нужно правильно соединить в единую картинку.
И хотя программирование считается творческой сферой, оно имеет и «механические» аспекты, такие как написание чистого кода и комментариев к нему, а также документирование проекта.
Это вещи, которые не обеспечивают немедленного прогресса в обучении (но пригодятся в будущем), поэтому работа над ними часто приостанавливается.
Чтобы улучшить свою технику с самых первых дней, требуется высокий уровень дисциплины и мотивации.
Домашнее обучение: к чему нужно быть готовым
Казалось бы, все вышесказанное явно не в пользу домашнего обучения – освоить любую новую область непросто, и если это требует особого усердия, самодисциплины, а новые знания не всегда обеспечивают немедленный прогресс, то обучение самостоятельно становится очень сложно.Однако люди часто попадают в программирование именно так — просто стоит уделить больше внимания следующим моментам: Читайте больше книг по этой теме, чем студенты, изучающие программирование.
Грег Нейштеттер, старший менеджер Egnyte (американская компания-разработчик программного обеспечения), говорит , что в случае самостоятельного обучения действительно придется очень много читать, чтобы восполнить те пробелы, на которые обычно обращают внимание в колледже.
Ведь не все студенты читают рекомендованную по каждому курсу литературу – и все равно приобретают необходимые знания посредством лекций, повторения материала на практических занятиях и общения с сокурсниками.
У одиночного новичка зачастую нет такой возможности, поэтому ему придется обратиться к книгам.
В частности, Грег Нойстеттер рекомендует читать книги по дискретная математика , шаблоны проектирования И разработка алгоритма .
Активно ищите коллег и коллег для обмена знаниями.
Книги — хороший источник информации, но люди все же существа социальные, поэтому мы хорошо усваиваем информацию, полученную от другого человека.
В случае университета этим человеком является преподаватель.
При обучении дома наставник вам придется искать самостоятельно.
При этом он, скорее всего, не будет объяснять все темы и читать лекции (если только он не преподаватель онлайн-курса), но поможет составить «план обучения» и посоветует, на что стоит обратить особое внимание.
к.
Такое общение важно не только для того, чтобы получить новые знания, но и для того, чтобы не забросить обучение в целом.
У одинокого новичка, столкнувшегося с трудностями, шансов бросить учебу гораздо больше, чем у его коллеги-студента.
При самообучении не следует сбрасывать со счетов поддержку других программистов, а иногда и желание их не подвести — они могут быть крайне важны.
В этом случае на помощь может прийти Хабр и его сообщество разработчиков, а также другие ресурсы и форумы, где новичок имеет возможность найти ответ на вопрос и поделиться своим мнением.
Самостоятельно продумывайте практическую работу: как серьезную, так и в игровой форме.
Вам придется приложить больше усилий на практике.
Программисты здесь советовать сразу приступайте к работе над осмысленным проектом и не придавайте серьёзного значения «упражнениям ради упражнений» (к сожалению, не все вузы пока направляют студентов на интересные практические проекты — программист, который учится сам, может этого избежать).
Плюс это положительно скажется на мотивации: возможность увидеть, как развивается собственное приложение, не даст вам заскучать.
Самостоятельное обучение в игровом формате также поможет новичкам (любого возраста) удерживать внимание.
Хорошие представители своего жанра КодинИгра И Кодовый бой , в которой игрок управляет персонажами, написав строки кода с командами.
Еще несколько интересных ресурсов можно найти по адресу связь .
Что вам может дать обучение в университете?
Обучение в вузе тоже имеет свои особенности – конечно, оно требует больше времени и усилий.Какую бы форму университетского образования вы ни выбрали, сначала вам придется пройти конкурс, сдать вступительные испытания и (в случае очного обучения) посещать университет практически каждый день, что не всегда удобно, особенно для желающих сменить профессию и работать одновременно.
Добавьте к этому плотный график, занятия, не всегда интересные предметы и множество других обязательных задач – казалось бы, игра не стоит свеч.
Однако университеты с сильным ИТ-профилем имеют множество возможностей, недоступных тем, кто учится самостоятельно: Информация представлена в более структурированном виде.
В вузах студентам с первых дней дают фундаментальные знания по выбранной области и «прививают» понимание структуры дисциплины (например, будущим программистам в Университете ИТМО преподают дисциплину «Парадигмы программирования»).
.
Такой подход практикуется во многих университетах мира, в том числе в американском MIT. Не каждый новичок в программировании способен самостоятельно построить таким образом программу обучения — в результате некоторые важные разделы упускаются из-за того, что они оказываются слишком скучными или (на данном этапе обучения) неприменимыми на практике.
Чёткое и структурированное изложение материала, в том числе и не ориентированного на практику, может показаться недостаточно интересным, но оно даёт «кумулятивный эффект» — фундаментальные знания в совокупности помогают впоследствии быстро освоить новые практические дисциплины.
Конечно, подобного эффекта можно добиться, занимаясь дома.
Однако в этом случае начинающему программисту придется постоянно делать нелегкий выбор между тем, что можно использовать сразу на практике, и «фундаментом» — в условиях, когда мотивировать себя приходится самостоятельно, вторая категория часто остается без внимания.
.
Вы сможете быстро наладить контакт с практикующими специалистами Далее, когда основы освоены, со студентами начинают работать приглашенные преподаватели из различных компаний.
Они проводят практические занятия, анализируя проблемы, с которыми сталкиваются в повседневной профессиональной деятельности.
В частности, Университет ИТМО сотрудничает с такими компаниями, как Mail.ru, Яндекс, JetBrains, VisualSVN и другими.
Начиная с определенного этапа обучения, студенты могут проходить стажировку в этих компаниях, где выполняют настоящие «боевые задачи».
Это помогает получить наиболее полное представление о специфике работы и современных технологиях, используемых «на производстве».
По данным проведенного исследовать , студенты, посещающие только классические курсы лекций, в полтора раза чаще проваливают экзамены.
Стратегии активного обучения оказываются очень эффективный , поскольку подход направлен на постоянное взаимодействие студентов и преподавателей посредством прямых и обратных связей и повышение степени мотивации и эмоциональности студентов.
Доступны сложные модели совместного обучения Еще одна популярная методика, используемая в университетах, — сетевое обучение, основанное на идеях децентрализованной учебной деятельности.
В данном случае речь идет об управляемом общении посредством использования приемов, требующих активной самостоятельной работы и взаимодействия учащихся.
Примером такого подхода может быть методика изучения физики, использовал Рик Мазур.
Это называется «Инструкция со сверстниками», и в ней учащиеся активно изучают концепции и теории, а затем объясняют их своим сверстникам.
Практика и теория эффективно дополняют друг друга Как говорилось выше, информатика — это постоянно развивающаяся область, причем эта область скорее практическая, чем теоретическая.
В связи с этим простого чтения лекционных материалов недостаточно.
И если при обучении дома новичку приходится придумывать задачи самостоятельно, чтобы не потерять мотивацию и не скатиться к копированию готовых упражнений, то в вузе эта работа (формирование не только полезной, но также интересная практическая часть) лежит на плечах преподавателя.
Конечно, многое в данном случае зависит от того, кто ведет курс, но у профессионалов достаточно преимуществ – при необходимости они могут изменить часть практической работы по желанию студента (чтобы он мог реализовать интересный проект).
ему), не упуская важных деталей.
Кстати, оценить возможности такого обучения теперь может каждый желающий вместе с преподавателем — примером такой практико-ориентированной учебной программы является курс Университета ИТМО «Программирование и разработка веб-приложений», который доступный В сети.
Студенты на этом курсе занимаются созданием веб-ресурса на Django — небольшой информационной системы и приложения для нее.
Дмитрий Штенников, автор, доцент кафедры компьютерных образовательных технологий Университета ИТМО, рассказывает слушателям, как это сделать, а студенты пытаются это повторить.
При этом, чтобы избежать бессмысленного копирования, студенты на протяжении всего курса постепенно получают новую информацию, а затем совершенствуют свой проект с помощью ранее полученных знаний.
Конечно, с развитием открытого онлайн-образования подобные курсы и проекты становятся все более доступными каждому.
Но пока количество МООК сравнительно невелико, и они не охватывают все имеющиеся в университетах дисциплины, полностью перейти на МООК-образование вряд ли получится – скорее, это возможность освежить какие-то знания или приобрести новые.
навыки «поверх» существующего фундаментального образования.
Каков результат?
Итак, необходимые программисту знания и навыки можно получить «на дому» — однако придется проявить силу духа и иметь серьезную мотивацию, кроме того, вам нужно будет самостоятельно сформулировать учебную программу и балансировать между чисто практическими навыками.это поможет прямо сейчас и фундаментальные знания, полезные для обучения в целом.
Студентам вузов с сильной ИТ-составляющей проще: им придется пожертвовать свободой учиться «когда и где удобно», но взамен они приобретают более структурированные фундаментальные знания, могут заручиться поддержкой профессионалов и перейти из вуза в вуз.
сотрудники крупной ИТ-компании.
Есть определенные задачи, в которых пригодятся университетские знания.
«Пару раз за свою карьеру я сталкивался с проблемами, которые не смог бы решить без тех знаний, которые получил в университете», рассказывает программист Натан Марц.
— Одна из таких ситуаций — составление алгоритмов работы распределенных систем.
Мне нужно было предоставить официальные доказательства, подтверждающие их функциональность».
Сами алгоритмы , о котором говорит Натан, легли в основу системы Буря .
Однако не стоит считать, что даже поступив в университет, вы сможете оставить самообразование в стороне.
Эти навыки невероятно важны для будущих программистов хотя бы потому, что информационные технологии сейчас развиваются очень быстро.
При этом, несмотря на то, что современные представления об образовании меняются, многие работодатели и специалисты (в том числе в сфере ИТ) по-прежнему обращают внимание на диплом – в той или иной степени.
Например, Марк Цукерберг недавно решил получать степень.
А вот в ИТ-компаниях (в частности, Google) проще Залезай на собеседование с дипломом о высшем образовании в области компьютерных наук.
Однако на самом собеседовании вам все равно придется показать свои знания наравне с другими претендентами – поблажек здесь не будет. P.S. Большое интервью: как поступить в Университет ИТМО .
Теги: #Университет ИТМО #программирование #Алгоритмы #Разработка электронной коммерции #Разработка робототехники
-
Формула Идеальной Команды
19 Oct, 24 -
Контроль Отрицательных Остатков
19 Oct, 24 -
Регистрация В Вконтакте Теперь По Инвайту.
19 Oct, 24 -
Будущее Winrt Или Going Native 2.0
19 Oct, 24 -
Перевод На Русский Язык, Как Его Видит Ms
19 Oct, 24 -
Internet Explorer 8 (Официальный)
19 Oct, 24 -
Microsoft Должна Открыть Sql Server
19 Oct, 24 -
Предварительный Просмотр Кода
19 Oct, 24