Найти в Дзене
Я, Golang-инженер

#11. Изучаю Golang 2 месяца - итоги

Оглавление

Это статья об основах программирования. На канале я рассказываю об опыте перехода в 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-разработчика из телеграм-чата
Описание вакансии Golang-разработчика из телеграм-чата

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

Курс по SQL нашёл на той же платформе, что и курс Golang - на сайте Stepic. Курс называется "Интерактивный тренажер по SQL", его разработала доцент кафедры механики и математического моделирования Дальневосточного федерального университета (ДВФУ) Озёрова Галина Павловна, руководитель образовательной программы «Прикладная механика».

Пример результата SQL-запроса одного из начальных заданий ниже.

Пример решения по курсу SQL на Stepic
Пример решения по курсу SQL на Stepic

1.4 Фиксируйте прогресс

У меня три инструмента фиксации прогресса.

>>> Первый - телеграм чат, в котором такие же новички в IT. Сейчас нас там трое. У каждого свой язык: Си-шарп, Python, и у меня - Golang. Нас объединяет то, что мы уже состоялись как специалисты в другой сфере и хотим заниматься IT.

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

А здесь вы можете посмотреть браузерную игру, собранную ребятами за 3 дня (!)

>>> Второй инструмент, где я фиксирую достижения - этот блог на дзене.

>>> Третий - бумажный блокнот. Это скорее рабочий инструмент для того, чтобы было проще изучать новое. Например, я часто возвращался к странице по массивам и срезам, см. ниже в ленте два фото.

1.5 Постоянство

Изучайте IT постоянно небольшими шагами. Это эффективнее в долгосрочной перспективе. Для себя я нашёл комфортный режим - 20 мин в день занятия, плюс один выходной занимаюсь примерно час-два. Один-два дня в неделю выходные.

Фотограф: Brett Jordan: pexels
Фотограф: Brett Jordan: pexels

Если придерживаться этого простого правила, вам не придётся восстанавливать знания в течение длительного времени после перерыва. Причин у перерывов может быть много. Возможность заниматься по 20 мин в день - есть (почти) всегда.

1.6 Забота о себе

Позаботьтесь о своём здоровье. Сон по 8-9 часов в день, физические нагрузки, позитивные эмоции дадут вам силы развиваться в профессиональном и личном плане.

Например, я занимаюсь (медленными) пробежками 3-4 раза в неделю по 15-40 минут. Раз в неделю занимаюсь йогой, скачал приложение "пресс за 30 дней".

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

Изучать Golang я решил после пересмотра ценностей. Сейчас ещё почувствовал, что хочу ко всему прочему хорошо выглядеть: сменил причёску, чаще чищу обувь, достал костюм и хожу в нём на работу каждый день, а не только по особым случаям. Уважайте и цените себя.

Фотограф: Andrea Piacquadio: pexels
Фотограф: Andrea Piacquadio: pexels

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

Когда человек бодро и уверенно себя чувствует, дела идут проще.

Это всё о чём рассказать по общей картине. Далее немного конкретики.

Часть 2. Достижения за 2 месяца

Рассказываю, чего добился в изучении IT.

  1. Определился с языком программирования.
  2. Начал изучать IT в общем: интернет, технологии, виды и задачи IT-специальностей и др.
  3. Перебрал несколько курсов по Golang. Выбрал один и методично занимаюсь по нему 20 мин в день.
  4. Нашёл курс по SQL. Занимаюсь раз в три дня.
  5. Занимаюсь Golang'ом в браузерной "песочнице" Replit. Удобная штука на начальном уровне.
  6. Установил Visual Studio Code, создал первую exe-программу (консольную). Это игра "Быки и коровы", писал о ней ранее.
  7. Нашёл ребят из своего круга, кто изучает IT и создал общий чат. Общаемся как в чате, так и созвонами, в т.ч. по видео и с демонстрацией экрана.
  8. Составил перечень книг для чтения: Чистый код, Грокаем алгоритмы, Высоконагруженные системы.
  9. Читаю "Чистый код".
  10. Подписался на десяток соцсетей Golang и IT; просматриваю три в телеграме, один паблик ВК.
  11. Понемногу общаюсь с сообществом через соцсети, читаю статьи о которых говорят в них ребята. Была идея перевести иностранную статью на русский. Пока не занимался.
  12. Начал изучать английский и забросил. Не приоритет. Сейчас уровень Pre-Intermediate.
  13. Составил mind-карту изучения IT, в т.ч. pet-проекты которые планирую сделать на Go.
  14. Изучил базовый функционал Go и умею применять на практике: типы данных, условия, циклы, массивы, форматированный ввод и вывод. Перешёл к функциям и пакетам.
  15. Завёл профиль на Github, выкладываю туда свои решения задач.
  16. Повторно решил пройденный материал, после того как вернулся с перерыва в занятиях. На это ушло как раз около месяца. Материал усвоил лучше, выработал новые более элегантные решения.

Из подводных камне обнаружил, что компаниям нужны "рабочие лошадки" уровня middle и выше. Стажёры и джуны практически не нужны. А если и нужны - стажировки рассчитаны на 3 мес по 20-40 часов в неделю с (оплачиваемым) переездом в город и работой в офисе. Совмещать с текущей работой нереально для меня.

Далее, работать можно удалённо. Проблема в том, что программирование - командная работа. И если команда живёт условно по времени Кипра, то тебе будет проблематично работать по условному Хабаровску. Т.е. географическая близость нужна.

Пока я зафиксировал эти подводные камни. Что с ними делать, буду думать позже. Когда освою Go и ещё несколько инструментов (как SQL) на хорошем уровне.

Общее впечатление от изучения IT- всё нравится. Появились новые цели, появились новые силы, круг общения увеличился. Хочу заниматься дальше.

>>> Вот такие результаты изучения IT за два месяца. Поделись в комментариях своими достижениями. Зафиксируй, скажем так.

PS Ну а я пошёл на пробежку и продолжу взбираться на гору SQL.

Фотограф: Darren  Tiumalu: https://www.pexels.com/ru-ru/photo/2433291/
Фотограф: Darren Tiumalu: https://www.pexels.com/ru-ru/photo/2433291/

Бро, ты уже здесь? 👉 Подпишись на канал «Я, Golang-инженер», будем изучать IT вместе 👨‍💻👩‍💻👨‍💻