Добрый день, дорогой читатель!
Хочу поделиться с тобой своим опытом изучения языком программирования и поиска себя в этой сфере, и заодно увидеть этот опыт глазами стороннего наблюдателя. Может, взгляд со стороны поможет по-другому взглянуть на выбранное направление и раскрыть новые возможности.
Я закончил технический институт по направлению “Железо и Программирование”. Все знания были свалены в одну кучу, и единственным условием обучения было “Разобраться или искать новый вуз”. Процесс был непростой, но интересный: по пути пришлось изучить все возможные языки программирования. Assembler, Shell, Fortran, Pascal, C/C++/C#, Javascript, HTML, Python — никто и не подумал объяснить, для чего они могут использоваться, какой лучше применять для решения той или иной задачи. Даже банальный вопрос: “Что такое Backend и Frontend?” — первое время оставался без ответа. Пришлось изучить историю компьютеров полностью, даже написать свой микропроцессор с нуля. Я очень полюбил программирование, но параллельно занимался другой деятельностью, и не мог полностью ему себя посвящать. Пытался устроиться на стажировки, практики и открытые вакансии, но поскольку являюсь гражданином другой страны, не все возможности были открыты.
После института год сидел без работы и пытался выяснить, что мне нравится. Изучил десятки книг по программированию, но все они были на одно лицо: описание языка, история, типы данных, функции, структуры, классы. Общие слова без особых разъяснений, несколько глав, заключение… и ты уже “знаешь” очередной язык программирования. Молодец!
При этом дальнейшего развития нет, и куда применить знания — не особо понятно.
Проходил онлайн-курсы на различных известных платформах. По моему опыту, курсы от русских разработчиков намного более исчерпывающие и содержательные, чем зарубежные. Они заставляют тебя попотеть в процессе обучения, моделируя настоящий рабочий процесс с дедлайнами. Задание по каждой неделе нужно сдать в срок, или ты будешь наказан очередной месячной платой за подписку. Работу проверяет специально написаный грейдер, который сразу пишет о наличии ошибки или поздравляет с принятым ответом. Из минусов отметил бы, что видео иногда бывает нудным и может раздражать: кажется, будто человек не понимает, о чем говорит, и думает над каждым словом по 2 минуты. Но есть и специалисты, у которых все отскакивает от зубов, и в целом впечатления от обучения остаются положительные.
Курсы от иностранных разработчиков предоставляют меньше информации и не дают тестов, без решения которых не пройдешь на следующий этап. Кроме того, задания не обновляются со временем: то есть, курс 2-х летней давности остается таким же, как при его создании, и используется версия языка того года. Даже если у тебя уже 2032 год, и роботы захватили человеческий мозг…
Итоговую работу проверяют сокурсники, которые должны проставить баллы по установленным на курсе критериям.
На этом этапе я прошел все стадии эмоционального принятия:
- Старание. Добросовестно скачивал чужое задание, включал. Если не работало, то пытался что-то поправить, и после проверял еще 10 раз разными способами. После чего расставлял заслуженные на мой взгляд оценки по каждому пункту задания.
- “Так, ладно”. Скачал задание, просмотрел: выполнено не до конца. Запустил программу, она не заработала. Проставил оценки выше среднего
- 3. Индийская философия. Скачал задание, просмотрел. Ошибки были, но я поставил оценки на максимум в ожидании бумеранга от кармы.
- Суровость. Открыл задание, запустил программу. Не работает. Включил строгого учителя и поставил одни 0 в оценках.
Когда оценивают такие же ребята, как я, вердикт может зависеть от настроения. Чтобы тебе выставили балл за проект, необходимо проверить 5 и более сокурсников, но не всегда в данный момент курс проходит “х >= 5” людей. Если одновременно с тобой учатся всего 2 человека, то жди месяцами, пока не проверят. И плати подписку. Из-за чего вкладки с дискуссиями заполнены не конструктивными комментариями, а лишь просьбами “Проверьте меня!”, “И меня!”. Часто модераторы не заходят на форум вообще и не отвечают даже на вопросы по теме. В отличие от русских курсов, где стабильно в течение суток можно получить обратную связь и подсказку, где ты мог сделать ошибку.
После опыта с курсами начал писать легкие программки, но они не доходили до желаемого уровня. Пытался углубить знания языков, чтобы пришло озарение, но сидя дома с книгой и без опыта сложно выйти на стоящую идею. Главным достижением этого времени стало то, что я определился с направлением, которое меня вдохновляет. Game Development. На сегодняшний день один из самых интересных пластов программирования. Мне всегда нравились игры, но не сам процесс, а особенности разработки: физика игры, движений, динамика переходов. Еще в подростковом возрасте интересовался не тем, как перейти на новый уровень, а вопросами из серии: “ А если все усложнить и убрать гравитацию, как тогда будет развиваться игра?”.
Уже появилось много идей и мыслей по реализации в этой сфере, но во время работы рождается миллион вопросов, на которые не могут ответить книги и интернет. На сегодняшний день моя мечта — пообщаться со специалистом в этой области. Узнать больше о нюансах разработки, уточнить некоторые термины, получить ответы на сдерживающие развитие вопросы. Разумеется, важно продолжать читать, учиться и пробовать на своем опыте, но надеюсь, что мне встретится профессионал, готовый поделиться опытом, и сможет подсказать.
Спасибо за внимание!
Автор: pull