Для интересующихся этим вопросом, который я слышал не один раз, могу лишь поделиться собственным опытом (которого код наплакал). А вывод каждый сделает самостоятельно, так как никакого однозначного ответа просто не существует. Но прошу обратить внимание, что ниже будет мнение не айти-джедая с тонной опыта, а лишь начинающего кодована.
Не поздно ли начинать после (много) лет?
Как уже рассказывал ранее, решение об изучении программирования я принял лишь в 35 лет. Не из-за какой-то конкретной нужды, это больше мечта детства, которой я заболел во втором классе школы после просмотра фильма "Хакеры" с Анджелиной Джоли и опытами над ЭВМ "ZX Spectrum". Меня с раннего детства сильно увлекали компьютерные технологии, но жизнь свою я связал исключительно с гуманитарными науками, и к 35 годам от "айтишечки" отошел максимально далеко. Однако жизнь одна, и мечты совершенно точно необходимо реализовывать. Но, конечно же, я живу не только мечтами. У меня, как у взрослого человека, имеется и совершенно прагматичный взгляд на данную затею: для меня это план "Б". Я и сейчас более менее зарабатываю и в состоянии содержать семью, но жизнь меняется, и нужно соответствовать. Хотя бы на всякий случай. Поэтому учиться не поздно никогда, слишком старым для этого стать невозможно. А что касается программистов, они учатся всегда и в любом возрасте, так как технологии на месте стоять не хотят.
Как выбрать профессию в IT?
Только не методом тыка. Советую покопаться на образовательных платформах и прогуглить каждую профессию, на которую там предлагается выучиться. На некоторых можно даже пройти часть курса бесплатно. В общем, лучше хорошенько изучить вопрос, чтобы не потратить зря время и деньги. Меня, например, увлекает создание веб-приложений, ботов и всякой автоматизации, поэтому мой выбор- это программирование и backend, в частности. Хотите создавать внешнюю оболочку приложений и сайтов- вам во frontend. Хотите все это тестировать - QA тестировщики. И так далее.
С чего начать обучение и как дойти до конца?
Ответить смогу только на первую часть вопроса, так как ни до какого конца я еще не дошел. Если опустить весь путь принятия решения, остановился я на изучении языка программирования Python (все остальные языки программирования я тоже смотрел и крутил). Начал изучение с бесплатного курса на одной известной платформе, удивительно быстро его прошел, но форма подачи материала мне не понравилась вообще. Далее я прикупил тематическую книгу, но прочитав её чуть дальше чем до середины забросил это занятие аж на полгода. Если что, я дошел до главы по изучению ООП (Объектно-ориентированное программирование) и книга чуть не улетела в мусорное ведро, так как уничтожить беззащитную бумагу мне казалось правильнее, чем признать свою твёрдость. И только в начале 2023 года я собрался с силами и подошел к делу более серьёзно, прикупив еще литературы от других авторов и посматривая разные тематические уроки на самом известном видео хостинге. Но в итоге всё же оказался на платных курсах.
Однозначно, вся нужная информация есть в открытом доступе: книги, видеоуроки, видео курсы, тематические сообщества, чаты, всё это совершенно бесплатно. При должном упорстве найти можно всё и выучить тоже. Мне, например, больше нравится учиться по литературе, чем по видео, усваивается лучше. Но это всё индивидуально. По поводу курсов, ничего рекламировать не собираюсь, рассказываю только ощущения: мне офигеть как нравится. Я реально получаю удовольствие от процесса обучения, информации просто вагон и весь предоставленный материал точно стоит тех денег, которые пришлось отдать. У меня просто нет много времени, поэтому структурированная подача материала и общение со специалистами своего дела за денежку мне очень даже вкатывает.
Но самое главное, если мы говорим о программировании, нужно писать код. Прям постоянно и по любому поводу. Только так информация останется в мозге, через постоянную практику.
Как совмещать работу и учебу?
Наверное вы еще помните, что я уже не маленький, мне 36 лет, у меня семья, дети... Я должен обеспечивать безбедное и счастливое существование своего семейства, а в то же время еще и изучать совершенно новую для себя профессию. Как это вообще можно совместить? Ответ: просто можно. И скорее всего нужно. У меня сразу два места, где я работаю по найму, кроме того я индивидуальный предприниматель. Всё это приносит мне более менее нормальный доход, время забирает соответственно, но не критично. Каких либо проблем не вижу.
Безусловно, если бы я стоял у станка от зари до зари, то рассуждал бы иначе, но я не стою. А многолетний опыт работы без денег, личного времени, выходных, отпусков, да еще и с огромной ответственностью у меня имеется. Поэтому всем, кто "стоит у станка" могу сказать так: это дело хорошее, но всю жизнь заниматься таким делом не нужно. Всему должно быть свое время. Получил опыт - иди дальше.
Совмещать можно всё, если не искать сложности и оправдания, чем я сам люблю позаниматься. Но нужно мочить в себе никчемность и лень.
Нужна ли математика в программировании?
Да, нужна. Но я чистый гуманитарий и само слово "математика" меня пугает до трясучки. Однако не всё так страшно. Программировать можно и без математики, но если хотите сделать свой код эффективнее с помощью математических алгоритмов, придется кое-что вспомнить из школьного курса. Ну а если вас занесет в дата сайнс, соболезную. В общем вы поняли, математика нужна, но нет.
А статья уже немного затянулась и превращается в трудно перевариваемую простыню, поэтому пора заканчивать. Если у вас есть вопросы, пишите их тут или в "Чат почти программистов", там обсудить будет проще.
Если вы уже чуть-чуть или овер-много программируете, предлагаю подружиться на Гитхабе:
Но если вы не умеете пользоваться гитом, я опять приглашаю в чат.
Благодарю каждого до этого места дочитавшего и посылаю лучи бобра!