Это статья об основах программирования. На канале я рассказываю об опыте перехода в IT с нуля, структурирую информацию и делюсь мнением.
Хой, джедаи и амазонки!
Делюсь первыми впечатлениями о прохождении курса Go-разработчик, лайфхаками взаимодействия со SkillBox, а также решением программы по псевдографике - нарисуем Ёлочку и чтением книги "Чистая архитектура".
Итак, я купил курс Go-разработчик от SkillBox. Почему - написал в посте #17. Пока всё нравится. У нас есть два чата в телеграме - по бэкенду и по Go. В чатах общение доброжелательное в целом. Я успел даже одному человеку помочь с циклами - сказывается опыт на Stepic) Хотя я не занимался Go уже пол года.
В чате по Go людей намного меньше: всего 458. В 10 с лишним раз меньше, чем в бэк-чате. Кстати, любопытная статистика - за три дня нового года, в бэк-чат присоединилось 5 программистов на Piton, 2 по java, по 1 PHP и Go. В следующие два дня ещё человек 7 по Piton'у, хотя многие не представлялись и не рассказывали что изучают.
Ниже фрагмент чата по Go: кто-то рассказывает, почему пошёл изучать Golang.
В Go-чате один куратор (который проверяет нашу практику), модер и несколько ботов - всё, остальные - это такие же ребята как и вы. Хотя многие обучаются не с нуля, а уже владеют другим языком.
Для сравнения, Go-чат бесплатного курса на Stepic: людей в три раза больше.
Лайфаки SkillBox
Пока я нашёл три лайфхака, как наилучшим образом взаимодействовать со SkillBox.
Итак, первый лайфхак - покупать обучение по ссылке друга. Друг получает кэшбек с вашей покупки, а вы получаете огромную скидку. Вот моя ссылка друга.
Второй лайфхак - когда вы берёте курс от SkillBox, вы можете получать реферальную ссылку наподобие той, что я указал выше. Ссылки существуют двух типов:
- Получить кэшбек на ваш счёт;
- Получить курс, стоимость которого не выше полученного кэшбека.
Проблема второго варианта в том, что потратить кэшбек вы можете только, приобретая новый курс в SkillBox. Преимущество первого в том, что вы получаете живые деньги. Которые если захотите, потратите на свои любые цели. А если уж очень захочется, то и курс можете купить.
Третий лайфхак - если решите купить курс в SkillBox, попробуйте сообщить менеджеру по телефону (когда с вами свяжутся) фразу "Новый старт". Т.е., последовательность такая:
- Оставляете заявку на курс;
- С вами связывается менеджер по телефону;
- Вы ему говорите промокод "Новый старт".
Вы должны получить скидку до 25 000 руб, которой можете оплатить до 50% курса. Мне эту скидку прислали, когда я прошёл несколько практических работ и сообщили, что действует промокод месяц. Но не факт, что месяц.
Дополнительный лайфхак - иногда можно попасть под акцию "курс в подарок". Я участвовал в такой акции, потому что купил курс в новогодние праздники. Иногда они проводят викторины или ещё что-то вроде этого. В общем, ситуации бывают разные. Тут важно понимать, что на SkillBox есть курсы, а есть профессии.
Так вот, акция курс в подарок распространяется не на все курсы. У акции есть ряд ограничений, перескажу их своими словами:
- Курс не должен содержать вложенных подкурсов;
- Курс должен стоить дешевле, чем ваш основной приобретённый курс (актуально для праздничной распродажи);
- Курс не должен быть по тематике английского;
- Ещё у SkillBox есть курсы по MBA и программы высшего образования - их тоже нельзя получить в подарок.
Короче, круг подарочных курсов сильно сужается. И об этом представитель SkillBox не говорит вначале, а раз за разом отклоняет выбранные мною курсы с новыми аргументами. Мой подарочный курс в итоге "Алгоритмы и структуры данных для разработчиков". Хороший курс, хотя без практических работ, без проверок, без автоматического тестирования. Короче, в подарок такой курс получить можно, но платить за него почти 30к (при максимальной скидке друга) - перебор.
Ёлочка
У нас Новый год настал, поделюсь интересной задачей. Цель - нарисовать Ёлочку. Пользователь задаёт высоту, а программа рисует "пробелами" и "*" звёздочками.
Должно получиться так:
Ниже спойлер с примером кода
*
***
******
*********
***********
Что здесь интересного: на строке 13 я считаю максимальную длину строки. Сперва я написал расчёт ширин через цикл, но друг подсказал что проще через формулу. Далее основной блок условий.
Чистая архитектура
Куратор после первой практики спросил, каков мой опыт в IT. В целом, общение с куратором происходит через форму обратной связи в разделе "Практические работы". Ещё он есть в чате по Go, можно через хештег к нему обратиться.
Я пересказал куратору свой опыт обучения на Stepic и ещё пару моментов. Добавил, что начинал читать несколько книг. Куратор в ответ прислал перечень литературы по Go и порекомендовал с чего начать:
- ООП/SOLID/GRASP
- Шаблоны проектирования
- Чистая архитектура
Параллельно порекомендовал изучать Git, Docker, базы данных, основы работы в LInux.
Начал я с "Чистой архитектуры"
В первой главе автор рассуждает, что цель архитектуры программного обеспечения - уменьшить человеческие трудозатраты на создание и сопровождение системы.
Автор рассуждает о том, что программа, которая работает неправильно, но её легко изменить, лучше программы, которая работает правильно, но изменить её проблематично.
Во второй главе автор говорит, что архитектура ПО обеспечивает простоту изменения кода. Приводит примеры роста расходов на обслуживание ПО с плохой архитектурой в геометрической прогрессии. Автор утверждает, что нужно биться за архитектуру - программиста нанимали в т.ч. для этого, а не только для того, чтобы программа соответствовала ТЗ.
В третье главе автор говорит, что существуют всего три парадигмы программирования, и едва ли появятся новые. Парадигма - способ программирования, не зависящий от конкретного языка. Вот эти парадигмы:
- Структурное программирование;
- Объектно-ориентированное программирование;
- Функциональное программирование.
В 4й главе начинается более подробно структурное программирование. Пока на этом остановился.
Бро, ты уже здесь? 👉 Подпишись на канал «Я, Golang-инженер», будем изучать IT вместе 👨💻👩💻👨💻