Как стать программистом
-
Наверное, это одна из самых избитых тем на любом форуме или в любом онлайн-сообществе, но я все же хочу ее осветить.
Потому что новички появляются всегда, а в интернете столько информации — часто противоречивой, — что в ней легко запутаться. Надеюсь, мои размышления окажутся кому-то полезными, а может быть, просто станут поводом для интересного разговора.Профессия программиста до сих пор остается и будет актуальной еще многие годы. Развею сразу миф “ИИ заменит всех программистов” - это не так, бездумный вайбкодинг не сделают из Вас хорошего разработчика. Но ИИ кардинально изменит профессию всех разработчиков.
Я бы назвал это дережерством, вы тот самый человек который понимает как пишутся программы, как строится код, а ИИ ваш личный подопечный который лишь ускорит реализацию ваших задач.
Если вы ждете что здесь будет гайд про то как стать программистом - увы. Тут вы найдете лишь размышления и возможный вектор направления.
Преимущества
Основным преимуществом я бы выделил комфортные условия труда - мы не гнем спину на заводе, не доставляем в знойную жару или холодную зиму продукты людям. А лишь сидим в офисе или на удаленке в кресте с компьютером решая задачи.
Доход - Доход программистов на порядок выше чем у более простых профессий таких как - продавец, менеджер и т.д. Минимальная оплата труда начинающего разработчика может составлять от 60-70 тыс. руб. и выше.
Развею миф курсов по программированию. Многие курсы говорят что вот ты сейчас обучишься и пойдешь джуном зарабатывать 120к в месяц, но сразу огорчу… Всего скорее такую ставку могут предложить лишь крупные компании, а вкатиться туда еще тот геморой. А ваш путь скорее всего начнется с локальных веб-студий.
Постоянное обучение - Если вы любите много читать, узнавать тонны информации то эта профессия точно для вас. Ведь изучать постоянно что-то новое это неотъемлемая часть работы всех программистов.
Гибкий график и удалённая работа - Многие компании предлагают удалёнку и гибкое расписание. Но тут тоже не спешите радоваться! Иногда, а даже чаще всего придется работать сверх нормы. Вы можете просыпаться в 10 утра, но закрывать задачу в 3 ночи
Широкие перспективы - От разработки до анализа данных, DevOps, машинного обучения, архитектуры систем — IT в целом предлагает множество направлений. Можно расти как технический специалист, переходить в управление (например, стать тимлидом или CTO) ну и конечно запускать собственные проекты.
Перечислять преимущества можно еще долго, по этому перейдем от разговоров к делу.
С чего начать
Как выбрать первый язык программирования?Многие начинающие задаются вопросом: «С какого языка программирования начать?»
Но правильнее будет сначала спросить себя: «Что я хочу создавать?» — потому что за любым приложением, сайтом или программой стоят две фундаментальные части.Неважно, на каком языке ты пишешь — Python, JavaScript, C# или Go. Всё, что вы видите на экране, и всё, что происходит «под капотом», можно разделить на два слоя:
- Frontend (интерфейс) — то, что видит пользователь: кнопки, меню, формы, анимации. Это «лицо» программы.
- Backend (логика) — «внутренности»: обработка данных, работа с базами, алгоритмы, безопасность. Это мозг и сердце системы.
Предположу что вы читаете эту статью на компьютере. Скорее всего, у вас Windows, macOS или Linux.
Задумайтесь:- Что вы видите? Окна, иконки, панель задач — это интерфейс.
- А что работает? Файловая система, процессы, управление памятью — это логика.
То же самое с сайтом, телефон или любой другой программой:
- Вы видите красивый дизайн — это frontend.
- Но когда вы нажимаете «Войти», кто-то проверяет ваш пароль, ищет вас в базе данных и выдаёт доступ — это backend.
Главная мысль которую которую я хочу донести - не важно на каком языке вы будите писать, а что вы хотите создавать и что вам будет нравится.
Кстати если хотите более подробный план как чего и где после того как определитесь с тем что вам нравиться просто ищите в интернете “дорожная карта веб-разработчика” или “дорожная карта разработчика игр”
Популярные направления и соответствующие языки
Ладно, допусти мы определились с тем что нам больше всего нравится.
Если это:- Сайты - JavaScript (хотя их можно также писать на чем угодно, но js создан для этого)
- Аналитика, ИИ, базы данных - конечно же Python! Но кроме него отличным выбором станет Go, C#.
- Игры - куда без них! Смело берем C++, Lua.
- Приложения для телефонов - если ios то точно swift, а для android java.
Основы алгоритмического мышления и математики
Для развития алгоритмического мышления поможем естественно практика! Потому что любую задачу можно решить несколькими способами как минимум, попрактиковаться в решении задач можно на codewars.com. Мне в свое время очень помогла книга “Грокаем алгоритмы”, помните что программист учится всегда?
Если вы занимаетесь разработкой интерфейсов математика конечно важна, но не на столько что бы углубляться в нее с головой, а вот если вы решает задачи аналитики на python то тут конечно же стоит вспомнить базовую алгебру.
Больше задач - больше практики. И только так вы сможете развить алгоритмическое мышление.
Программист учится программировать, только программируя.
Образование и обучение
Хотелось бы сказать что все и так есть в интернете и научиться можно самостоятельно, но если не хватает времени и хочется четкий план с дедлайнами - то однозначно стоит присмотреться к курсам.
Могу от себя добавить что я обучался js и react в Яндекс.Практикуме, меня мотивировало то что есть четкий план и график, ну и конечно же вложенные денежные средства.
Тут на самом деле кто на что горазд если хотите жесткий план - добро пожаловать на курсы. А если уверены в себе то пожалуйста все в ваших руках - книги, статьи, видео, блоги, сообщества, форумы и т.д.
Коротко
А теперь давайте подведем короткий итог. Не надо бежать сломя голову "ыыы я тоже хочу в ИТ за 300к в нано сек щас запишусь на курсы и меня возьмут в яндекс
".
- Определитесь с тем, чем хотите заниматься от этого будет зависеть ваш будущий язык программирования.
- Практикуйтесь осваивайте различные методы и подходы к решению задач, развивайте мышление и свою логику.
- Сообщество - казалось бы зачем оно нужно? Но от коллег всегда можно узнать что-то новое.
-
А как понять, что тебе больше нравится — фронтенд или бэкенд? Я пробовал и то, и другое, но пока не чувствую, где моё. Может, есть какой-то тест или чек-лист?
-
Ага, я тоже долго метался. Пока не осознал, что фронтенд — это про визуал и мгновенный результат, а бэкенд — про логику и данные. Попробуй сделать простой сайт с формой: если интереснее верстать кнопки — твой путь фронтенд, если хочешь понять, куда данные уходят — бэкенд.
-
Согласен с выше написанным. Я начал с фронтенда, но потом увлёкся работой с серверами. Сейчас программист, и это идеально — вижу всю картину. Советую не зацикливаться на выборе, а пробовать оба направления первые месяцы.
-
Так какой язык посоветуешь для самого начала? Многие говорят про Python, но я слышал, что рынок переполнен джунами. Может, лучше что-то менее популярное, но с меньшей конкуренцией?
-
Лично я начинал с JavaScript потому что он везде нужен. И фронтенд, и бэкенд и даже мобилки. Конкуренция есть везде, но и вакансий много. Главное — делать проекты, а не просто учить синтаксис.
-
Поддерживаю. Python - это отличный выбор для анализа данных и AI, но если хочешь в веб - учи JavaScript. Кстати, не стоит бояться конкуренции: хороших разработчиков всё равно мало, хоть на Python, хоть на JS.
-
Вась, ну это нормально же. Я работаю 5 лет и до сих пор иногда чувствую себя новичком. Главное же не пытаться выучить всё сразу. Выбери стек для первого job и сфокусируйся на нём. Остальное придёт с опытом.
-
И как справляться с выгоранием? Учусь уже полгода, а ощущение, что ничего не знаю. Каждый день новые технологии, кажется, что не успеваю за трендами.
-
А как насчёт математики? Я не силён в алгебре, но хочу в разработку. Это критично для фронтенда? Можно без нее обойтись или нет?
-
Для фронтенда хватит базовой математики: пропорции, координаты, немного логики. Глубже — это только если будешь делать сложную анимацию или игры. Не переживай, большинство веб-задач — это работа с данными, а не интегралы.
-
Спасибо за советы! Теперь понятно, что не нужно разбрасываться. Возьму JavaScript + React и буду глубже изучать, а не прыгать между технологиями. И перестану сравнивать себя с опытными разработчиками — у них был свой путь.
-
Вась, ну это нормально же. Я работаю 5 лет и до сих пор иногда чувствую себя новичком. Главное же не пытаться выучить всё сразу. Выбери стек для первого job и сфокусируйся на нём. Остальное придёт с опытом.
@Wowk это естественно. Если не гнуть пальцы веером, как делают многие (мои знакомые, во всяком случае), я смело могу сказать, каким бы ты профи не был, пока ты изучаешь новое (а в этой области это бесконечный процесс) - ты растешь, но при этом, даже если вы выполняешь работу на высоком уровне, сам себя ты будешь чуствовать себя новичком и через 10 лет.
-
И как справляться с выгоранием? Учусь уже полгода, а ощущение, что ничего не знаю. Каждый день новые технологии, кажется, что не успеваю за трендами.
Пользователь @Алекс44 написал в Как стать программистом:
И как справляться с выгоранием? Учусь уже полгода, а ощущение, что ничего не знаю. Каждый день новые технологии, кажется, что не успеваю за трендами.
Со временем все устаканится, и будешь думать так: “Как я раньше был так глуп, что такую простую вещь не понимал”. Главное продолжить в чем то развиваться. Технологии меняются не так часто, как об этом пишут и может показаться. Выбираешь то, что видишь актуально для твоих задач. Далее когда уже освоился, можно попробовать другие технологии. Но на это надо настраиваться так: я это изучаю для общего развития, чтобы лучше картину всего понимать, а также я встречу паттерны и практики, которые могу внедрить уже на текущих работах (иначе смысла гнаться за технологиями я не вижу)
А про выгорание - обычно это уже у ребят, которые давно работают и делают одно и тоже, и нет творчества или исследования/роста для себя. А когда ты молодой зеленый, тащить тебя должно желание изучить, освоить навыки, это должно давать сил.
© 2024 - 2025 ExLends, Inc. Все права защищены.