Я один из тех людей, кто после окончания государственного образования все свои новые знания приобретал с помощью самообучения. Разработке я также научился благодаря самообучению.
В этой статье мне хотелось бы рассказать, почему не стоит покупать курсы по программированию в тот момент, когда у вас появилось желание стать программистом.
Неточные высказывания
Любой курс по программированию состоит из информации, которая уже есть в открытом доступе в интернете. При этом информация на курсе обычно переформулирована для того, чтобы объяснить сложные вещи более простым языком. Неточность в высказываниях может привести к недопониманию темы у ученика в формате курса.
Ничего не понятно, но мы идем дальше
Помните, как в школе или в университете на лекции у нас спрашивали, всё ли мы поняли?
В этот момент, даже если мы не поняли до конца или не поняли вовсе, то все равно большинство людей отвечали преподавателю, что поняли о чём была речь.
Подобным образом ведут себя и вполне взрослые люди. Многие ученики просто игнорируют ту информацию, которую они не поняли. При этом программа курса идёт дальше.
Главное - услуга за деньги, а не конечные знания и умения
Любой курс в первую очередь это бизнес, и его задача получить от вас деньги и предоставить вам обещанную услугу. Обращаю ваше внимание на то, что предоставить вам услугу по обучению - совершенно не значит научить вас.
Конечно же, многие школы и курсы по программированию предлагают такой сервис, в котором у вас будут домашние задания, личный ментор, который будет вам помогать. Кроме того, во время курса вы проходите программу с целью получения никому не нужного диплома.
А что ещё нужно для эффективного обучения программированию?
Умение решать проблемы
Ценность программиста состоит не в умении писать код, и не в знании всех возможных функций и конструкций языка программирования.
Программистам платят за решение бизнес задач, решение которых, как правило, несёт за собой решение большого списка проблем.
Именно умение решать проблемы и находить ответы на возникающие вопросы является ключевыми навыками любого программиста.
Жизнь после курсов
После окончания курса у вас, конечно же, останется код, который вы написали на уроках, останутся какие-то заметки и возможно даже сложится понимание того, что вы писали и зачем. Но как только вы столкнетесь с другими рабочими задачами, и вам придётся сделать шаг влево или шаг вправо от ваших знаний, вы сразу же столкнетесь с мыслью о том, что вы не понимаете или не знаете как решить поставленную задачу. Более того, вы не будете знать, что можно сделать, чтобы найти решение.
Основное отличие курсов
Отличие курсов от информации в интернете в основном заключается в том, что всю информацию, которую Вам будут преподавать уже структурировали определённым образом. Эта информация будет пропускать многие темы, которые не обязательно понимать в рамках занятия.
Вас словно поведут по пути, держа за руку. При этом вы не учитесь тому, что вы будете делать, оставшись в гордом одиночестве перед вашими рабочими задачами.
Умение решать проблемы
Если вы изначально начинаете погружаться в мир программирования самостоятельно, то вас неизбежно ждёт огромное количество проблем, которые нужно будет непонятно как решать. Именно в этом случае вам просто придётся находить ответы на ваши вопросы самостоятельно. При таком подходе у вас будет развиваться навык поиска информации, который может помочь в решении вашей задачи. Этот навык крайне ценный.
Я прекрасно помню себя в начале своего пути, когда я просто не знал, какими словами нужно написать поисковый запрос, чтобы получить ответ на мой вопрос. Это действительно была проблема.
Начиная свой путь в программировании с прохождения обучения в формате курса, вы лишаете себя возможности получить навыки решения проблем и поиска информации.
Когда нужны курсы
Обучение в формате курса несёт в себе ценность, когда в этом курсе заключена авторская и уникальная информация, которую практически невозможно найти бесплатно в открытом доступе.
Приходя на мастер-класс к определённому стилисту, вы можете научиться его технике работы и в этом есть смысл.
На любом курсе по программированию не будет информации, которую вы бы не смогли самостоятельно найти в интернете.
База знаний
Во время самообучения я рекомендую вести свою базу знаний, которая будет состоять из кратких заметок, чтобы в нужный момент времени вы могли посмотреть свою базу. Конечно же, полностью копировать статьи не нужно (для этого в краткой заметке просто сохраните ссылку на развернутую статью).
На курсах также есть базы знаний? Где-то есть, но вопрос в том, что такая база должна быть индивидуальной и никто кроме вас самих ее не сделает. Точнее никто за вас не сделает базу, которой вы будете пользоваться и которая будет удобна лично для вас.
Нам нужна википедия в голове
Возьмем следующее определение объекта в JavaScript.
Объект — это набор свойств и каждое свойство состоит из имени и значения, ассоциированного с этим именем. Значением свойства может быть функция, которую можно назвать методом объекта. В дополнение к встроенным в браузер объектам, вы можете определить свои собственные объекты.
Ученик полностью не осознает смысл этого определения, пока не найдет ответы на следующие вопросы:
Что такое функция?
Что такое метод объекта?
Чем метод объекта отличается от функции?
Какие у браузера есть встроенные объекты?
Как создать свои объекты?
Зачем нужны свои объекты?
Если это не набор свойств, а одно свойство, то это объект?
Всего 3 предложения, а уже сколько вопросов может возникнуть.
Начнем искать ответы на эти вопросы и будем читать еще больше текста. При этом в голове будет возникать еще большее количество вопросов и непонятных слов.
Получается, чтобы полноценно осознать и понять одну простую тему, нам нужно иметь целый набор знаний по темам, которые с этим связаны.
Обучаясь самостоятельно, вы шаг за шагом можете выстраивать такую вики в своей голове и в своей базе знаний. К сожалению, такого подхода на курсах вы не увидите. Определение объекта вам дадут, а уж что с ним делать будете решать самостоятельно. Да кого я обманываю? Вы просто забудете или проигнорируете все, что вам будет непонятно на курсе.
Есть ли свет в конце туннеля?
Проходя обучение на электрика на определенный разряд, в какой-то момент вы поймете, что знаете все, что нужно знать и уметь для этого разряда. В программировании совершенно не так. То, что нужно знать хорошему программисту больше похоже на бездонную бочку. Только-только вы подтянули одну технологию и тут же оказывается, что появилась технология новее и интереснее. Обучение программированию - это бесконечный процесс. Учиться тоже нужно уметь. Если вы умеете учиться и учиться вам предстоит всегда, то зачем вам на старте нести десятки тысяч рублей за оплату курса, после прохождения которого мастером своего дела вы точно не станете? Если вы не умеете учиться, то самое время научиться. Как правильно учиться - это уже тема для отдельной статьи.
Мотивация
Самостоятельное изучение программирования на старте без вики в своей голове - это процесс очень болезненный. В голове всегда будет мысль, что вы ничего не понимаете. Руки будут опускаться. Это время нужно перетерпеть. Когда знания будут наслаиваться друг на друга вам уже будет гораздо проще осознавать новые темы, особенно если вы научились искать ответы на вопросы.
Многие идут обучаться на курсы, чтобы избавить себя от этой боли на старте. За вас все нашли, за вас все структурировали, за вас все переформулировали простым языком. И пока вы находитесь под крылом вашего ментора или учителя все действительно будет хорошо, но только пока ваш курс не закончится и вы не начнете что-то делать самостоятельно. Вот тут боли будет не меньше.
На мой взгляд, если человек не любит учиться, анализировать и структурировать информацию, находить ответы на вопросы, решать проблемы и вечно страдает от своего непонимания, то такому человеку явно не стоит идти в разработку. Мотивация облегчить вход в IT с помощью курсов может сыграть с вами злую шутку. Вам будет казаться, что все так легко и понятно, пока вы и ваш код не останетесь без присмотра.
Заключение
Я озвучил свои мысли, почему самообучение лучше прохождения платных курсов в начале пути. Конечно же, вы можете быть несогласным и даже отстаивать позицию того, что IT курсы лучшее, что можно было придумать. Давайте обсудим это в комментариях. Я думаю прочитать разные точки зрения будет выгодно тем, кто прямо в этот момент думает оплатить курс по программированию.
Комментарии (86)
Myclass
10.12.2022 22:51+3Вы не совсем понимаете, для чего нужно стороннее обучение. Это не сколько темы, а именно общение. С профессорами, доцентами, знакомства со многими людьми, которые и ваш багаж знаний и опыта увеличат и смогут создать доп. условия или возможности. Networking,
Open-JS Автор
10.12.2022 23:07+12В этой статье я говорил про IT курсы, а не про высшее образование. О каких профессорах и доцентах на курсах идет речь мне не понятно. Я вынес на обсуждение тему обучения, а не нетворкинга.
Myclass
10.12.2022 23:57+1Помните было такое выражение - дураки учатся на своих ошибках, а умные на ошибках других. В наших руках - к кому прикнуть. Не имею желания кого-то обидеть, но коллективные знания всё равно имеют вес. Просто так своим - без вас справлюсь можно на столько граблей наступить, что и желание пропасть может намного раньше чем надо и ошибок нагородить можно уйму. Поэтому- желаю вам не видеть в курсах врага, даже, если вам лично они не подходят.
Open-JS Автор
11.12.2022 03:22+3Конечно же самостоятельный путь приводит к тому, что приходится наступать на грабли и искать пути решения. Именно этот подходит научил меня справляться с возможными ошибками. По моему мнению это более долгий путь, но более качественный.
OnYourLips
11.12.2022 19:19Как только вы научились самостоятельно учиться, мотивировать себя и решать проблемы с обучением, самообразование уже ничего не может дать. Причём не будет отнимать гораздо больше времени (оно ведь ограничено), а будет в то же самое время давать меньше знаний и опыта.
В хорошем университете навыки самостоятельности тоже дадут. Проблема в том, что в хорошие университеты большинство попасть не сможет, а условные провинциальные университеты РФ я такими точно не назову. Раньше для россиян были варианты в Европе (мои знакомые учились в Литве, Чехии, Германии), но теперь нет и их.
Моё мнение - хорошее высшее образование - это точно лучший путь к нормальному будущему.
Самообразование и курсы - если нет доступа к хорошему ВО, и должны быть в определенной пропорции, чтобы и воспитать самостоятельность, и дать достаточно навыков.
Вариант хуже - только курсы или только самообразование.
И самый плохой вариант - некачественное ВО.
0xd34df00d
11.12.2022 20:50+1Я тут могу ответить только личным опытом — самообразование лично мне дало куда больше, чем дал вуз (Физтех, если что), и чем вуз мог бы дать, иди я в него с чистой головой.
Как только вы научились самостоятельно учиться, мотивировать себя и решать проблемы с обучением, самообразование уже ничего не может дать.
Эх, если б только были курсы по всем возможным предметам...
FireWind
11.12.2022 08:23+4А еще говорили - учеба на чужих ошибках, это ученость, на своих - мудрость
Myclass
11.12.2022 15:22Таких псевдо-мудростей полно. Например. Работа не волк, в лес не убежит или зачем откладывать на завтра то, что можно сделать послезавтра. Или. Нет ленивых людей. Есть цели, которые не вдохновляют. Итд. Но вы ведь должны понимать, что такие выражения рождаются от лени, объяснения тупых действий итд.
Я думаю, что вы не хотите на себе проверять, действуют или нет новые медикаменты или покупать машину с автоматическим управлением, которую ещё никто не тестировал. Поэтому - желаю вам всё-таки меньше желания мудреть на своих ошибках. Читайте по-больше книжки - там умные люди люди делятся своим опытом - и вам придётся меньше этих ошибок делать. И всё равно будете мудреть.
PuerteMuerte
11.12.2022 00:36О каких профессорах и доцентах на курсах идет речь мне не понятно.
А какая разница? На курсах вместо профессора у вас будет преподаватель, будут студенты, которые тоже изучают ту же профессию, что и вы, и кстати, в отличии от ВУЗа, как правило с более серьёзными намерениями, потому что они пришли туда, как правило, не по указанию папы и мамы, а за свои деньги и хорошо понимая, зачем.
Понятное дело, что самообразование всяко лучше плохих курсов-однодневок. Но есть же и качественные курсы :)
Open-JS Автор
11.12.2022 03:25+3На сколько я помню должность профессора подразумевает наличие докторской степени. На курсах обычно преподает практикующий программист, которому нравится процесс обучения других людей.
PuerteMuerte
11.12.2022 03:38В общем случае практикующий программист способен ответить на прикладные вопросы в рамках курса, который он ведёт, в этом плане он ничем не отличается от человека с докторской степенью :)
Ontaelio
11.12.2022 05:49+1На курсах обычно преподает практикующий программист
Ну так в этом и смысл. Практикующий программист в курсе актуальных запросов индустрии, он может на лету корректировать программу курса, если в ней что-то устарело. Профессор может научить теории - но вот тут как раз, по-моему, можно и книжку этого же профессора прочитать.
Собственно, польза курсов именно в максимальной приближенности к реальности. Курсы, конечно, бывают разные, но хорошие - актуализируются постоянно.
akhalat
12.12.2022 05:21На сколько я помню должность профессора подразумевает наличие докторской степени
Кстати, не обязательно.
Ещё есть звание профессора и должность профессора. Вот должность точно не подразумевает, а звание, вроде как, всё-таки да.
J_8
13.12.2022 10:24А чаще те кто недавно окончил тот же курс)))
К сожалению действительно профессиональных преподавателей на курсах абсолютный минимум! И что самое плохое, это отсутствие информации о программе курса кроме расплывчатых заявлений, как вам повезет если вы заплатите за курс.
Есть конечно и хорошие курсы но как правило на английском языке. и естественно ни а каком менторе и речи быть не может никто вами заниматься персонально не будет и разбирать с вами что вы не вкурили ( 90% курсов).
Я бы к примеру любому курсу предпочел бы запись лекций в вышке где препод в живую и в общении с аудиторией разбирает тот или иной аспект! Стоит оговорится что препод должен уметь объяснять, а не обязательно быть супер программистом!
Умение научить это дар который дается далеко не всем даже если они хорошо знают предмет а курсы это скорее способ заработка чем обучения.
Ivnika
11.12.2022 12:49+1О каком общении вы говорите? С себе подобными сокурсниками? Преподаватель максимум разберет ваше домашнее задание и в ходе лекции попытается ответить на вопросы.
lair
10.12.2022 22:51+5На любом курсе по программированию не будет информации, которую вы бы не смогли самостоятельно найти в интернете.
Во-первых, не факт. А во-вторых, и что важнее, если не знаешь, что искать, то не важно, есть информация или нет. Ценность (хорошего!) курса - в программе и структуре в первую очередь. Автор этого курса решил, что важно, а что не очень, и важное рассказал, а неважное упомянул и дал ссылки (или вообще опустил).
Вы просто забудете или проигнорируете все, что вам будет непонятно на курсе.
Это от ученика зависит. Я вот не игнорировал непонятное, а останавливал лекцию и разбирался.
PS А в опросе, кстати, не хватает варианта "системное образование". Вы же не будете спорить, что обучение в рамках "курсов" и обучение в рамках школы/училища/ВУЗа - это разное?
Open-JS Автор
10.12.2022 23:08+2Конечно. Курсы и обучение в рамках университетов вещи разные.
lair
10.12.2022 23:10...ну вот а варианта "пойти в университет" у вас нет. Так что в опросе оба варианта "хуже", не вижу смысла из них выбирать.
Spaceoddity
11.12.2022 03:17+1И с каких это пор самообразование стало хуже высшего?)) Помню на первой же лекции по информатике преподаватель выдал нам аксиому - "самые квалифицированные программисты - самоучки, как минимум потому, что у них с мотивацией все в порядке"
lair
11.12.2022 03:21И с каких это пор самообразование стало хуже высшего?
При прочих равных образование с наставником лучше, чем самообразование. А образование в хорошем заведении, опять же, при прочих равных лучше образования только с наставником тем, что (а) есть сообщество, и (б) есть другие предметы, которые наставник преподавать не в состоянии.
BugM
11.12.2022 03:28с) учат не тому как пройти собеседование и в лучшем случае как делать круды, а тому как компьютер на самом деле работает и как программы на самом деле работают.
Всем нужны именно такие джуны. Современному фреймворку и всем типовым баззвордам его обучить недолго. А вот математике (или чему угодно из общих курсов высшего образования) его учить никто не будет. Это долго и сложно.
Open-JS Автор
11.12.2022 03:30Если исключить из обсуждения историю с диплом, то институт будет отличаться более комплексными знаниями и долгим сроком обучения (4 - 6 лет). Большая часть курсов дают более узкие знания и обучении не более полугода. Когда мы сами обучаемся обычно в первую очередь получаем знания для решения конкретной задачи, те знания тоже узкоспециализированные. Именно поэтому я сделал сравнения курсов и самообразования и не включил в опрос университет.
J_8
13.12.2022 13:03Интернет вообще оскудел на нужную информацию)) если вам нужна определенная схема к примеру стиральной машины, то вы будете полдня лопатить ненужную вам информацию пока чисто случайно не наткнетесь на какой ни будь малопосещаемый форум) и как отметили выше самое сложное это сформулировать в отсутствии знаний, что ты собственно хочешь найти))
TryToImagine
10.12.2022 23:08+3Не все курсы плохие, но определить хороший ли курс и подойдёт ли конкретно тебе не так то и просто. Ещё не стоит надеяться, что в курсе хватит информации обо всём, всегда нужно пользоваться дополнительными источниками информации и знаний.
Markscheider
10.12.2022 23:39+1Я вижу ценность курсов в возможности ознакомления со средой разработки или инструментом аналитики. Для получения общего впечатления (а иногда - и понимания, надо ли оно вообще). И да, для этой цели идеально подходят кастрированные бесплатные программы, которые есть во многих онлайн-школах.
А дальше - да: садиться и самостоятельно ковырять.
saipr
11.12.2022 00:01Именно умение решать проблемы и находить ответы на возникающие вопросы является ключевыми навыками любого программиста.
Как это все перекликается с тем, чему учили меня 50 лет назад:
Программист должен обладать способностью первоклассного математика к абстракции и логическому мышлению в сочетании с эдисоновским талантом сооружать все, что угодно, из нуля и единиц. Он должен сочетать аккуратность бухгалтера с проницательностью разведчика, фантазию автора детективных романов с трезвой практичностью экономиста.
lair
11.12.2022 02:22-1Как можно научить способностям и таланту?
ApeCoder
11.12.2022 11:36Способности бывают врождённые и приобретенные. Приобрести способности можно путем в том числе и обучения/тренировкой
lair
11.12.2022 15:17-1Да, я был не прав, согласно википедийному определению "способности ... развиваются". Занятно, правда, что согласно ему же, способности как раз не бывают врожденными.
Отдельно забавно, что английский термин aptitude, который параллелен в википедии термину способность, означает "inborn potential [...] contrasted with skills and abilities, which are developed through learning".
Revertis
11.12.2022 16:47Так ведь "inborn potential" может просто быть развитой второй сигнальной системой. То есть пониманием речи, смысла и т.п. Зачем сразу думать о сверхспособностях? :)
lair
11.12.2022 16:49А я и не думаю о сверх способностях. Я думаю о чем-то, что дано от природы (=inborn), в противовес развитому после (=developed).
BugM
11.12.2022 00:03-3А классический вариант "пойти получать высшее образование по теме" где? Он лучший.
Open-JS Автор
11.12.2022 03:31Высшее образование совершенно другой формат, поэтому его нет в опросе.
BugM
11.12.2022 03:41Это образование. Вроде как массовое и популярное. В моей эпсилон окрестности разработчиков оно есть у большей части людей. А курсов в вашей трактовке нет почти ни у кого. При этом на собеседовании высшего образования не требуется, именно в этом месте искажений нет.
Моя личная искаженная статистика говорит что видимо высшее образование не совсем бесполезная штука. И ее как минимум стоит добавить в опрос.
Open-JS Автор
11.12.2022 03:44+1В опрос добавил)
Spaceoddity
11.12.2022 14:04+3И зачем? Теперь выводы из этого опроса наглухо нерелевантны)) День провисел с двумя вариантами ответа, теперь добавился третий...
K_Chicago
11.12.2022 00:15+5По-моему у автора однобокое понимание термина "курсы программирования". Т.е. он подразумевает исключительно "Как изучить Java/JS/Python/VB/C++/COBOL/ALGOL/C++ за 21 один день для идиотов". Такие курсы действительно обладают очень ограниченной полезностью. Хотя есть тип людей, которым важна именно сама процедура хождения на официальные, платные курсы, у этих людей как бы включается функциональность "обучение" только когда за это заплОчено, и они садятся за парту, входит учитель и говорит, "дети, откройте тетрадки и пишите"...Это конечно сарказм, но такой тип людей действительно существует.
Но речь не о них. По моему убеждению, ценность представляют курсы пограммирования (а как еще их назвать?) где происходит обучение фреймворкам, т.е. предполагается наличие знания синтаксиса языка и способность писать код, а обучают - как применять эти знания в сочетании с IDE и т.д.
По моему опыту, например, единственные платные курсы которые я брал (дело было в 2000м) - это курсы обучения Oracle Forms & Reports. По самообучению у меня были начальные знания по Basic, Pascal, SQL и даже ассемблер. Но месячные довольно интенсивные курсы по формсам по сути открыли мне дорогу к моей первой работе программистом - до этого я был "сисадмином" (но уже не эникейщиком). Добавлю, после этих курсов я договорился с преподавателем (а он сам работал программистом на формсах в государственной конторе) что я буду для него забесплатно делать задания по его работе, а он будет меня поправлять - по сути я нанялся "подмастерьем" в средневековом понимании. И после полугода такой практики я устроился на свою работу программиста на формсах за $400. А дальше понеслось и уже через год я работал в США на рабочей визе.
Сегодня когда Oracle убил формсы (это отдельная тема, почему режут куриц, несущих золотые яйца. Вкратце - чтобы не обвалить цену золота), все равно очень нужны курсы по обучению фреймворкам, и их также трудно найти, как и 20 лет назад.
Опять же из моего опыта - после 20 лет опыта формсов и репортов, руководство фирмы издало приказ - переделываем текущее корпоративное приложение с Forms на JDeveloper. Вот просто берем и переделываем, скрин за скрином. И вот тут я ощутил совершенно бесящую беспомощность. Естественно, никаких "курсов" педложено не было. И во всем интернете есть только самые начальные туториалы, совершенно не подходящие для начала практической разработки. Это было хуже чем "как ночью по тайге". Я таки сделал полностью один скрин и уволился.
И еще добавлю: также, как и всегда, те курсы которые предлагаются в изобилии - по самым бесполезным и невостребованым темам в плане перспективы нахождения работы. То знание, которое конкретно приносит деньги, остается также табуированым и малодоступным. Эту тему никто не обсуждает, тут работает социальное табуирование.
Знаете, был печальный анекдот - в милицию устраивается какой-то бывший гопник, и удивляется - "так тут еще и зарплату платят? а я думал, дали волыну и дубинку - и дальше крутись как хочешь..."
Вот также и с "курсами программирования "
Pastoral
11.12.2022 00:44Теоретически, курсы отличаются от самообразования тем, что преподаватель понимает что и почему учащийся не понимает, а сам учащийся - нет. И самообразованием человек может заниматься 20 часов в неделю, а преподаватель в группе из 10 человек - 400.
Поэтому курсы, если они не фальсификат, заменить нечем.
K_Chicago
11.12.2022 01:38правильно ли я понял, что вот то что вы описываете, - вы определяете как "не фальсификат", а все остально по вашему определению - это "фальсификат"? Если так, вы понимаете что первое предложение - это тавтология?
Что касается второго предложения - это просто бессмыслица. Вы пьяны?
Pastoral
12.12.2022 15:23Я не вполне пьян. Я потратил две регистрации на Хабре, первая упала кармой слишком быстро, на попытку понять причину болезненных реакций аудитории. Таких как принципиальный отказ от понимания и стремления к пониманию. Или маниакальная страсть к минусованию. Этим можно заниматься не только здесь, но Хабр - собрание «специалистов», это потенциально целевая аудитория предполагаемых усилий и лица с завышенной самооценкой способствующей искренности реакций.
Обнаружилось, что реакция идёт не по конкретным поводам, а при прикосновении к общей картине мира, что не имеет известных мне объяснений помимо её внедрённости извне.
Всем спасибо за участие, дальнейшие комментарии уровень кармы исключает, для чего она, очевидно, и была придумана.
berendiaev
11.12.2022 02:22+2Ну в чём-то я согласен с автором.
Я бы с бОльшим удовольствием заплатил бы за учебник по ЯП с упражнениями, чем за курс по этому же ЯП.
Реалии таковы, что 1) спикеры курсов очень разные, в основном хреновые 2) ваши ДЗ проверяются очень формально 3) материалов лекции не хватает, чтобы сделать ДЗ, т.е. придётся делать зарывшись в гугл.
В этих реалиях платить за пересказ документации довольно глупо. Как и написал автор, задача курсов это предоставить вам услугу и получить за неё деньги. Стараться особо никто не будет.
0Bannon
11.12.2022 02:49+2В курсах есть небольшой плюс.
Ну, например, я бы никогда не научился сам настраивать рабочее окружение, сколько бы видосиков с ютуба ни смотрел. А на курсе прям с первого же дня научили настраивать окружение eslint, prettier, husky, lint staged, скрипт для ci/cd, jest и тд. Второе, сразу же научили разрабатывать через TDD. Тот же domain driven development и как solid принципы применять, на это ушло бы очень много времени, чтоб понять и научиться применять. Т.е. на курсе тебя, как бы, за ручку проводят через то, как оно будет на рабочем месте, а там дело твоё уже углубляться в темы дальше. А то некоторые думают курсы - это про "изучение языка" или типа того, что на ютубчике можно нахвататься по-быстренькому и бесплатно. Нет.
Ну, и среди курсов много таких, где воды льют.
K_Chicago
11.12.2022 04:33среди курсов таких водолейных - 99%. Также как и среди "учебников", это просто косноязычный перевод официального хелпа к языку или фреймворку. Хороших книг по обучению программированию чудовищно мало. В лучшем случае это справочники. Но обычно - макулатура.
По сути, мои любимые АБС изобретя термин "БВИ", не сумели объяснить как решить основную проблему любого публичного хранилища информации - это проблема энтропии, превращения хранилища в помойку и сборище фальсификатов и фейков. Самое ценное в океане информации - это информация аутентичная.
И в этом искусство и умение "обучаться". Т.е. брести в этом информационном
океанеболоте, отсеивать мусор и шлак выдающий себя за "знание", и вылавливать жемчужины знания. "Та же добыча радия", буквально. Достигается упражнением и многолетним болезненным опытом. И требует серьезной мотивации.
K_Chicago
11.12.2022 04:31-1мне совершенно непонятно почему народ так молча хавает все эти "видосики". Это какая-то чудовищная халтура, какой-то обычно косноязычный персонаж из Хайдерабада что-то невнятно лопочет и это выдается за "обучение". Туториал ОБЯЗАН быть: документом с иллюстрациями, примерами кода, обязательно - с подробным ОГЛАВЛЕНИЕМ, желательно - с приаттаченым работаюшим кодом приложений. Потому что с обучалкой работают: постоянно возвращаясь по тексту к разным страницами, может быть даже с несколькими мониторами открытыми на разных страницах, и работают ЧИТАЯ вдумчиво и многократно текст. Видео фрагменты могут быть полезны в редких случаях для иллюстрации каких-то анимационных эффектов, и только.
А внимать лопотанию субъекта с невнятного видосика и утверждать что "обучаешься" - это верх лицемерия. Накипело.
Я понимаю, что наснимать себя любимого с добавкой котиков - легко и приятно.
Но к обучению это отношения не имеет НИКАКОГО.
Люди. ПОЖАЛУЙСТА. Не выдавайте свои любительские поснимушки за "курсы обучения". Не надо так.
lair
11.12.2022 05:58-1Ммм, вы лекции Тима Рогардена (надеюсь, правильно транслитерировал) тоже считаете косноязычными видосиками?
sepetov
11.12.2022 07:54+1Тим Рафгарден, если я верно понял, о ком вы говорите. По крайней мере такой вариант используется в русском переводе серии его книг "Совершенный алгоритм".
K_Chicago
11.12.2022 09:20-2Ммм, вы лекции Тима Рогардена (надеюсь, правильно транслитерировал) тоже считаете косноязычными видосиками?
mmm, вы по простоте душевной считаете что я смотрел все видосики существующие в природе и обществе? Очевидно нет, вы же не дурак. Это у вас просто такая манера речи.А вообще почему бы вам не научиться выражать свои мысли без словесной агрессии по умолчанию? Например, вышеприведенное в другом мире могло бы звучать так: 'Есть некоторые видео лекции, которые не косноязычны и вполне заслуживают просмотра'.
Заметили разницу? Но это из другого мира, там и "пи" наверное равно трём ровно...
Dolios
11.12.2022 12:36+1Т.е. сначала вы обосрали всех, кто смотрит видеолекции ("мне совершенно непонятно почему народ так молча хавает все эти "видосики"), а потом обиделись, когда оппонент поддержал вашу манеру общения?
lair
11.12.2022 15:11mmm, вы по простоте душевной считаете что я смотрел все видосики существующие в природе и обществе?
Нет, я, по простоте душевной, считаю, что вы сделали необоснованное обобщение. Мне было любопытно, однако же, знакомы ли вы с конкретным - весьма известным в определенных кругах - курсом, или нет, и что вы о нем думаете.
А вообще почему бы вам не научиться выражать свои мысли без словесной агрессии по умолчанию?
Применение этого навыка требует от меня усилий, и я не вижу в них смысла, когда оппонент начинает с пренебрежительных оценочных суждений.
J_8
13.12.2022 17:47-1Чел кстати вполне корректно сформулировал мысль и я с ней абсолютно согласен 90% курсов полный хлам, а люди не могут адекватно оценить их качество и от этого вся проблема.
Ilusha
11.12.2022 04:51+8В статье никак не определена начальная точка: обучающийся - он кто? Какой у него бэкграунд? Что он знает и умеет?
Пятиклассник? Без пяти минут выпускник школы Студент техникума/пту/колледжа? Студент универа? Маркетолог 28-лет? Врач 35-лет? Безработный(ая) 20-летка у родителей? Для каждого нужен свой подход.
Курсы тоже разные. Вот годовые курсы переквалификации ИТМО к чему отнести? А cronis? А курсера - это курсы или самостоятельное обучение? Работа с ментором/тьютором/наставником, который динамически строит программу обучения?
Самостоятельное обучение, кмк, имеет больше минусов, чем плюсов в 2022. Это в 2007 можно было взять turbo pascal и учебник с задачником и в одиночку работать.
Сейчас лучше комбинировать: сам + курсы + ментор + сообщества единомышленников.
Особняком стоят вузы: хорошую кафедру с хорошей программой нужно еще поискать. Но они есть. И, кмк, это будет лучшим выбором для выпускника школы. Потому что: вуз - это комбинация системной подачи широкого пласта знаний и самостоятельного обученная; мозг облучаемого еще в режиме детской нейропластичности; внешний контроль и нетворкинг помогут дойти конца.
Еще мы пропустили колледжи. Я слышал, есть те, что дают норм практику.
И вопрос целеполагания не рассмотрен. Как понять, чего ты хочешь, если нет кругозора?
panzerfaust
11.12.2022 07:00+3Минус самообразования в том, что в большинстве случаев у ученика будет оставаться без ответа вопрос "а нахрена это вообще". Не в смысле "зачем я учусь", а в смысле "вот я узнал об ХХХ, но не вижу ему применения".
Например для меня таким местом стало изучение спринга после изучения джавы. Я в упор не понимал, зачем весь этот замут с фреймворком, XML, аннотациями и т.д. Я же буквально только что без проблем создавал объекты сам через new - а сейчас вы мне говорите, что это плохо. Почему?
Соответственно, чтобы понять какие-то вещи, которые имеют смысл в реальном промышленном использовании (но не имеют смысла в HelloWorld-программах) нужен проводник в этот самый мир промышленного использования. Будут это курсы или ментор - не так важно. Но как мне кажется среднему свитчеру освоить это самостоятельно будет запредельно сложно.
Более того, я вижу по собеседованиям, что иногда люди даже с опытом под 4 года в упор не понимают базис. Потому что попали на проект, где не было серьезных старших спецов, и пришлось вариться в собственном соку.
dkuzminov
11.12.2022 09:51-1Начать стоит с того, чтобы в детстве написать собственную игру, не обладая при этом ничем, кроме мотивации. Дальше все само сложится.
alexdesyatnik
11.12.2022 11:09+1У самообразования в контексте именно программирования есть один большой минус. Дело в том, что одну и ту же задачу можно решить по-разному, и не все решения будут одинаково хороши. Я имею ввиду даже не столько алгоритмическую сложность, сколько чистый код и правильную архитектуру. На маленьких учебных задачах, скорее всего, будет очень лениво заботиться об этом - и это при условии, что (а) студент вообще слышал про это и (б) способен отличить хороший код от плохого (что кажется маловероятным, учитывая очевидное отсутствие опыта).
0xd34df00d
11.12.2022 20:52+1Ответ простой: делать большие и продолжительные учебные задачи.
alexdesyatnik
11.12.2022 23:57+1Да, если есть ментор, который будет бить по рукам за говнокод. Собственно, вот и критерий годных курсов: большие и продолжительные учебные задачи под контролем ментора с актуальным продакшен опытом.
skozharinov
12.12.2022 01:41В большом учебном проекте некоторые виды говнокода можно определить самому по постепенно увеличивающейся до безумной сложности разработки
0xd34df00d
12.12.2022 05:08+1Время — лучший такой ментор. Со временем понимаешь, какие твои решения были удачными, а какие — нет. Что легко поддерживать и менять через год, а что — нет. Что легко понять и прочитать хотя бы через тот же год, а что — нет. Что приходится переписывать, а что — нет. Какие части кода пестрят багами, а какие — нет.
Markscheider
11.12.2022 11:24+1одну и ту же задачу можно решить по-разному, и не все решения будут одинаково хороши
Прямо с языка сняли!
Для себя я нашел решение: сначала делаю задачу, как умею, криво-косо (до состояния MVP), потом начинаю оптимизировать по памяти, загрузке ЦП. А потом смотрю - как сделали умные люди.
Leetcode все это позволяет, для меня на нынешнем уровне это идеальный инструмент. Не реклама :)
kwolfy
11.12.2022 12:09Соглашусь с мыслью. Безусловно, каждому свое и там и там есть свои плюсы/минусы, но встречал не раз на вид очень крутых разрабов после курсов, ответят на любой вопрос, пройдут собес чуть ли не на сеньера, знают нюансы в своей области, но шаг вправо/влево от идеальных условий и все ломается, простые баги не могут решать месяцами просто потому-что нет навыка "разбираться с неизведанным"
Open-JS Автор
11.12.2022 13:14По итогу часто оказывается, что выпускники курсов не плохо помнят теорию, но с боевыми задачами сложно справляются. И есть самоучки, которые плохо знают теорию, но хороши в практике, тк уже провели часы своей жизни в решении той или иной ошибки.
mgis
11.12.2022 12:50Процесс самообучения это когда ты хочешь написать что то на новом для себя языке. А в итоге пишешь код на совершненно новой для себя ОС в другом редакторе.
И да "пишешь код" я поторопился, прежде следуют сотни часов на ютубе. сотни часов за чтением мануалов и туториалов, тысячи проб и ошибок, тясячи пунктиуациооных ошибок из за которых ты весь код держал у себя в уме (задействуя колоссальные объемы энергии кстати) пытаясь проанализировать и понять в чем косяк.
А потом ты узнаешь, что оказывается есть дебаггеры, а еще что есть тесты.
Это все только юношеский задор может переварить. После 30 я бы в эту реку никогда бь не полез. Но да то было прекрасное время. Сейчас все для удовольствия, без фанатизма.
Лучше лишний раз перечту доку Питона, чем изучать очередной новый фреймворк.
conopus
11.12.2022 12:56А потом самоучку начинают экзаменовать, даже не на собеседовании, а на скрининге, -- и срезают. Потому, что вопросы могут быть очевидные для вчерашнего выпускника, но неизвестные самооучке. Меня, помнится, так отфильтровали с трехлетним опытом в написании автотестов, из-за того, что не помнил назначение оператора input в Python. На кой он нужен в тестах, которые будут запускаться в CI, я так до сих и не понял.
Open-JS Автор
11.12.2022 13:11Ситуация которую вы описали действительно существует. На мой взгляд это проблема не формата обучения, а проблема формата проведения оценки уровня разработчика. К подобным тестированиям нужно отдельно готовится. Есть даже термин "язык программирования для собеседования".
conopus
11.12.2022 13:24Совершенно верно! В моем случае, это принимает ещё и комический характер, поскольку люди требующие от меня знания техник тест-дизайна, сами не могут спроектировать тест, который не давал бы ложно-негативный результат. Т. е. это проблема, в общем случае, собеседующего, но она им как таковая почти никогда не воспринимается. В результате существует целая индустрия вокруг подготовки к собеседованиям: книги, курсы, услуги персональных инструкторов... Кажется они и есть единственная сторона, которая выигрывает от этого несовпадения культур.
Laurens
11.12.2022 13:06Хорошие курсы дают материал именно структурированно. Хорошо, когда учишься гуглить из-за сложного задания,а не потому, что объяснение материала составлено криво. Сам прошел несколько курсов.
Revertis
11.12.2022 16:50+2С чего стоит начать обучение программированию?
С изучения английского языка.
raamid
11.12.2022 19:06Вопрос из серии "ты кого больше любишь: маму или папу?". Или: "чтобы стать хорошим бойцом нужно быть сильным или быстрым?".
На мой взгляд, нужны все 3 пункта (с оговоркой что курсы могут быть и в виде роликов на Ютубе) и плюс четвертый: опыт реальной работы. В идеале - чередовать опыт реальной работы и обучение. Из своего опыта могу сказать, что сильнее всего мотивация к обучению именно тогда, когда на реальном проекте чего-то не знаешь но нет времени разбираться.
NineNineOne
12.12.2022 00:48Продажа курсов (на любую тему) - это классный бизнес, очень доходный при наличии хайпа по теме курса. Свой путь в iOS разработке я начал с курса одной грязной конторы, которая до сих пор активно рекламируется онлайн и офлайн, продает кучу курсов на все темы. Я дропнул этот курс через месяц после начала, как только выучил синтаксис языка.
Учился по гуглу путем разработки мелких приложений, каждое из которых можно сделать за пару дней. Идеи приложений брал просто от балды (менеджер паролей, новостной агрегатор, спидометр и т.д.). Примерно на 10м приложении начал ощущать больше уверенности в своих силах и устроился на работу iOS разработчиком.
Забавно то, что через 2 года после этого во время одного из собеседований мне попался автор того курса. Там была алгоритмическая задача и никаких вопросов, т.е. просто одна задача на сортировку массива. Этот собес длился 45 минут, автор курса не спросил меня ни о чем кроме способов сортировки массива (стандартные его не устраивали), что в очередной раз послужило подтверждением фигового качества его курса.
Mike-M
12.12.2022 03:01Автор не учел основополагающий момент — врожденную предрасположенность.
В комментариях об этом тоже никто не упомянул.
Есть люди, которые от рождения лучше воспринимают информацию с листа бумаги. Таким да, предпочтительнее самообучение.
Но есть немало и тех, кто лучше усваивает информацию на слух. Таким следует делать основной упор на курсы.
Помимо этого, не могу согласиться с автором в вариантах ответа на вопрос «С чего стоит начать обучение программированию?». Считаю, что должен быть, как минимум, один комбинированный вариант, например "Высшее образование + Самообразование".
И всё же, повторяя мысль первого абзаца, начинать обучение программированию стоит с определения собственной предрасположенности: визуал или аудиал.
DeepFakescovery
12.12.2022 11:34Курсы, учебники не дадут всей инфы.
Вы всё равно будете лезть в инет ( stackoverflow , форумы, офиц документация по языку ), чтобы найти решение для очередной проблемы, которых будет бесчисленное множество.
Получается вы сначала потратите время на фигню (курсы учебники), а потом начнёте осваивать принцип самообучения.
Lee_Fun
12.12.2022 13:14Самообучение лучше курсов на долгом горизонте. Особенно самообучение в коллективе профессионалов. А вот начинать (именно с нуля) лучше с курсов - там (если курс грамотно построен и действительно для новичков), как и в учебнике, информация даётся в нужном порядке.
mrkaban
12.12.2022 13:44На любом курсе по программированию не будет информации, которую вы бы не смогли самостоятельно найти в интернете.
Когда ты совсем начинающий программист, то любые твои вопрос предлагают идти читать мат. часть, а ты её прочитал, но все равно не понимаешь. Я сам разобрался, потратил на некоторые вопрос месяц чтения статей \ похожих вопросов на сайтах \ книг, но сам разобрался, а некоторые не могут. Вы скажите, что тогда программирование не их... но это ведь не вам решать. К тому же, даже если они не станут разработчиками серьезного софта, то может хоть смогут написать пару скриптов автоматизации для своих компаний. Уже КПД хороший.
И есть некое заблуждение, что после курсов ты будешь готовый программист, это не так и они этого не обещают. Они обещают трудоустройство и т.п. После курсов в любом случае тебе нужно будет еще набивать опыт.
PS: Я курсы не проходил, но говорить столько категорично, что они не нужны - не буду.
onets
12.12.2022 16:19Я прошел одни курсы по JS. И пришел к выводу - что они созданы для уже опытных программистов. Получился такой хороший ликбез или шпаргалка. Но я бы не стал программистом с нуля.
При этом 5 летняя программа профильном в вузе + самообучение по книге сделала из меня начинающего программиста. Но на мой взгляд из всей 5 летней программы - понадобились только некоторые курсы.
Введение в программирование - процедурный паскаль, сложить два числа, вывести на экран, метод/функция/подпрограмма
Системный анализ - сложная штука, но что-то в нем есть...
Высокоуровневые ЯП - делфи и ООП
Алгоритмизация - алгоритмы, сложность
Теория реляционных БД - таблицы, колонки, ключи, джоины, нормальные формы
Бизнез анализ, построение моделей "до" и "после", разработка информационных систем - тут собственно научили в каком порядке, что делать
Вот это все + толстая книга по C# на 1000 страниц + изучение документации на визуальные компоненты (DevExpress) и я самостоятельно по ТЗ сделал свое первое клиент-серверное (десктоп + БД) приложение, которым реально пользовались человек 80-100.
Ну а потом я уже узнал про паттерны, архитектуру и все такое.
c2ebe0e4
13.12.2022 02:14В целом согласен, что в принципе все обучение того, что мы можем назвать программированием обычно и эффективно решается самообучением, но все же по-хорошему может не столь хорошая идея курсы, сколько знакомые программисты, которые могут поделиться опытом, предложить поучаствовать в каком-то пете, хакатоне хотя бы ради веселья. Еще неплохо научиться разгребать чужой код в репозиториях, если хочешь сделать что-то похожее, но со своими идеями. Ты не только получаешь знания, но и узнаешь как нужно делать.
Zavodman
13.12.2022 02:14Любые курсы и стороннее обучение, это такие же инструменты. Конечно в целом они сделаны что бы заработать, а не сделать из тебя специалиста. Специалиста из себя можешь сделать только ты сам, главное уметь выбирать нужные инструменты для этого.
boogiedimik
13.12.2022 12:07знаете, есть такие сервисы по доставке набора продуктов и рецептов для самостоятельного приготовления. вот я бы сравнил нормальный курс с таким сервисом. а если у сервиса будет еще и сомелье, который расскажет, почему борщ получился кислым - то вообще шоколадно.
Zenj
Я учился сам. Тогда и курсов еще никаких не было. Была книжка по фортрану, потом раздобыл по ПЛ/1. А по ассемблеру и книжки не было, но был шкаф с документацией в предбаннике машзала.