Как систематизировать знания?

Всем привет!

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

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

Знаю, что задаю вопрос не самым понятным образом, но может, кто сталкивался с подобным? Может, кто-нибудь знает, что почитать, чтобы все структурировалось как-то в голове? Литература, может, какая подойдет или видеоуроки?
Уверение, что со временем это ощущение само пройдет, тоже подойдет:)
  • Вопрос задан
  • 1499 просмотров
Решения вопроса 1
есть ощущение, что какой-то большой пласт теоретических знаний упущен

Это прекрасное чувство «голода» к знаниям.

Порекомендую практику: писать (свой) проект, параллельно читая код другого «хорошего» проекта. Списывать, копировать — понимая.

Если сталкиваетесь с невиданным явлением, термином, продуктом, паттерном — остановиться, погуглить, разобраться. Спросить.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
Adamos
@Adamos
Да все мы самоучки и пропустили "небесный инструктаж", как это называет Ричард Бах.
Ощущение неполного понимания обозначает границу между тем, что вы действительно освоили, и тем, что еще нет. По мере накопления опыта граница будет расширяться, но не исчезнет никогда. Комфортно и уверенно вы будете себя чувствовать только в задаче, которую решаете не в первый раз.
Добро пожаловать в профессию ;)
Ответ написан
@mletov
Прочитайте какую-нибудь книгу, которая считается авторитетной в той области программирования, которую вы для себя избрали. Я вот, например, когда начинал писать на C#, бездумно копировал с SO примеры с использованием List<T>. Но при этом даже близко не понимал что это, еще и ругался про себя "опять эти непонятные уголочки, интересно, что они значат". А потом прочитал Албахари, ах вот что это, обобщенный класс, а их, оказывается, еще и свои можно писать. Как сколько нам открытий чудных...

Сходите на собеседование, на собесе как раз часто всплывают вопросы, на которых копипастер, который пишет вроде бы работающий код, но без понимания, валится, а знающий человек - нет. Как более мягкий вариант - погуглите вопросы для собесов по вашей сфере, и, разумеется, ответы на них поищите.
Ответ написан
Комментировать
@AndromedaStar
.Net - monkey
Просто начните писать большой учебный проект, а ту теорию, которую вы учите попытайтесь синтетически включить в свой проект. Это самое лучшее решение по моему опыту.
Ответ написан
Aleksandr-JS-Developer
@Aleksandr-JS-Developer
Лучше проще, чем никогда
Как многие уже написали, начните делать свой проект, вам нужен опыт в создании комплексной системы, а не отдельных коротеньких задачек.
Кстати, по неопытности, вы будете делать куски приложения, которые за вас уже сделаны в виде библиотек, фреймворков, паттернов. И это хорошо. Если человек сам осознал проблему, то инструмент зайдёт крайне быстро и понятно. Всегда проще изучить инструмент, а не технологию.
Когда закончите проект подумайте, есть ли такие объёмные места, которые писали вы сами, где решение вообще не привязано конкретно к вашей задаче, а носит универсальный характер. Если такие есть, то знайте, что инструмент (библиотека, фреймворк и т. д.), который решает вашу проблему, уже был давно написан. Если такого инструмента нет вообще, то это звоночек, что вы сделали (с вероятностью ~100%) какую-то дичь полную и нужно внимательно проанализировать вашу работу.
Ответ написан
@Nameisconfidentialinfo
За что-то даже платят
Вроде бы по отдельности все элементы понимаю, а в единую картину мира ничего не складывается, начинаешь читать про одно, но в какой-то момент оно переплетается с другим, а там знания уже не дотягивают до нужной планки, и получается какой-то замкнутый круг.

Это нормально. Подобные моменты можно минимизировать(но никогда не исключить полностью) только в случае наличия очень крепкого, постепенного изучения "базы" с которой потом происходит переход на другие уровни. Такой подход преобладает в универе. Но т.к. вы являетесь самоучкой, то он либо недоступен либо непривлекателен. Поэтому стоит в таких ситуациях просто докапываться до сути не понятных вам вещей. Со временем, расширите кругозор, наберётесь знаний и непонятностей станет значительно меньше т.к. многие области пересекаются в используемых технологиях/подходах и т.д.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы