Pull to refresh

Как стать программистом самостоятельно

Reading time6 min
Views16K

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

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

Предусловие

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

* В некоторых местах будут мои наблюдения и мысли, буду помечать их префиксом Философия

Если кратко:

  1. Ставим долгосрочные цели (с прицелом на ~ 5 лет), короткосрочные цели ( с прицелом на год) и составляем план их реализации

  2. Регулярно практикуемся

  3. Подбираем материал для изучения

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

  5. Учимся гуглить

  6. Заставляем себя выбираться из "зоны комфорта" и состояний "я и так все знаю"

Если подробно:

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

  1. Цены и планы

    Разберемся почему цели это важно.
    Во-первых, чтобы что-либо делать нужен стимул. У всех есть такая настройка как лень. Лень это и враг и друг. Мы можем быть очень эффективными, чтобы потом ничего не делать, в то же время лень может тормозить процесс нашего развития.

    Поэтому, чтобы сказать лени "отойди", у нас должны быть основания. Лучшим основанием может служить четко поставленные цели.

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

    Как ставить цели:

    • Цель должна быть реалистичной. Например:

      Плохой пример: Я через год хочу иметь миллион доллларов

      Хороший пример: Я через год хочу работать java-разработчиком и получать ежемесячно 200 тысяч рублей.

    • Цель должна быть описана подробно до мельчайших деталей, будто мы уже ее достигли. Например:

      Плохой пример: Я через год хочу иметь квартиру.

      Хороший пример: Я через год хочу иметь квартиру в своей собственности без обременений ипотеки. Квартира будет площадью 60 квадратных метров и находиться во Фрунзеском районе рядом с метро Купчино. Моя кухня будет в бежевых тонах.
      У меня будет игровая изолированная комната с неоновым освещением (как у про стримеров), гостинная в цвете темного дерева, большим диваном и домашним кинотеатном и спальня так же в цвете темного дерева.

    Это 2 основных принципа, которых стоит придерживаться.

    Философия
    все, что я описала, связано с фразой "Все мысли материальны". Исходя из личного опыта фраза правдива и работает.

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

    Для интересующихся нейропсихологией советую обратить внимание на серию книг автора Джо Диспенза про подсознание, а так же на книжку автора Джона Кехо Подзознание может все

    Как составлять план реализации целей:
    Для составления плана лучшим вариантом будет использовать уже готовый "Roadmap" (это не то, что продают игровые студии в 2022 году за реальные деньги)
    Roadmap - это дорожная карта, описание тех технологий, которые востребованы

    Возьмем например Roadmap для java разработчика на 2022 год

    Дорожная карта java разработчика
    Дорожная карта java разработчика

    Мы видим почти готовый план. Чтобы стать java разработчиком нам нужно выучить Синтаксис, понять что такое ООП, узнать про классы и библиотеки, познакомиться с базами данных и так далее.

  2. Практика

    Данный раздел поставлен вторым так как в программировании практика это самый важный аспект. Без практики не будет результата (для программирование это актуально).

    Тут есть ряд факторов:

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

    • Не по принуждению, а по желанию (не 'надо', а 'хочу')
      Писать код это по любви) На мой взгляд специалистами через силу не становятся. Программирование ДОЛЖНО нравиться.
      * Если на протяжении нескольких месяцов ощущаешь, что обучение всегда проходит через силу, возможно стоит рассмотреть другие сферы. Постоянно находиться в состоянии "отрицания" невозможно. Выгорание очень быстро настигнет и обучение сойдет на 0 на долгое время.

    • Выгорание
      Четно скажу, что меня пока "проносило" мимо данного состояния, но среди моих знакомых есть люди, которые с этим столкнулись.
      Чтобы не выгореть рекомендую не принуждать себя (только в редких случаях, разберу их позже), отдыхать, когда того требует организм и голова, не винить себя за пропущенный день обучения.

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

      Философия Для решения задач старалась придерживаться следующего порядка действий - проанализировать задачу, обдумать, отдать подсознанию и получить решение.

      Буквально с первых дней обучения подметила, что некоторые решения приходят ниоткуда. Потом данные ситуации стали повторяться чаще и сильно помогают и до сих пор. Фишка в том, что мозг умеет решать задачи, даже когда мы их не решаем.
      Совет: Если есть задачка, решение для которой не пришло сразу, то оставь ее, прогуляйся или займись чем-нибудь другим, отвлекись. Решение само придет чуть позже.

  3. Материал для обучения

    Для обучения (особенно для самостоятельного) нужна качественная, структурированная программа и применимая на практике.

    Источники, которыми пользуюсь:

    • Видео курсы на Udemy
      Можно подобрать курс по популярности и отзывам. На платформе есть превью видео. Кроме того, можно найти записи курсов на Youtube и ознакомиться как материал подается, как автор разговаривает и объясняет.

    • Видео курсы из пабликов
      Сейчас много материала гуляет по сети, например в телеграм. Можно найти качественный видео курс и начать обучаться по нему. Обязательно почитайте о выбранном курсе в интернете или спросите в том же источнике касательно качества и актуальности материала, у тех кто там обучается.

    • Книги
      Книг написано огромное количество. Список самых топовых можно найти в пабликах или статьях. Обязательно почитайте отзывы, задайте вопросы на форумах о том какую книгу стоит выбрать для вашего уровня. Не редко список рекомендация можно найти в статьях на равне с дорожной картой.

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

      Вне зависимости от того какой источник знаний выберте, не забывайте всегда конспектировать материал. Прописывать стоит не только код, но и записывать ревью пройденного материала, мысли по теме.

  4. Паблики в соцсетях

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

    Паблики в телеграмм, или группы в вк, или настроенная лента новостей на Хабр, или лена на proglib и много других вариантов, где люди деляться своими мыслями, наблюдениями, советами. Ресурсы выбираем в соотвествии с той специализацией, которую изучаете.

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

    Паблики можно читать во время поездок на работу, чтобы дать пищу для ума.

  5. Поиск информации

    Еще один важный навык для работы программистом.

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

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

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

  6. Когда можно и нужно себя заставлять

    Зона комфорта

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

    Зона комфорта - враг вашего потенциала.

    Речь не идет о том, что не надо долго работать на одной работе. Нет.

    Хотя обычно переход на новую работу - это крутой стимул для развития.

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

    Почему это важно?

    Мир айти быстро развивается. Каждую неделю выходят обновления. За ними надо поспевать, чтобы быть в теме и поддерживать свой уровень. Найдутся специалисты лучше и круче тебя, молодые спецы, у которых горит огонь в глазах так, что они растут со скоростью 300+ км в наносекунду (сложно обогнать сеньера помидора, но на ранней стадии вокруг тебя будет огромная конкуренция).

    Поэтому всегда следим за тем, чтобы было не сильно тепло.

    Я все знаю

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

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

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

Делитесь своими наблюдениями и опытом по самостоятельному, эффективному обучению.

Only registered users can participate in poll. Log in, please.
С какой регулярностью ты учишь что-то новое, не связанное с работой
38.24% Каждый день26
41.18% Несколько раз в неделю28
8.82% Несколько раз в месяц6
7.35% Почти не учусь5
4.41% Я все и так знаю3
68 users voted. 10 users abstained.
Tags:
Hubs:
Total votes 12: ↑3 and ↓9-6
Comments16

Articles