Ответы:
Самообразование не просто хорошо , но необходимо, если вы хотите быть разработчиком выше среднего.
Единственный человек, ответственный за ваш профессиональный прогресс - это вы . Конечно, формальное образование, курсы обучения и т. Д. Могут помочь, но в конце концов, это ваша карьера.
Мне повезло, что я получил очень хорошее образование, и у меня были хорошие работодатели, которые поддерживали мое обучение разными способами. Тем не менее, подавляющее большинство того, что я узнал о программировании, я усвоил сам - много читал и больше практиковался.
Как правило, чем больше вы знаете, тем больше самообучения становится единственным эффективным способом научить себя чему-либо.
Курсы хороши, когда вы только начинаете с толчка, но после этого вы получаете убывающую отдачу в течение нескольких дней, сидя в классе, поскольку курс движется со скоростью самого медленного участника. Как только вы получите разумный уровень опыта, который почти никогда не будет вашим, вы всегда будете терять время.
Самостоятельное обучение, с другой стороны, позволяет вам ходить самостоятельно. Если вы что-то получаете быстро, вы можете скользить, если вы не понимаете, вернитесь и повторите это снова. Если вы думаете, что тема не имеет значения, вы можете игнорировать ее.
Чему я себя научил? В терминах вещей, которые я изучил с нуля: HTML, ASP, VB.NET, JavaScript, LotusScript, немного Python, немного Java.
Но на самом деле почти все полезное самоучка на работе. Вы можете изучать основы на курсе, но там, где вы действительно изучаете, он используется, поэтому я бы сказал, что 95% того, что я знаю (если не больше), самоучка.
Я самостоятельно изучил .NET, C #, ASP.NET и ASP.NET MVC.
Не то чтобы кто-то собирался учить их мне.
Самообразование является основой обучения программиста. Университет, коллеги, все они дают вам советы и подсказки, когда они вам нужны, но вам все равно придется изучать большую часть самостоятельно. Книги, блоги, статьи, документация, эксперименты о вашем личном времени, вот как вы учитесь.
Есть несколько аспектов самообучения, первым из которых является самостоятельное обучение, когда вы ищете знания и начинаете применять их на практике. Это может означать покупку некоторых книг, изучение открытого исходного кода, эксперименты до утренних часов или (обычно) все вышеперечисленное.
Однако в какой-то момент вам понадобится один или несколько наставников, которые проведут вас через предостережения, сложные темы, лучшие практики и основательные инженерные принципы. Эффективная самостоятельные обучающийся будет искать эти наставник гораздо раньше , чем позже, и получить его / ее код перед как много опытных людей , как это возможно.
Я изучил BASIC, Pascal, C, PHP, элементарную сборку x86, не посещая занятия, но это не значит, что у меня не было учителя, к которому можно было бы обращаться, когда он мне нужен. Итак, учитывая тот факт, что я многому научился у наставников, которых я нашел в сообществе свободного / открытого исходного кода ... Мне будет трудно сказать, что я узнал что-нибудь самостоятельно или самостоятельно .
Этот метод обучения является единственным методом, который работает для меня, выходит далеко за рамки изучения программирования.
Я думаю, что мы постоянно учимся вместе с работой.
Я изучил Struts, Spring и множество других Java-фреймворков с открытым исходным кодом и даже сам использовал Tomcat, когда работал над проектами Java / JSP. Компания не собиралась платить за это;)
И теперь это технологии, которые я использую в своей работе каждый день.
Пара случайных разговоров на эту тему ...
Как уже говорили все остальные, вам придется много заниматься самообучением по мере развития вашей карьеры. Одна вещь, которую я действительно не видел в этой статье, это то, что вам будет очень трудно найти эту первую работу без какого-либо формального образования в смежной области, особенно в период рецессии. Многие резюме проходят через «фильтровальную стойку», и, если там нет ничего с соответствующим образованием, она, вероятно, будет пропущена. Вы можете пропустить, если у вас есть много опыта, но это зависит от того, насколько внимательно кто-то читает ваше резюме (что, к сожалению, в первом раунде, к сожалению, не очень вероятно). Неясно, относится ли это к вам, но я уверен, что к кому-то это относится.
На некоторой (несколько) не связанной ноте самообучение - это здорово, но время для этого еще больше (и я бы сказал, что оно гораздо реже). Мы все как-то вписываемся в это, но если вам дают возможность каждый день уделять время изучению чего-либо, хватайтесь за него и держитесь изо всех сил.
Delphi. Я изучал Паскаль в старших классах и однажды увидел IDE, скачал несколько учебников и начал учиться. И сегодня продолжается учебный процесс. Когда вы учитесь самостоятельно, есть хорошие и плохие части: 1) самообучение - лучший метод обучения, потому что вы действительно понимаете, что там происходит (хорошая часть) 2) вы можете делать большие ошибки, неправильно понимая что-то / получая плохое привычка, а затем, если вы продолжите в том же духе, это очень трудно исправить. (плохая часть)
С наилучшими пожеланиями,
Раду
Вы должны понять, что вам не нужно держать руку. Вы должны быть в том месте, где вы можете взять книгу, посмотреть файл справки, найти учебник и т. Д. И узнать основные принципы, необходимые для вашей работы.
Кстати, это нужно для любой работы, а не только для программирования. Способ самообучения может отличаться, но вы должны это сделать.
Я изучил большую часть своих знаний C / C ++ в классе, но все мои другие языки программирования, всю мою теорию, все мое управление проектами и массу других знаний, которые делают меня хакером, я самоучка.
Как говорили другие, самообразование в нашей отрасли - это не просто хорошо, это необходимо . Это не то же самое, что водопроводчик или выпекать хлеб: технология постоянно развивается, и мы должны двигаться с ней или становиться неактуальными.
Стоит спросить: каковы последствия этого? Лучшие хакеры - это не просто обезьяны кода, которые выплевывают код, - мы уделяем время тому, чтобы изучить материал с большой картинкой. Алгоритмы, сложность, языковой дизайн и т. Д. Останутся с нами и будут служить нам хорошо, независимо от того, какой язык мы используем или для чего мы его используем. Я видел, как этот тип хакеров без особых усилий переходил из одной части технологической отрасли в совершенно другую.
Слишком много людей думают, что концепции «большой картины» стоят выше головы всех, кроме ученых, и я категорически не согласен. Если вы потратите время на их изучение, вы обнаружите, что некоторые из них уже интуитивно практикуются хорошими программистами, а остальные имеют смысл, когда вы с ними познакомитесь.
Самообразование необходимо, если у вас нет щедрого благотворителя, готового снова и снова поддерживать формальное обучение. Мне пришлось многому научиться за пределами классной комнаты, чтобы назвать некоторые из них побольше:
ASP и ASP.Net - это то, чему я должен был научиться на работе, потому что там, где я работал, хотелось заставить их переписывать новый сайт, используя их, и, таким образом, мне пришлось выбирать это самостоятельно, а не в классе.
IIS и MS-SQL Server - это еще одна пара вещей, о которых я узнал по мере необходимости, и поэтому я бы сказал, что я здесь самоучка. В то время как у меня были коллеги, которые могли бы помочь с вопросами, если я действительно застрял, просто подумав, это было чем-то еще в начале моей карьеры.
AJAX был бы кое-чем, что несколько лет назад я узнал на работе по исследованию фреймворков и попыткам привести их туда, где я работал, незадолго до запуска Microsoft ASP.Net AJAX.
В то же время опасным может быть только самообразование, поскольку не все хотят все делать таким образом. Для некоторых людей они могут хотеть больше структуры и не быть настолько независимыми в их обучении чему-либо.
@Kramii правильно; программистам придется заниматься самообразованием на протяжении всей своей карьеры
Q: Чему я научился самостоятельно?
Учение - это миф; учитель может только сделать информацию доступной, ученик должен выслушать и решить, учиться или нет, и чему учиться. Учитель может только показать вам путь. Другими словами, все образование является самообразованием
Теперь, если вы просто имеете в виду «что вы узнали за пределами классной комнаты, что было полезно», мой ответ был бы
потому что, когда я учился в школе, университеты в целом отставали от рынка на 12-15 лет в том, что они преподавали. Например, в течение дня университет «учил» меня процедурному программированию с использованием PL / 1, а ночью я писал на ассемблере объектно-ориентированный язык программирования.
С тех пор книги и Google являются моими учителями.
Видимо, все ответы согласны с тем, что самообразование - это все. Я не думаю, что это совершенно правильно. Хороший учитель может многому вас научить и особенно может научить вас быстро. Очевидно, что в какой-то момент вы должны взять дело в свои руки и начать исследовать, читать, пробовать. Даже книга написана кем-то (учителем) и пытается вас чему-то научить. Этот же человек может стоять в комнате и отвечать на все ваши вопросы, вместо того, чтобы заставлять вас тратить время на поиски. С другой стороны, если вы будете биться головой о стену, то извлеченные уроки будут очень ценными и вряд ли будут забыты.
Особенно для начала нового предмета я думаю, что хороший учитель очень, очень, очень полезен. И те, кто так увлечен самообразованием, должны заниматься самообразованием без википедии, без переполнения стека, без книг и без блогов ;-)