Приложение Т—Ж
В нем читать удобнее

«Вам нужно понять суть»: 5 сове­тов тем, кто самостоятельно изучает программи­рование

Рекомендации читателей
19
«Вам нужно понять суть»: 5 сове­тов тем, кто самостоятельно изучает программи­рование
Аватар автора

Елизавета Сопруненко

не стала программистом

Страница автора

Войти в ИТ без профильного образования в колледже или вузе сложно, но возможно.

Читатели Т⁠—⁠Ж дали рекомендации, как стать хорошим программистом-самоучкой. Присоединяйтесь к обсуждению и делитесь своими советами в комментариях.

Это комментарии читателей из Сообщества. Собраны в один материал, бережно отредактированы и оформлены по стандартам редакции

Лейбл заголовка

Изучайте технологию и то, какую проблему она решает

Аватар автора

Я из Миссури

все понимает

Страница автора

Я уже почти 10 лет работаю Java-разработчиком, самоучка.

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

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

Я, например, на своем последнем собеседовании не смог точно объяснить, как обрабатывается совпадение хешей  , но понимания принципов мне хватило, чтобы почти заново изобрести его.

По моему мнению, хороший способ получить такое понимание — это всегда изучать, какую проблему эта технология решает. Например, многострадальный Hibernate  , который многие, включая меня, ненавидят. Можно долго читать о том, как с ним работать, использовать его, но так и не понимать, зачем он нужен. Поэтому изучайте проблему.

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

Лейбл заголовка

Создайте реальный проект, чтобы практиковать навыки

Аватар автора

Никита Зимин

не бросает учебу

Страница автора

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

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

Аватар автора

Big Bug

делится идеями

Страница автора

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

  1. Драйвер Windows или гипервизор  для обхода сильных античитов  .
  2. Криптор исполняемых PE-файлов  для обхода антивирусных решений.

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

Лейбл заголовка

Изучайте бесплатный контент в интернете

Аватар автора

Алиса Селезнёва

училась бесплатно

Страница автора

Рекомендую два отличных бесплатных курса по основам объектно-ориентированного программирования на Python. Это лучшие курсы для айтишников, которые я видела. В них вся база — синтаксис, структуры данных, циклы:

Начните с них, ибо бесплатно, а то вдруг программирование не зайдет, и будете жалеть, что купили дорогущее обучение. А если захотите жести и алгоритмов, советую курс от Computer Science Center, тоже бесплатный.

Аватар автора

Михаил

смотрит видео

Страница автора

Найдите самоучители хороших авторов и каналы на «Ютубе» с обучающими видео. Признак хорошего автора или канала: материал разжевывается от и до, описание каждого оператора касается и его подкапотной работы. Там вам доступно объяснят различия тех или иных вещей, и вы начнете примерно понимать, что и почему следует использовать в конкретных реализациях.

Лейбл заголовка

Практикуйтесь на тренажерах

Аватар автора

ET C

не ограничивается зубрежкой

Страница автора

Начинайте с практики в виде тренажеров типа LeetCode с уровнями сложности и анализом решений. Что непонятно — гуглите, пока не станет понятно. Вам нужно разобраться в сути и научиться свободно применять информацию в дальнейшем.

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

Профиль с LeetCode и прочих платформ, кстати, можете указать в резюме. По сути, с первой минуты начнете формировать себя для рынка.

Лейбл заголовка

Проверяйте код с помощью ИИ

Аватар автора

Никита Зимин

уважает технологии

Страница автора

Сегодняшние студенты живут в прекрасном мире, где можно просто прислать ChatGPT или Claude ошибку. И с большой вероятностью они скажут, что не так, даже не видя код. Раньше процесс обучения порой был подобен аду, когда ищешь по несколько дней какую-нибудь ерундовую ошибку.

работаучеба
Елизавета СопруненкоЧто бы ​вы посоветовали тем, кто только входит в ИТ?
  • Vasya PupkinЯ по образованию инженер-механик. По специальности не работал ни дня - сразу "пошел в программисты", прием когда пошел ничего в этом не понимал (и даже не понимал, что не понимал, а то бы не пошел). Ну да пришлось учится на лету и довольно тяжело (помогло то что в то время на рынок выкатывались совершенно новые вещи для освоения которых профильное образование нафиг не нужно было) Честно гвооря я вообще к профильному IT образованию отношусь крайне скептически как к... недообразованию... Даже то фундаментальное что там преподают востребовано едва-ли 5% существующих рабочих позиций. А вот заниматься тем, чем обысно занимаются в ИТ компаниях в профильных учебных заведениях не учат совсем. Даже программированию там учат.. вот ей-богу лучше бы не учили этому совсем! И я сейчас не только про российские ВУЗы говорю - общая тенденция! Да вы конечно можете поступить в MIT, проучиться на кафедре ИИ 8 лет (это реальные сроки если что) и... это будет действительно круто! Но... вы будете ученым... возможно даже крутым, и почти наверняка востребованным. Но.. это не совсем ИТ (согласен это круто если сдюжите, но это даже не 5% - 0.001%!) А что насчет банального CS? да ничего! Вам там будет весело, вы узнаете множество интересных вещей которые вам скорее всего нигде не пригодятся, а работу будете искать как.. как человек который нихрена не умеет. Лечится очень просто - студент должен работать! прямо с первого курса. Возможно даже бесплатно. И это единственный способ войти в ИТ - университет вам может добавит уважения (плюс ВО все равно карйне желательно получить - все равно какое, а если повезет то и не одно), но не является обязательным. так что.. самообразование + практика. Не важно где вы учились или учитесь. Если вам таки потребуется более глубокое изучение фундаментальных дисциплин, просто пойдете учиться без отрыва от производства - именно когда потребуется. Моя дочь позавчера получила сообщение из университета Хельсинки, что она принята на программу обучения по специальности биохимия (это еслди упрощать). Но при этом она еще в школе прогла университетский курс программиирования на питоне, а в последний год училась в школе программирования (golang, JS/TS) и уже месяц работает как стажер с оплатой 25 евро в час (да это не много, но это вообще-то первая оплачиваемая работа, плюс... ну.. поэоже делать ей там особо ничего не надо - только учиться - 15-20 часов в неделю). Как связана университетская специальность и программирование? Никак! Программирование это ремесло, которое пригодится, а иногда и требующееся в почти в любой профессии требуюшей ВО (даже гуманитарной). А вот программирование без опыта/знаний в какой-то другой области/профессии на сегодняшний день обладает крайне низкой ценностью - учитывайте это и используте то что у вас есть или то что сравнительно легко можете получить2
  • Zufalligeule1. Выбрать приглянувшийся язык из наиболее популярных и изучить пару самых базовых уроков. 2. Найти среду разработки, которая работает "из коробки". Особенно, если вы собрались пробовать что-то сложное вроде С++. 3. Попытаться сделать на нем что-нибудь, что выглядит для вас интересным и реализуемым. Вне зависимости от того, нужно ли оно кому-то ещё. 4. Не понравился язык? Возвращайтесь к п.1. Если язык нравится - повторяйте п.3, периодически увеличивая сложность задачи.1
  • sn1pejkeeeЕсли хотите, как профессию, то выбирайте что-то ещё. Рабочие места сокращаются, агенты перекраивают рабочий ландшафт, неизвестно, сколько вообще останется людей в области всего через несколько лет. Если просто для себя что-то сделать, то вам хватит подписки на любую сильную ллм без особого понимания, что она делает. В российском айти ловить абсолютно нечего. Не тратьте свое время.0
  • Елизавета Сопруненкоsn1pejkeee, что бы вы посоветовали?0
  • Vasya Pupkinsn1pejkeee, по поводу российского ИТ полностьб согласет, а пот насчет "подписки на любую сильную ллм без особого понимания, что она делает"... ну что-ж вы явно демонстрируете это самое "без особого понимания" Программирование превращается из профессии в прикладной навык который неоходим в очень мноших профессиях - ну все наверное слышали, что когда-то умение читать и писать было профессией. А сейчас это обязательный навык обязательный в любой профессии. Так-же и с программированием... при этом профессия раработчика ПО никуда не исчезнет (также как и сейчас умение читать и писать в определенном смысле тоже может быть основой тех или иных профессиий), но при этом содержание этой (правильнее сказать "этих") профессиий будет изменяться - уже меняется. А производительность труда там резко вырастет. Будет ли сокращаться количество вакансий? поначалу да (на протяжении пары лет), но потом опять начнет расти. Будут ли расти зарплаты? у основной части разработчиков - нет. у 3-5% будут и сильно. Еще процентов 10-15 - умеренно. Это все носители неких доменных знаний0
  • sn1pejkeeeVasya, пока у меня оптимизма нет. Сокращения в огромных темпах и числах, рейтинг хедхантера бьет все рекорды. У нас был спущен сверху план, что нужно закрывать на 50% больше сторей урезанным на 30% коллективом. Если агенты покажут себя еще лучше, то будут резать еще больше. По поводу "без особого понимания". Условно, если нужен бот в мессенджере или какой-то лендинг, то можно просто навайбкодить его и все. Необязательно уметь понимать код, на котором он написан.0
  • sn1pejkeeeЕлизавета, делать что-то вне диджитала, требующее уникальных умений и труднозаменямое. Сантехники, например, чувствуют себя очень хорошо по отзывам.1
  • Игорьsn1pejkeee, не секрет если, чем ваша компания занимается и на каком стеке ваша команда сидит?0
  • sn1pejkeeeИгорь, зеленый банк, Котлин и обычная джава компания(спринг, Кафка, посгря и прочее). Сейчас надо сюда еще и агенты включать, наверное?0
  • ZufalligeuleПредлагать новичку написать гипервизор или драйвер, чтобы не терять интерес... Я не пойму, это толстый троллинг или тонкий?14
  • ВладиславVasya, "Честно гвооря я вообще к профильному IT образованию отношусь крайне скептически как к... недообразованию." А я наоборот отношусь к "самоучкам" скептически как к... недоспециалистам. У меня был тимлид, который раньше был преподом информатики. Вроде профили схожие с IT, но студенты с профильным IT образованием в его подчинении знали что такое чистая архитектура, а он нет и на code review у него пятая точка горела от того, что я использовал константы вместо магических переменных. Срачи с ним были постоянно и он буквально мешал нормально кодить.6
  • ВладиславСтранно, что до сих пор кто-то валится на вопросах про Hashmap и Hibernate?0
  • Николай АлексютенкоVasya, у вас и нет профильного образования, так откуда вам знать его пользу? Там дают базу, основу и саму суть программирования4
  • Vasya Pupkinsn1pejkeee, Степень оптимизма определяется не фактами, а сложившимся психотипом конкретного человека На, вот прямо сейчас люди далекие от самого процесса разработки ПО - это все ИТ менеджеры, за исключением т.н. линейных менеджеров испытывают эйфорию от ИИ. На их неискушенный взляд продвинутый аналог HelloWorld который генерится загадочной сущностью прямо на их глазах это чудо, которое просто обязано принести тонны бабла при замене кожанных мешков. Но эти люди "стратеги" - тот факт, что к ИИ должен прилагаться кожанный мешок который достаточно умело объяснит ИИ что ему нужно сгенерить, если задача чуть сложнее Hello Wold с их точни зрения малозначимые подробности (70% уволим, остальные будут "объяснять" - профит!) Но это пройдет. Причем достаточно быстро - на горизонте двух лет (собственно как только "пузырь" лопнет, так постепенно и начнет проходить). И все устаканится - ИИ будет восприниматься как то чем он собственно и является - инструментом, которым нужно уметь пользоваться Разработчики повысят производительность труда (т.е. степень их эксплуатации увеличится), какие-то профессии исчезнут или поменяют свою суть, появятся новые (да уже появились!) и... потребность в людях в отрасли скорее всего увеличится. Все очень просто - увеличиватся производительность труда -> себестоимость продуктов снижается (ну скажем в пересчете на строку кода) -> увеличивается потребление -> расширяется производство Все вышеописанное это не про РФ. Если говорить именно о РФ я вообще ничего хорошего там не просматриваю на горизонте 30-50-ти лет (чудеса случаются, но обычно стоят очень дорого) Однако стоит упомянут еще один фактор который приводт к сегодняшним сокращениям (впрочем надо сказать, и найм вполне себе живехонек, но там есть особенности): Деле в кризисе... Том самом который начался с ковидных ограничений и продолжается по сей день. Да развитые страны поначалу сумели купировать негативные эффекты. Но это исключительно за счет займов и печатаний новых денег (впрочем в современной экономике это почти одно и тоже) - экономику просто залили деньгами и тем самым поддержали спрос, а заодно избежали резкого снижения уровня жизни начеления - что впрочем было главной целью. При этом сразу говорилось, что за это прижется долго расплачиваться а уровень жизни все равно будет снижаться но во первых потом, а во вторых достаточно плавно и медленно. Вот собственно так оно и происходит - расплачиваемся. Потом подтянулсиь прочие негативные факторы, среди который на первом месте военные действия в европе и на ближнем востоке. Как это относится к ИИ? самым непосредственным образом - сейчас я открою вам эту тайну! Дело в том, что основной драйвер развития ИКТ и смежных отраслей это инвестиции. ОЧЕНЬ больщие инвестиции (муммарно) Вроде бы очевидно, да? Но вот кто эти инвестиции делает? Ну понятно-де - инвестиционные фонды (ну не только, но в основном они)! Вроде тоже понятно. Но откуда у инвестиионных фондов бабки? Ну.. от акционеров вестимо! А почему акционеры отдали свои деньги инвестиционным фондам? Дык-ть! ежу понятно - чтобы получить прибыль! И вот тут можно отбросить всю промежуточную цепочку - есть акционер - как правило частное лицо или частная организация, которая вкладывает деньги в ИКТ через паосредников, чтобы получить инвестиционных доход. А когда он хочет его получить? ну понятно-же - как можно скорее! Теперь вернемся к инвестционным фондам - оные вкладывают куда-то денги как правило на срок порядка 5-ти лет. Да бывает больше или меньше но это должно как-то обосновываться. Как правило ИФ хочен продать приобретенные доли через 5 лет с прибылью (за эти 5 лет ИФ много что делает с покупклой, но обычная операция слияние нескольких компаний в одну с целью увеличения общей стоимости активов). Самое лучшее чего может желать ИФ это публичный листинг акций компании (т.е. компания превращается в ОАО акции которой торгуются на той или иной бирже). Но и просто пеерепродажа тоже неплохо, если с прибылью. И побольше! Итак что мы имеем - а имеем мы кризис который начался в 2020-м и продолжается по сей день (конец уже просматривается, но это не завтра). Во время кризиса стоимость активов как-то не сильно растет. А порой и падает. Про листинг акций вообще можно забыть (с точки зрения макимизации доходои ИФ листинг должен проводится на растущем или хотя-ты спокойном рынке). Представте себе ИФ которые делали вложения в 2017 году к примеру. Если продавать активы то хорошо если убыток не получишь - какая уж тут прибыль. Соответсвенно общая прибыль ИФ падаем, падает и стоимость акций ИФ, и соответсвенно это негативно влоияет на фондовый рынок в целом. Что делать в такой ситуации ИФ? ну... пытаться продать по наилучшей цене (есть и другие статегии, и они тоже порой применяются, но это сейчас редкость). Как получить наилучшую цену? Чтобы и прибыль какую-то получить? Ну способов много, но самый очевидный - повысит бухгалтерскую прибыльность компании которую пытаются продать, тем самым увеличив ее привлекательность в глазах потенциальных покупателей и как следствие увеличить оценку, Как повысить прибыльность компании? Тут два способа - увеличить продажи или уменьшить расходу. Первое понятно дело такое - могли бы увеличити без всяких выпендрежей. А вот с расходами все интереснее! Да с 2020-го многие сократили офисы или вообще от них избавились (упала прибылт фондов инвестирующих в недвижимость, соответсвенно их акции и... ну вы знаете - фондовый рынок тоже почувствовал). Но самая главная статья расходов в развитых странах это.. Правильно - персонал! Увольняем персонал, сокращаем оценку будущих расходов (текущие расходы не важны, поэтому компании часто щедры в выплате компенсаций персоналу). Но увольнение персонала, особенно массовая дело такое... это всегда воспринимается рынком негативно - раз увольняют персонал, стало быть укомпании дела идут не важно. И тут.. ИИ! Бинго! мы не просто увольняем персонал, а оптимизируем процесс разработки и бизнес процессы! Т.е. мы таким образом внедряем суперз-пупер инновации а увольнения это побочный процесс, причем процесс который теперь можно представить как позитивный! Да в компании теперь некому работать, техдолг растет стремительными темпами, снижается качество, нарастает бардак (которого и раньше хватало) но... расходы снижаются, а если компанию удастся продать, но это уже головная боль покупателей. Чем все это закончится? ну.. тем к чему и стремились - ИФ в основном перепродадут свои активы - с прибылью ли с убытками-ли - как получится, и новые покупатели будут вынуждены решать вышеописанные проблемы. Ну во первых вкладывать новые инвестиции непосредственно в копленые компании, а во вторых. ну.. будут нанимать персонал чтобы разгребать вот это вот все... Когда? ну.. как я написал выще - в течение пары лет. И скорее всего сначала лопнет ИИ пузырь - это будет как пы предвестником восстановления мировой экономики (на самом деле он может и не лопнет - всегда есть вероятность каких-то технологических прорывов которые могут оправдать сделанные инвестиции. И что-то такое тоже уже проспатривается по нескольким направлениям, но... туманно) И да сразу поясню про "а как-же крупныешие компании" - FAANG, MAMAA и прочий бигтех - при чем тут инвестиционные фонды - они вроде как сами себе инвестиционные фонды (если утрировать). На самом деле никакой разницы нет - их акции торгуются на рынке и важнейшим фактором их стоимости является оценка прибыльности компании. Но им на самом деле проще - они могут просто закрыть проекты или направления котрые признаны недостаточно перспективными, а людей перебросить на другие или прсото уволить (на самом деле, когда мы слышим о том, что какой-то техногигант сокращает столько то тысяч персонала, довольно часто речь идет не только о физическом увольнении сотрудников, но и о сокращении оргштатного расписания - т.ею сокращают позицию, а человека могут не уволить а перевести на другую должность)0
  • Дмитрий Соколов> Не все сеньоры смогут с ходу ответить, как конкретно работает HashMap. Все. Ну либо «сеньорами» в наше время считаются уже такие кадры, которые ещё лет пять назад чисто на минимум для джуна с трудом натянули бы.0
Сообщество