Здравствуйте! Я увлёкся программированием (сейчас обучаюсь на факультете IT на 4 курсе). Сейчас себе поставил цель за год-полтора выучиться до уровня джуна — чтобы попасть на первую работу.
Решил, что хочу развиваться в backend'e. Выбрал такой стек: C#, ASP.NET, sql. Постепенно буду осваивать и новые технологии.
Многие говорят, что нужно изучать не язык программирования, а само программирование, нужно научиться решать задачи. Погуглив и полистав этот ресурс, многое для себя узнал нового. Осознаю и даже уже замечаю, что каких-то фундаментальных вещей мне не хватает. В общем, что я хотел спросить-то...
1) Я узнал, что в первую очередь нужно освоить алгоритмы, структуры данных, ООП, парадигмы. Есть ли ещё что-нибудь фундаментальное, что нужно освоить? И можете ли посоветовать лучшую, на ваш взгляд, литературу по всему этому? Да, в инете всё можно найти, я читал статейки на подобные темы, но ответ от опытных специалистов всё-таки считаю более ценным.
2) И ещё у меня такая проблемка: логическое мышление оставляет желать лучшего (мягко говоря). Можно ли его натренировать, занимаясь непосредственно программированием или же нужно пробовать какие-то другие подходы? Заранее благодарю за ответы!
3) Стоит ли учить теорию? Да, самое главное - практика. Но в тоже время теории тоже немало. Наиболее главную информацию я конспектирую в тетрадь, чтобы информация лучше откладывалась в голове (я - визуал). Как считаете, не глуп ли такой подход?
Другие языки программирования и технологии
Как правильно учить программирование?
Иди в колледж там научат
есть старый хороший задачник "Этюды для программистов", автор Чарльз Уэзерелл
В очередной раз читая подобного рода вопрос никак не могу понять, о какой теории люди спрашивают? Если взять список читаемых курсов из списка дискретной математики, то становится понятно, что все они наполнители мозга разными несвязными знаниями. По сути - это одноразовые инъекции антибиотика, которые помогают далеко не всем. Пользоваться знаниями и сдать по ним экзамен абсолютно разные процессы.
Для подавляющей массы людей, получивших диплом бакалавра, это всего лишь ритуальный обряд и не больше.
Использовать знания н-р ТМО посчастливиться ничтожной доли %, тех, кто по предмету сдал экзамен (или зачёт)
Погромство нельзя выучить, это ремесло, ручной труд
Ну и традиционно у ТС забавное подыгрывание своим "особенностям" (визуал, логическое мышление оставляет желать лучшего) - укатайка.
Для подавляющей массы людей, получивших диплом бакалавра, это всего лишь ритуальный обряд и не больше.
Использовать знания н-р ТМО посчастливиться ничтожной доли %, тех, кто по предмету сдал экзамен (или зачёт)
Погромство нельзя выучить, это ремесло, ручной труд
Ну и традиционно у ТС забавное подыгрывание своим "особенностям" (визуал, логическое мышление оставляет желать лучшего) - укатайка.
Да, практика безусловно необходима. Но программирование - это не умение написать код, а умение найти из множества разных способов решения задачи оптимальный для данных условий. Но для этого сначала надо увидеть эти способы, а потом оценить их пригодность в этом конкретном случае. И без знания теории это сделать невозможно. Именно алгоритмы и структуры данных - та самая теория, необходимая для написания эффективного кода: не заучивание алгоритмов наизусть, а понимание их свойств и границ применимости. А ООП и паттерны - это всего лишь способы удешевления написания кода: да, знание необходимое, но только во вторую очередь.
Проблема обучения на своём проекте в том, что у тебя нет критика, который может оценить принимаемые тобой решения, указать на их недостатки, показать, где ты ошибся. Самостоятельная практика может научить писать код, но не может научить писать качественный код. Наилучший вариант - наличие ментора (преподавателя, репетитора, более опытного разработчика, проводящего Code Review). Для самостоятельного развития неплохо помогает чтение чужого кода - с анализом того, почему он написан именно так, своими вариантами решения этой задачи, сравнением своих решений с чужими.
Роберт Мартин - это хорошо. Но это про то, как оформить найденное тобой решение задачи в хорошо читаемый и легко модифицируемый код. Не про то, как искать решения задач, а про то, как использовать ООП и паттерны в написании кода.
P.S. Попробуй заглянуть в книгу "Принцесса или тигр" - это не программирование, а сборник занимательных логических задач: хорошо помогает в развитии логики.
Проблема обучения на своём проекте в том, что у тебя нет критика, который может оценить принимаемые тобой решения, указать на их недостатки, показать, где ты ошибся. Самостоятельная практика может научить писать код, но не может научить писать качественный код. Наилучший вариант - наличие ментора (преподавателя, репетитора, более опытного разработчика, проводящего Code Review). Для самостоятельного развития неплохо помогает чтение чужого кода - с анализом того, почему он написан именно так, своими вариантами решения этой задачи, сравнением своих решений с чужими.
Роберт Мартин - это хорошо. Но это про то, как оформить найденное тобой решение задачи в хорошо читаемый и легко модифицируемый код. Не про то, как искать решения задач, а про то, как использовать ООП и паттерны в написании кода.
P.S. Попробуй заглянуть в книгу "Принцесса или тигр" - это не программирование, а сборник занимательных логических задач: хорошо помогает в развитии логики.
Это всё бесполезно, только адская работа в команде поможет. Причем лучше, чтоб ты соглашался на любую работу вплоть до того, чтоб поднести кофе сеньор разработчику или системному архитектору. В идеале не тебе должны платить, а ты должен платить, чтобы иметь возможность с ними обучаться скиллам. Книжки такому не научат.
Короче, чтобы стать крутым врачом, надо сначала научиться мыть полы в операционной.
Ещё советую начать свой проект. Напиши с нуля интернет магазин. Много шишек набьешь, полезнее будет.
А уже потом читай Роберта Мартина.
Короче, чтобы стать крутым врачом, надо сначала научиться мыть полы в операционной.
Ещё советую начать свой проект. Напиши с нуля интернет магазин. Много шишек набьешь, полезнее будет.
А уже потом читай Роберта Мартина.
Похожие вопросы
- Со скольки лет учить программирование?
- Вообще не когда не понимал людей которые учат программирование именно ради заработка (Внутри весь крик души)
- Стоит ли учить программирование, если оно не интересно ни капли?
- Стоит ли учить программирование, если всё равно всю жизнь не проработаешь по этой профессии?
- С чего начать учить программирование?
- Как вы учили программирование?
- Стоит ли учить программирование, если надо, но оно не интересно?
- Учить программирование по системе (50 минут учеба - 10 минут отдых) - нормально так?
- Прочитал статью великого хакера. Пишет, "учите программирование по исходному коду, к примеру, начните с изучения
- Хочу начать учить программирования, каков алгоритм моих действий?