Никакой курс не сделает из вас программиста без самообразования. Обманчивые офферы, и как правильно учиться

Обучение по принципу «смотри сюда и повторяй за мной» заканчивается со школьным выпускным. Дальнейшее образование – в любой форме, будь то вуз, обучающий курс или менторство – подразумевает по большей части самостоятельное освоение материала.

Роль преподавателя сводится к следующему:

· систематизация учебной программы – от простого к сложному «учи сначала это, потом это»;

· моральная поддержка и подпитывание мотивации;

· указание на ошибки;

· помощь при затруднениях.

Всю остальную работу учащийся выполняет сам.

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

И особенно когда речь идёт об IT-профессиях, которым невозможно научиться без тысяч часов самостоятельного решения задач.

Те, кто приобретает онлайн-курсы по обучению IT-профессиям, часто сталкиваются с тем, что их ожидания не оправдываются. Заплатив немалую сумму денег, студенты решают, что на этом их часть сделки выполнена. Мол, далее действовать должна школа, выполняя рекламные обещания. Сделать из новичков профессионалов, «вживить» в их мозг нужные знания и опыт, а потом ещё и найти им высокооплачиваемую работу.

Это как прийти на урок танцев и сесть в уголке, ожидая, что к концу занятия вы получите скилл «танцевать танго». «Я же заплатил!»

Во многом такие ожидания подпитывают сами школы. Маркетинг, высокая конкуренция и особенность целевой аудитории побуждает прибегать к недобросовестным уловкам.

Если честно написать на лендинге, что придётся неделями выполнять рутинные упражнения; думать над сложными задачами по несколько дней, пока мозг не начнёт закипать; читать сотни книг, написанных сухим языком; по полдня искать ошибку и обнаружить, что на 10 страницах кода не там поставлена точка… Так все желающие разбегутся.

Люди не хотят сложно, они бегут от сложностей. Школы подстраиваются. Например, в рекламе обещают сделать профессионала из студента с ЛЮБЫМ начальным уровнем знаний. Или вообще из любого человека, кто оплатит курс. А уж преувеличенная простота обучения – обычное дело. Даже если клиент чувствует подвох, высокая цена курса действует успокаивающе: «Ну за такие-то деньги из любого кх-м… сделают конфетку!»

Начинаете учиться IT с такими ожиданиями? Значит, в скором времени пополните ряды тех, кто пишет отрицательные отзывы об инфобизнесменах-обманщиках.

Кому же верить?

В первую очередь себе. Вы действительно хотите изучить IT?

Вот проходит изучение IT у нас. Не на пляже под пальмами или в бассейне. Ах, да, программистом за 2 месяца никак не стать. Любая достойная профессия требует соответствующего обучения.

Курсы – лишь способ достижения вашей цели стать программистом. Они могут сделать путь к успеху удобнее и быстрее. Это как аренда велосипеда: вам не нужно идти пешком, но крутить педали всё равно придётся. И легко не будет.

Обучение на 80% самостоятельная работа. Потенциально хороший программист виден уже после выполнения первых домашних заданий: его решения основаны не только на материале, который разбирали на занятии в группе, но и на дополнительных знаниях, которые студент нашёл и применил сам.

Ниже перечислены основные принципы обучения программированию независимо от того, занимаетесь вы самостоятельно или с преподавателем.

Вам должно быть непонятно

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

Сохранённые ссылки на десяток сообществ по вашему направлению – само собой разумеется. Но спрашивайте только после того, как предпримете с десяток попыток решить вопрос сами, и, задавая вопрос, уточняйте, что конкретно вы уже пробовали, но безуспешно.

Когда учиться программированию легко, значит, вы не учитесь.

Пишите код

Книги и лекции это хорошо. Но мозг так устроен, что в памяти сохраняется только то, что вы подкрепили собственными действиями. Когда вы читаете или смотрите чужой код, всё может показаться абсолютно понятным. Вы думаете, зачем это пробовать самостоятельно, выйдет то же самое. Но едва пытаетесь повторить чей-то опыт, не обращаясь к подсказкам, как возникают сложности: ваша программа не работает. Тупое копирование чужого кода также не способствует пониманию.

Как можно больше разбирайтесь с кодом и самостоятельно создавайте работающие программы. Не старайтесь делать всё идеально, достаточно просто хорошо.

Без практического использования теории вы не учитесь.

В первую очередь тренируйте базовые навыки

Начинающий водитель, садясь за руль, 90% внимания уделяет базовым действиям: как переключать скорость, какую нажимать педаль, когда и какие включить фары и т. д. Спустя какое-то время он набивает руку, и выполнение этих действий происходит частично «на автомате», требуя около 40% его внимания. Водитель-профи легко лавирует в сложных пробках, почти не сосредотачиваясь на базовых процессах, они занимают не более 10% внимания.

В программировании также существуют базовые процессы. В каждой технологии они свои. Пока ваш мозг расходует на них огромную часть ресурса, вы неспособны быть продуктивными. Поэтому первое, на чём стоит сосредоточиться – это доведение базовых навыков до автоматизма. Тогда скорость обучения и работы будет возрастать по экспоненте, ведь каждый новый уровень знаний содержит всё меньше принципиально новой информации, он основывается на знаниях предыдущего уровня.

Изучая базу поверхностно, далее вы будете учиться очень медленно.

Одна из целей образовательных учреждение - создать дисциплинированный подход, но и этого порой не достаточно. Если вас насильно тащат на образовательные курсы, результата достичь вы не сможете, это будет пустая трата денег и времени. 

Обучайтесь регулярно

Убедитесь, что в ближайшие месяцы у вас будет достаточно времени на учёбу. Лучше заниматься каждый день по 1,5-2 часа, чем проводить 10-часовой интенсив раз в неделю.

Нерегулярные занятия – это потеря времени. Навыки не закрепляются, знания рассеиваются, страдает мотивация. У вас не появляется привычки учиться постоянно. При таком подходе, скорее всего, вы бросите это занятие.

Обеспечьте постоянное время для уроков, когда вы находитесь в хорошей форме, выспались, не голодны, никуда не спешите, и вас не беспокоят.

А также:

· изучайте английский;

· общайтесь с опытными IT-специалистами на форумах, в чатах и вживую, учитесь у них;

· осознанно работайте над поддержанием мотивации, чтобы не развернуться на полпути.

У вас получится. Помните, что цель образовательных учреждений - сделать процесс обучения проще. Но никак не учиться за вас.

0
129 комментариев
Написать комментарий...
Евгений

Идеально - найти хорошего преподавателя и хотеть учиться. Рад, что мне в этом повезло. Всем начинающим специалистам удачи!

Ответить
Развернуть ветку
Егор Алимов

А мне нет, 2 года обучался у "псевдо" эксперта, так проблема была в том, что я новичок - ничего непонимающий и вложить мне в голову можно все что угодно. В итоге, после первого собеседования, я понял, меня не учили, на мне просто зарабатывали)

Друзья, относитесь очень осторожно к учителям с Авито и помните, что любая грамота или сертификат легко рисуется в фотошопе, не наступайте на мои ошибки

Ответить
Развернуть ветку
Game Topia

Тут явно дело не только в учителе, поскольку за два года вы единолично и самостоятельно должны были стать чем-то между джуном и мидлом. Два года, это очень долго и если вы чего-то для себя открыли на собеседовании, то значит сами не стремились к успеху. 

Ответить
Развернуть ветку
Егор Алимов

была основная работа, которою я не мог бросить и приоритет отдавал конечно же ей. Это был формат репетиторства 

Ответить
Развернуть ветку
Game Topia

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Bulat Ziganshin

это чтобы стать веб-макакой :)

Ответить
Развернуть ветку
Game Topia

Кем угодно. Вэб разработка уже давно сложнее десктопа и бекэнда, поэтому старые шутки выдают пробелы в компетенциях.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Game Topia

Я тупанул! Я имел ввиду фронт, сложность которого всегда сопоставляют с чем-то очень простым.И по поводу порога вхождеОООния можно поспорить. Архитектура серверов уже по дефолту .net-овская, а она ничем не сложнее фронтовых архитектур от реакта или ангулара. Ну а дальше все как бы одинаково, за исключением того, что есть ещё стили, координаты, svg, webgl, wasm и куча всяких spa и оффлайн приложений. Фронт уже давно сложнее. А если ещё учесть сборки и препроцессора, то выйдет уже как сложнее Бека со всей инфраструктурой. К тому же тот же докер уже и на фронте по дефолту из-за проблем с голой предназначенной для сборки.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Game Topia

Почему нельзя? Смотрите. Сначала стоит согласится с тем, что если что-то где-то  было раньше чем во фронте, последний от этого легче не становится! Согласны?
Также для сравнения сложности не стоит сравнивать лёгкий фронт со сложным Беком и наоборот. Согласны?
А теперь скажите, почему конструктор сайтов на ангуляре не сопоставим со сложностью с конструктором сайтов имеющим возможность группового редактирования? Это как минимум сравнивает сложность.
Но сложнее он из-за того, что по дефолту нужно знать все возможные архитектуры применяемые в используемом фраймворке. А любой фраймворк реализует архитектуру всех имеющихся. На десктопе и мобилах только одна доминирующая архитектура. А здесь их целая куча. И знаете, реализовать хранение и генерацию структуры комментариев совсем не тоже самое, что отобразить их на клиенте или сделать для них редактор. Один редактор, в котором я сейчас сообщение набираю, сложнее всего того, что приходится делать на беке. К тому же фрон подразумевает работу с nodejs - сборщики, генерация, плагины для сборщиков. Ни один бэк, десктоп или мобайл даже не требует от джунов быть мастером генераторов. Не все синьоры пишут плагины для сборщиков, им достаточно уметь их конфигурировать. Или что такое саги по сравнению с rxjs? Детский лепит! А graphql? Сейчас работу с ним почти у каждого требуют. А вы когда-нибудь пробовали реализовать визуальные алгоритмы, как например в сетке Мансури? А такого очень много! И webgl неотъемлемая часть фронта в любом сложном приложении. 
Тоже самое, но другими словами - фронт уже давно тот же сервер, только с кучей дополнительных особенностей касающихся отображения. Разве это не есть подтверждение его сложности перед Беком?

Ответить
Развернуть ветку
Илитный Иксперт

Обычное нытье и компенсация от закомплексованного фронтендщика. 

Юзать сборку, препроцессор и готовую архитетуру у них сложно ебать. Как перестать смеяться?

Вообще не понимаю о какой сложности идет речь в современных типовых проектах, что веб, что бек, что мобилки, одна хуйня по шаблону все клепают без понимания че как оно устроено. Дашь нынешним мидлам проект который за пределы шаблонов выходит с нуля сделать - и хуй сломают и руки порежут, а проект не сделают.

Понимаю что веб-макакой быть немного унизительно, вроде тоже за компом код пишешь, а коллеги обсирают. Так в чем проблема, просто займитесь нормальным программированием, перестанут тралить.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Илитный Иксперт

Как будто раскрашиватели кнопок, которые примитивный редактор коментов (который к слову на 95% написан внутри кода браузера, который фронту готовую апишку дает) считают сложной задачей смогут чето из awwwards повторить.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Илитный Иксперт
Один редактор, в котором я сейчас сообщение набираю, сложнее всего того, что приходится делать на беке.

Да, хуйня. Вот этот.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Илитный Иксперт

Ты чо, там еще 3 кнопки есть

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Game Topia

Имел ввиду WYSIWYG

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Game Topia

Года три-четыре назад я создавал нечто похожее на гуглдокс и понадеялся на эдитабл, если вы об этом. Сначала не мог нарадоваться, какое это чудо, пока не столкнулся с одним моментом, который все перечеркнул. Честно скажу вообще не помню, что это за момент, только помню что он лежит в основе всего, и что на стоковерфлов все ответы твердили что это жутко давний баг или фича. Что-то в этом духе. Поэтому пришлось все самому строить - синтаксическое дерево (ast), свои параметры, свои команды. 
И да, я сначала полез в гуглдокс и долго удивлялся, как можно спроектировать редактор генерирующий подобную разметку. Посмотрите сложный документ в инструментах разпаботчика. Но когда напал на тот самый баг, то понял, что по-другому и нельзя.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Александр Ковалёв

Комплексы, коллега, комплексы. Написать же человеческий редактор с версткой, локальным серваком и доступной навигацией по исходнику ни одному веб-миддлу-мамкиному-программисту в голову так и не пришла, это же надо усилия приложить. Зато плеваться, хаить на чем свет стоит и ныть про сложность за 3 консольных команды - мотивации хоть отбавляй.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Game Topia

Толстый клиент, это о приложении, а не о сложности. И я же отдельным пунктом написал, что не стоит сравнивать сложный клиент и простой сервер и наоборот, а вы опять это делаете.  Ну да ладно, забудем об этом.

Ответить
Развернуть ветку
126 комментариев
Раскрывать всегда