Я живу на дальнем востоке. С программированием здесь ужасно. ВУЗ отнимает практически все время. Каждый день по 4 пары - это, примерно, в 8 часов утра ушел, пришел в 15 дня. Пока поел (в универе даж с едой проблемы) - это уже 16 часов дня, особенно если живешь в общаге, где все самому надо делать. В итоге, ни фриланса тебе не видать, ни учебы хорошей с толковыми примерами (по сути все сводится к тому, что ты теряешь время в универе, приходишь домой, изучаешь сам летописи 80-90х годов и делаешь, это в лучшем случае, кто мож знает visual prolog), ни работы в реальном окружении каким-нибудь официантом (препода так и говорят, ты либо работаешь, либо учишься, и ты им докажи что на 5к стипендии ты не можешь жить, часть из которых уходит на телефон и интернет), ни личной жизни (про нее забудь, ты поступил в некрополис, в мертвый зиггурат).
Все это время на парах ты тупо деградируешь. Тебя ничему не учат и ты ничего не делаешь. Две из пар это лекции, как правило. На практиках, как правило к преподавателю выстраивается очередь как в кино, и ты опять сидишь ждешь. Иногда удается уйти в книги, в основном, в классическую литературу, но если ты читаешь что-то техническое, по написанию ПО, то тебе нужно выделить заметки, как минимум, а то и протестировать пример, чтобы увидеть как он работает. У тебя ничего нет, на смартфоне ты ничего не сделаешь, это проверено).
Я бы посчитал, что выгоднее на моем месте было пойти в армию, отдать год родине (сейчас я кафедру закончил, если вылечу с универа, что уже практически нереально, то отправят, а так военник и звание запаса). Прийти с армии, устроится на работу 2/2. Два дня работать, два учиться самостоятельно. Читая книги, пробуя строить новые проекты и т.д. Если все успешно пойдет, то уйти на фриланс.
Но это очень ламповый вариант (поиск фриланс работы может занять пол года). Ни у кого нет хребта в себе. Еще ни разу не видел, чтобы человек был с бесчеловечной железной волей (иронично звучит даже). Которому было бы наплевать на проблемы других, но в первую очередь и свои, все время посвящать такому режиму, целый день у ПК. Проснулся, за книги и комп, каждый день пишешь код, смотришь на время уже вечер и ты идешь спать по расписанию. Все действия по расписанию. Завтра также, после завтра также и т.д. Бесконечный день сурка. Так еще и в конце пути не факт, что тебя ждет успех.
Теперь, далее. Что ж дает вышка. Ну, по крайней мере, это уже что-то, что может рассказать о человеке, чего он добился в жизни. Строит доверие к человеку (ммм… у него есть диплом, ну видно, что не совсем потерян, должно быть что-то да умеет). На оценки всем плевать, еще ни разу не видел такого в сети, чтобы кого-то из-за троек не взяли на работу. Знакомства, это тоже не мало важно. Кто-то здесь, кто-то там поможет - это уже выгодно.
При устройстве на работе - это важная деталь. Может послужить прибавкой к зарплате, разрядам и т.д. Это уже хорошо. При том, диплом обязательно должен быть техническим. С ним можно работать в любой области или с помощью него можно получить нужны диплом, пойти получив второе высшее (при этом общеобразовательные дисциплины упрощаются и тебе не надо сдавать многое). На заводах, куда я после учебы собираюсь пойти работать (сейчас еще полтора семестра осталось отучиться) вышка есть у всех, у кого ее нет, тот ее получает. Это считай там обязательный критерий, если ее нет, то ты так и останешься рабом, причем самым низшим в цепи.
У тебя на самом деле много вариантов пути. Но все они зависят в конечном итоге от образования, это важный этап, без него только кулцхацкеров берут на работу (и то без достойно зарплаты). Поэтому я бы посоветовал идти учиться. Но не прям вот тупо, как я на бюджет (это уровень сложности хард). А также пойти работягой, на какой-то завод, который занимается, ну скажем отраслью, которая тебе понравится. Поработать там, вникнуть в технологические процессы, возможно к этому душа ляжет и сумеешь освоиться (нефтехимия, металлургия и т.д.), технологи очень ценны, редки и получают очень здорово. Самое главное на заводе у тебя будут РЕАЛЬНЫЕ учителя, не те псевдо-учения в вузе. Также есть и область автоматизации процессов (туда я и хочу попробовать уйти на пару лет, даже самым низшим помощником). Там программирование не то, как писать софт, приложения для телефонов gamedev и прочее. Тут реально работаешь с объектами. Ошибка - стоит много денег, да в принципе, как и в любом месте завода.
Так вот, как получить вышку и работая на заводе? Ну, тут только внебюджет, но на ОЧНУЮ форму обучения (я когда поступал в универ вообще не знал этих понятий, да и вариантов у меня не было). Есть такая штука, как целевой конкурс. Ты заключаешь договор с заводом, потом учишься, работаешь на завод несколько лет (отрабатываешь) и все, больше никто никому не должен. Там даже по-моему, 100-200 рублей к стипендии уйдет. Для того, кто читает и он еще не поступил в универ и не сходил в армию, скажу, что можно даже на военную кафедру попасть и даже звание с отсрочкой получить. При этом, на этой специальности преподаватели должны лояльно относиться к твоим постоянным пропускам, иногда такое есть (вот у меня сосед вообще на бюджете учился, работал, получая по 15к монтером прокладывая кабель интернет, ходил редко, но спокойно отучился. я аж ему завидовал. когда он сидел в батлу играл, а я в учебе все это время). В общем, тут лучше в середине учебного года прокладывать тропинку, спрашивая на всяких подслушано пабликах, кто учиться на данных специальностях.
Есть еще фишка, что можно взять “проект”, тебя освобождают от учебы, кроме каких-то пары предметов, и ты делаешь проект для университета. Кто-то в этой теме реально трудиться, кто-то ток с деканом договорился и он на сессии ходит им зачеты проставляет. В итоге, ты делаешь черную работу универу или декану в карман и живешь спокойно.
Ну, а даже почитав в этой теме посты, почитать о иммиграции на запад, для того же USA нужен диплом бакалавра, как минимум (но я не знаю, в америке вообще цена у твоей бумажки есть, это по сути условность, как здесь или действительно многое значит). Это одно из условий для получения визы. Ты даже английский не должен знать (читая из соседней темы), но ты должен иметь подтверждение того, что ты действительно владеешь навыками (я так понял, там законодательная система так сделана, чтобы работодатели, локально находящиеся в США, не могли всех подряд гастарбайтеров переводить в штаты).
Теперь немного, о том, что ты за специальность выбрал. Основы для всего можно сказать одни. Но на разных направлениях, разные логики работы - нужно разное мышление. Нужно уметь переключаться динамически с одного на другое. Чтобы освоить очень отлично и умело какой-то один язык на уровне junior’а нужен, примерно, год того режима, что я описал. Такое даже в армии не достигается никем. Чтобы освоить, помимо языка, какие-то инструменты - это еще, примерно, год, при том же темпе и уровне задрачивоемости (уж не знаю насколько тут цензурно, но тут уместно). Пока ты наберешь нужны стек технологий уйдет много времени. Столько, что твоя жизнь может бесповоротно измениться, точка не возврата будет пройдена. У тебя не будет выбора больше заняться чем-то другим. В тридцать лет осознать то, что ты занимался не тем, что действительно тебе бы хотелось - разочарование всей жизни.
Программирование - это не шаблонность, тут все сам сводишь к шаблонности используя все доступные инструменты. Хочешь узнать, чем ты будешь действительно заниматься? Прочитай Макконнелл совершенный код - в гугле все бесплатно находится. Книга как раз для старта и для осознания многих вещей, примеров, философии, культуры и т.д. И притом, следуя из книги, как примера, можно понять, что какую бы ты область программирования не выбрал, ты будешь заниматься одним и тем же. Строя максимально модульный проект, по определенным нотациям, решая конкретную задачу, но перед этом всем все детально написав на бумаге, о каждой мелочи, о каждом взаимодействии. Зная при этом всякие причуды разных объектов (системы, компилятора, среды и т.д.).
Не знаю как на западе, но тут в восточном мордоре, со временем все понимают, что из тебя программист не получится. Все считают, что ты по сути своей фигней маишься (лучше бы ты поступил на нормальную специальность или в военное училище!!!). В итоге, ты еще и останешься один со своей идеологией. Ведь комьюнити, которое тебя поддержит - попросту нет. А общение в интернете - это как любовь на расстоянии, фикция. Ты общаешься, но фактически ничего это не дает (здесь речь об обычном общении на разные тематики индустрии). Пример, этого поста. Я потерял около час в пустую. Хотя, может в начале и казалось, что это полезно (разве что теперь не придется постоянно этот текст набирать).
Программирование - это долго, постоянно все меняется, нужны затраты (как минимум на технику, android studio со своим эмулятором столько ресурсов жрет, что надо i3, 16gb как минимум), нужно желание, нужно менять свой привычный образ жизни. Зная я, что нужно столько времени, то я бы начал заниматься этим или еще в 10 лет или бы даже не начинал (интернет в моем городе где я прожил до универа появился всего год-два назад более-менее, о программировании там до сих пор никто не знает). Сейчас не отступлю, потому что я фанатик по своему образу жизни. Раз уже начал, то надо и заканчивать дело. Перспективы есть, но этого тяжело достичь. Если б было все легко с самого детства, то, наверно бросил программирование, к трудностям привык, не впервые. Нужно постоянное саморазвитие.
Ну, надеюсь донес хоть что-то до автора и не зря писал. Но хотелось бы получить ответ на вопрос все же, который писал выше: “Ну, а даже почитав в этой теме посты, почитать о иммиграции на запад, для того же USA нужен диплом бакалавра, как минимум (но я не знаю, в америке вообще цена у твоей бумажки есть, это по сути условность, как здесь или действительно многое значит).” Что значит русская вышка из можно сказать неизвестного вуза страны для штатов?