YouIT

Практический опыт программиста: как получить и как совершенствовать

627   0   1   0 | Добавлено 143 дня назад  

Обучение программированию условно можно поделить на две итеративные стадии: 1) сначала программист получает теоретические знания, 2) после чего переходит к их применению на практике, то есть получает практический опыт. Без практики далеко не уедешь. Практические навыки, то есть знания и умения решать реальные задачи требуются всем программистам от начинающих до самых опытных. И если у трудоустроенного программиста вопрос “Как получить практические навыки?” уже не стоит остро, то начинающего программиста такой же вопрос может приводить к хаотичным скитаниям из стороны в сторону и даже быть причиной уныния. Ведь не редко причиной отказа в трудоустройстве даже при наличии хороших теоретических знаний является отсутствие практического опыта, так как далеко не каждая компания готова брать на обучение интерна. Но такая проблема имеет несколько способов решения.


Анализ кода Open Source проектов

Open Source проекты - это проекты с открытым исходным кодом. То есть код полноценного работающего проекта открыт для публичного доступа и его можно скачать на свой компьютер и запустить. Open Source проекты являются прекрасным источником практических знаний не только для начинающих, но и для опытных программистов. Все что вам необходимо сделать, так это найти такие проекты для своего языка программирования в Google (“Проекты с открытым исходным кодом для <Ваш язык программирования>”) и начать изучать их исходный код. Анализ кода Open Source проектов позволит вам понять как именно на практике реализуются шаблоны проектирования, механизм внедрения зависимостей, алгоритмы и многое другое.

Хорошим примером Open Source проекта для .NET программиста является платформа NopCommerce. Платформа представляет собой интернет-магазин, который написан с использованием самых новых технологий. Скачав и запустив проект на своем компьютере, вы можете начать изучать как устроена определенная функциональность проекта (например, поиск товаров по сайту), начиная с UI и заканчивая базой данных. Либо вы можете начать изучение с анализа архитектуры проекта. Либо вы можете просматривать файл за файлом и искать интересный вам код и модифицировать его. Подумайте какая модель на данном этапе вам подходит больше всего.

Анализ кода Open Source проектов позволит вам совершить огромный сдвиг в сторону практических знаний, даже если вы не напишете ни строчки кода. Главная цель - это увидеть и проанализировать как тот или иной механизм реализуется в реальных проектах и Open Source проекты вам точно помогут.

Разработка собственного проекта

О разработке собственного проекта мы писали в посте Как найти работу программиста без опыта?. Разработать собственный проект необходимо сразу по нескольким причинам: 1) закрепление имеющихся теоретических знаний на практике, 2) возможность продемонстрировать свой проект на собеседовании, 3) возможность столкнуться с новыми задачами и получить новые знания.

Еще на самой первой стадии разработки своего проекта - при поиске идеи для проекта, найдите такую идею, которая бы вам нравилась. В идеале вы должны начать делать такой проект, которым бы вы или ваши друзья пользовались в будущем. Именно такой подход позволит вам вовлечь себя в работу и достичь главного критерия собственного проекта - завершенность. Вы можете начать разрабатывать игру крестики-нолики, утилиту для копирования файлов между двумя папками или интернет-магазин. Вне зависимости от тематики вашей программы, она должна как минимум (!) компилироваться, запускаться и реализовывать самую базовую функциональность подобных программ.

Решение задач

Решение небольших задач по программированию в плане получения практических навыков подходит для начинающих программистов не меньше, чем анализ Open Source проектов или разработка собственных. В первые месяцы работы на первой работе программист как раз и занимается решением маленьких задач типа “Написать функцию, которая сохранит данные в файл” или “Написать SQL запрос, который вернет определенные данные из таблицы”. Набить руку в решении подобных задач могут помочь специальные онлайн-платформы, которые предоставляют вам большое количество задач и автоматически проверяют ваши решения на правильность и оптимальность.

К перечню таких платформ относятся LeetCode, CoderByte, HackerRank и другие. Там вы сможете как решать задачи самостоятельно, так и при необходимости подсматривать готовые лучшие решения других участников.

Разумеется, каждый из трех перечисленных выше подходов обладает своими плюсами и минусами. Значит, лучшим способом обретения комплексного практического опыта будет комбинация всех трех подходов. Например, разрабатывая свой проект, посматривайте на техники и подходы Open Source проектов и перенимайте их, реализуйте в собственном проекте. И параллельно выполняйте ежедневно по паре задач на специализированных платформах.

Счастливого обучения!


Похожие статьи

Комментарии (0)

Авторизируйтесь для участия в дискуссии

Google Facebook ВКонтакте
работа программиста качество кода IT-компания обучение программированию карьера собеседование C# сертификация джуниор алгоритмы ООП энтерпрайз .NET тестирование javascript программирование эстимейты roadmaps информатика фан быстродействие базы данных