Это статья об основах программирования. На канале я рассказываю об опыте перехода в IT с нуля, структурирую информацию и делюсь мнением
Хой, джедаи и амазонки!
Начал изучать IT и язык программирования Golang с начала января 2022г. Сделал перерыв, затем вернулся к обучению. Сейчас (начало июня 2022г.) суммарно занимаюсь 2 месяца.
Первую часть статьи постараюсь превратить в эдакий новогодний чулок, в котором соберу важную информацию. По крайней мере, я рассчитываю, что хотя бы часть этих знаний будет воспринята как полезные инструменты для становления IT-специалистом.
Во второй части расскажу чего достиг, какие подводные камни нашёл и общие впечатления об изучении IT.
Часть 1. Полезные инструменты
1.1 Существуют качественные бесплатные курсы
По крайней мере для базовых знаний и навыков, я нашёл несколько курсов по Golang как на отдельных сайтах, посвящённых Go, так и на площадка для онлайн-обучения. В телеграм-чатах периодически публикуют ссылки на вебинары по Golang, есть десятки ресурсов на youtube.
В общем, необязательно покупать платные курсы для освоения навыков. Курсы стоят недёшево: 30 - 50 -100 к и выше. А если взять доп инструменты, например PostgreSQL - прибавьте ещё ценник. Всё проще - приложить силы, и найти качественные бесплатные курсы. Кстати, платный курс - ещё не означает качественный.
1.2 Язык - это не всё
Изучать второй язык программирования намного проще, чем первый. Дело в том, что программирование и синтаксис конкретного языка - вещи разные. Когда вы осваиваете принцип программирования, базовые алгоритмы и саму логику - язык превращается в инструмент передачи информации от вас к компьютеру и другим программистам.
1.3 Изучайте смежные инструменты
В каждой вакансии по Go требуются ещё ряд инструментом. Например, работа с реляционными базами данных, в частности, с языком запросов SQL.
Для себя я решил, что будет полезно проходить два курса одновременно - язык Golang и SQL.
Курс по SQL нашёл на той же платформе, что и курс Golang - на сайте Stepic. Курс называется "Интерактивный тренажер по SQL", его разработала доцент кафедры механики и математического моделирования Дальневосточного федерального университета (ДВФУ) Озёрова Галина Павловна, руководитель образовательной программы «Прикладная механика».
Пример результата SQL-запроса одного из начальных заданий ниже.
1.4 Фиксируйте прогресс
У меня три инструмента фиксации прогресса.
>>> Первый - телеграм чат, в котором такие же новички в IT. Сейчас нас там трое. У каждого свой язык: Си-шарп, Python, и у меня - Golang. Нас объединяет то, что мы уже состоялись как специалисты в другой сфере и хотим заниматься IT.
Я и ребята делимся достижениями на пути к программированию. Присоединяйтесь, если есть желание. Помимо серьёзных тем, мы любим мемы и в целом готовы поддержать беседу на многие темы. Пример чата на фото ниже (2 скрина в ленте).
А здесь вы можете посмотреть браузерную игру, собранную ребятами за 3 дня (!)
>>> Второй инструмент, где я фиксирую достижения - этот блог на дзене.
>>> Третий - бумажный блокнот. Это скорее рабочий инструмент для того, чтобы было проще изучать новое. Например, я часто возвращался к странице по массивам и срезам, см. ниже в ленте два фото.
1.5 Постоянство
Изучайте IT постоянно небольшими шагами. Это эффективнее в долгосрочной перспективе. Для себя я нашёл комфортный режим - 20 мин в день занятия, плюс один выходной занимаюсь примерно час-два. Один-два дня в неделю выходные.
Если придерживаться этого простого правила, вам не придётся восстанавливать знания в течение длительного времени после перерыва. Причин у перерывов может быть много. Возможность заниматься по 20 мин в день - есть (почти) всегда.
1.6 Забота о себе
Позаботьтесь о своём здоровье. Сон по 8-9 часов в день, физические нагрузки, позитивные эмоции дадут вам силы развиваться в профессиональном и личном плане.
Например, я занимаюсь (медленными) пробежками 3-4 раза в неделю по 15-40 минут. Раз в неделю занимаюсь йогой, скачал приложение "пресс за 30 дней".
Бег и дозированные физические нагрузки помогают разгрузить голову, приходят новые мысли. А укрепление мышц позволяет чувствовать себя увереннее и бодрее.
Изучать Golang я решил после пересмотра ценностей. Сейчас ещё почувствовал, что хочу ко всему прочему хорошо выглядеть: сменил причёску, чаще чищу обувь, достал костюм и хожу в нём на работу каждый день, а не только по особым случаям. Уважайте и цените себя.
Я не призываю записаться сегодня к барберу или в тренажёрный зал. Призываю позаботиться о себе. Вряд ли вы кому-либо нужны кроме себя таковыми, какие вы есть. Разве что, вашим родителям.
Когда человек бодро и уверенно себя чувствует, дела идут проще.
Это всё о чём рассказать по общей картине. Далее немного конкретики.
Часть 2. Достижения за 2 месяца
Рассказываю, чего добился в изучении IT.
- Определился с языком программирования.
- Начал изучать IT в общем: интернет, технологии, виды и задачи IT-специальностей и др.
- Перебрал несколько курсов по Golang. Выбрал один и методично занимаюсь по нему 20 мин в день.
- Нашёл курс по SQL. Занимаюсь раз в три дня.
- Занимаюсь Golang'ом в браузерной "песочнице" Replit. Удобная штука на начальном уровне.
- Установил Visual Studio Code, создал первую exe-программу (консольную). Это игра "Быки и коровы", писал о ней ранее.
- Нашёл ребят из своего круга, кто изучает IT и создал общий чат. Общаемся как в чате, так и созвонами, в т.ч. по видео и с демонстрацией экрана.
- Составил перечень книг для чтения: Чистый код, Грокаем алгоритмы, Высоконагруженные системы.
- Читаю "Чистый код".
- Подписался на десяток соцсетей Golang и IT; просматриваю три в телеграме, один паблик ВК.
- Понемногу общаюсь с сообществом через соцсети, читаю статьи о которых говорят в них ребята. Была идея перевести иностранную статью на русский. Пока не занимался.
- Начал изучать английский и забросил. Не приоритет. Сейчас уровень Pre-Intermediate.
- Составил mind-карту изучения IT, в т.ч. pet-проекты которые планирую сделать на Go.
- Изучил базовый функционал Go и умею применять на практике: типы данных, условия, циклы, массивы, форматированный ввод и вывод. Перешёл к функциям и пакетам.
- Завёл профиль на Github, выкладываю туда свои решения задач.
- Повторно решил пройденный материал, после того как вернулся с перерыва в занятиях. На это ушло как раз около месяца. Материал усвоил лучше, выработал новые более элегантные решения.
Из подводных камне обнаружил, что компаниям нужны "рабочие лошадки" уровня middle и выше. Стажёры и джуны практически не нужны. А если и нужны - стажировки рассчитаны на 3 мес по 20-40 часов в неделю с (оплачиваемым) переездом в город и работой в офисе. Совмещать с текущей работой нереально для меня.
Далее, работать можно удалённо. Проблема в том, что программирование - командная работа. И если команда живёт условно по времени Кипра, то тебе будет проблематично работать по условному Хабаровску. Т.е. географическая близость нужна.
Пока я зафиксировал эти подводные камни. Что с ними делать, буду думать позже. Когда освою Go и ещё несколько инструментов (как SQL) на хорошем уровне.
Общее впечатление от изучения IT- всё нравится. Появились новые цели, появились новые силы, круг общения увеличился. Хочу заниматься дальше.
>>> Вот такие результаты изучения IT за два месяца. Поделись в комментариях своими достижениями. Зафиксируй, скажем так.
PS Ну а я пошёл на пробежку и продолжу взбираться на гору SQL.
Бро, ты уже здесь? 👉 Подпишись на канал «Я, Golang-инженер», будем изучать IT вместе 👨💻👩💻👨💻