Николай Тузов @ntuzov Channel on Telegram

Николай Тузов

@ntuzov


Go Developer, автор YouTube канала по Go: https://www.youtube.com/@nikolay_tuzov

Не технический канал о всяком интересном: @ntuzov_live

Обратная связь: @justskiv

Интересные подборки по Go: @golang_digest

Николай Тузов (Russian)

Николай Тузов - это Telegram канал, созданный для тех, кто интересуется программированием на языке Go. Ведущий канала является Go Developer и также является автором YouTube канала по Go. Вы можете найти его видео здесь: https://www.youtube.com/@nikolay_tuzov. Однако, канал Николая Тузова не ограничивается только техническим контентом - вы также найдете здесь разнообразные интересные материалы. Например, если вам интересно узнать о различных темах, канал @ntuzov_live идеально подойдет для вас. Если у вас есть вопросы или предложения, вы всегда можете связаться с администратором канала по имени @justskiv. Кроме того, канал предлагает интересные подборки по Go на канале @golang_digest. Для тех, кто увлечен темой Obsidian и базами знаний, имеется отдельный канал @obsidian_geek. Присоединяйтесь к каналу Николая Тузова, чтобы быть в курсе последних новостей о языке программирования Go и не только!

Николай Тузов

20 Nov, 15:08


Итоги розыгрыша

Билеты получают:
- @fostg
- @zadorozhnayaya
- @kirya_chan
- @LazerPewPew

Поздравляю! 🧙
К вам в личку придёт человек из HighLoad и расскажет как получить билет. Если вдруг этого не произошло, пишите мне, разберёмся.

Всем остальным удачи в следующий раз!
Если кому-то интересно, всего было 66 участников конкурса.
А вот в моём закрытом канале.. было 4 билета на 8 желающих 🙃

P.S. Я прочитал все ваши комментарии в заявках до конца — будь у меня возможность, я бы каждому по билету выдал. Вы все очень классные ❤️

Николай Тузов

19 Nov, 18:25


У меня нет любимчиков, но.. У меня есть Александр! 🌚

Да скоро уже, скоро..

Николай Тузов

18 Nov, 07:58


Приглашаем на митап для бэкенд-разработчиков от Еком-сервисов Яндекса
В Минск приехал Яндекс Foodtech Tour — серия митапов в столицах, на которых эксперты Еды, Лавки и Маркета рассказывают о внутренней кухне разработки сервисов. В каждом городе своя ключевая тема, и в Минске спикеры расскажут о core-технологиях, лежащих в основе работы продуктов. Митап пройдет 7 декабря.

Программа насыщенная:
Доклады о BDUI и ускорении разработки. Никита Шумский из Еды расскажет об особенной инфраструктуры Еды, различиях классического и мобильного бэкенда и преимуществах BDUI. Ваня Ходор из Лавки поделится кейсом ускорения разработки, причем не скорости работы кода, а его написания.
CaseLab о мультизаказе в Еде. Это интерактивный формат, в котором участники разбирают реальный кейс из работы сервиса, предлагают решение и получают фидбек от экспертов Яндекса.
Нетворкинг и afterparty

Будет интересно — зовите друзей и регистрируйтесь!

Обратите внимание, количество мест ограничено. После регистрации обязательно дождитесь подтверждения заявки.

#реклама #текст_прислан

Николай Тузов

17 Nov, 21:16


Давайте я вкратце подытожу для тех, кто совсем не понимает о чём речь

В курсе nand2tetris мы собираем учебный компьютер (подробнее писал тут), но, конечно же, это будет лишь эмуляция компьютера.

FPGA — это штука, которая позволяет вытащить этот компьютер из симуляции в реальный мир и пользоваться им — подключить физический кнопочки, простенький экран и поиграть в тот самый тетрис, который мы напишем в финале курса. Разве не прекрасно?

Николай Тузов

17 Nov, 21:00


FPGA — физический компьютер своими руками

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

В последнее время меня снова потянуло на nand2tetris, как вы могли заметить. В очередной раз собираю местный компьютер с простенькой архитектурой — Hack. Параллельно с этим начал задумываться, как бы его прокачать — добавить конвейрную архитектуру, регистры для процессора (их в Hack всего два) и др. Есть разные варианты как это сделать, но все они не идеальны (хотя, со своими изюминками):

- Средствами курса nand2tetris вряд ли получится — да, мы пишем реализацию компьютера сами на HDL, но вот программы запускаем на встроенной реализации, которую предоставляют авторы. Поэтому модифицировать его не вариант.

- Написать свою реализацию виртуальной машины на Go — крутой челендж, но вместе с этим вылезают другие челенджи. Например, в реальном компьютере разные элементы могут работать параллельно (АЛУ, регистры, память и т.п.), а вот в Go это придётся муторно синхронизировать руками. Это тоже весело, но вместо практики по проектированию компьютера, мы практикуем работу с параллельным кодом на Go 😩

- Собрать компьютер Hack на.. макетных платах (breadboards). Звучит довольно безумно, но вполне реализуемо. Однако, это также практика немного других скилов.

- Использовать готовые эмуляторы: Icarus Verilog, Verilator, Verilator и т.п. Для них можно просто написать реализацию Hack на HDL и запустить. Но это не так весело, будто бы.

————

И вот сегодня я случайно услышал о существовании такой штуки, как FPGA. Удивляюсь, как я раньше не слышал о ней.. Говоря простым языком, это просто набор логических вентилей, которые можно программировать — загружаем туда ЛЮБУЮ схему HDL, будь то компьютер Hack, какой-нибудь древний процессор, любимая ретро-косноль или что-то ещё, и оно ведёт себя в точности как это устройство.

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

Какие модели мне понравились:

- Arty A7-35T: главная фича (для меня) — совместимость с Arduino, что даёт большой простор для творчества. Можно подключать разные простенькие экраны или полноценные мониторы, устройства ввода (хоть просто кнопочки, хоть полноценную клавиатуру) и т.п.
- Cmod A7-35T: похож на предыдущий, но немного проще и доступнее для покупки. Тоже совместим с Arduino, но более урезано
- Basys 3: пишут, что это №1 штука для учёбы, но мне пока не очень понравилось — с Arduino сложнее подружить, а выводить картинку через VGA для моих целей кажется оверкиллом.

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

Именно об этом устройстве я мечтал, когда впервые проходил nand2tetris, но даже не подозревал, что оно реально существует.

Кстати, если вам кажется, что реализовать всё перечисленное своими руками слишком сложно или даже невыполнимо, то просто пройдите курс nand2tetris и убедитесь в обратном 🤓

————
Я пока только обзорно познакомился с этой технологией, и с имеющимися на рынке решениями, поэтому без подробностей. Возможно, когда-нибудь дойдут руки и всё же соберу физический компьютер Hack или что-то ещё. И тогда поделюсь с вами результатами. Но, возможно, это вдохновит кого-то из вас сделать это даже раньше меня ❤️

А если вы знакомы с FPGA, или даже проектировали на них что-нибудь вроде компьютера, поделитесь в комментариях. Ну и расскажите, на какие модели стоит обратить внимание, на какие нюансы и т.п.


#nand2tetris #fpga

Николай Тузов

15 Nov, 14:01


Golang Conf 2024 и розыгрыш билетов

Если вы смотрели последние выпуски нашего подкаста, вы точно знаете, что скоро будет HighLoad++ и в рамках него также Golang Conf 2024

Когда: 2 и 3 декабря

В этот раз у GoLang Conf будет целых два зала и отдельная секция Хардкор — ассемблер, внутренности, декомпиляция и т.п. (этой секции я особенно рад)
Также будут обсуждаться нововведения в Go v1.23.

Из особенно примечательного лично для меня:

- Секреты высокой производительности в многоядерных системах, Никита Галушко
- Конкурентность в Go: от железа к коду, Максим Горозий
- Ну и, конечно, на котиков Олега посмотрю обязательно ❤️

Программу, расписание и билеты можно найти на сайте.

————
Как я обещал, традиционно разыгрываем 4 онлайн-билета.

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

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

#highload_conf #розыгрыш

Николай Тузов

15 Nov, 11:41


Хочешь войти в IT? Но ты даже не купил курсы Николая Тузова для "вкатунов"!

Наглядная демонстрация одного из моих любимых мемов: https://t.me/inv2004_dev_blog/131

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

Но это и понятно — зачем тратить месяцы на подготовку качественного контента, когда можно за 5 минут повыдёргивать из двухчасового подкаста триггерные фразы, полностью переврать его содержимое и собрать на этом "классы". Стараются пусть дилетанты, а профессионалы выезжают за счёт их труда.

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

Ну и опять же —  а почему нет? Ведь при этом, ты даже не ставишь на кон свою репутацию, а прячешься за анонимным аккаунтом, и в крайнем случае просто создашь ещё один.

Николай Тузов

12 Nov, 19:03


Удивительно, но в большинстве материалов про Планировщик Go (а я их перелопатил оооочень много) этот момент либо опускается, либо автор вообще заблуждается.

Так что, если вы ошиблись, ничего страшного, это действительно совсем не очевидный момент, если только не зарываться в исходники планировщика (а я это сделал).

Если кому-то интересно, я могу показать пруфы, но чуть позже — сначала соберём статистику в опросе.

————

А если вам совсем ничего не понятно, то есть хорошие новости. Я наконец-то дописал сценарий для ролика по планировщику, и скоро начну записывать. Там мы затронем этот момент. Совсем уж во внутренности не полезем, но понимание точно будет.

Николай Тузов

11 Nov, 08:57


Как вырасти до хардового аналитика уровня Middle+?

Добавьте к своим скилам навыки в проектировании архитектуры и интеграций веб-сервисов!

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

- Первое: в портфолио включили примеры интеграций от крупных BigTech-компаний. Это позволит вам понять, как технологии применяются в реальных бизнес-контекстах.
- Второе: обновили портфолио. Теперь в нём есть задания повышенного уровня сложности для каждой темы. Это небольшие реальные проекты, с помощью которых можно не только проверить, но и улучшить свои навыки!
- Третье: вышел новый модуль про проектирование баз данных - нормализация, транзакции, основы DWH, индексы.
- Четвертое: стал активен чат учеников (общение, обмен опытом, помощь внутри сообщества)

————

• Результат после прохождения курса: 15 рабочих проектов в портфолио-резюме
• Доступ к урокам и всем обновлениям останется навсегда
• Фундаментальная база
• Всю программу и отзывы смотрите в боте курса

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

А с моим промокодом NTUZOV2 получите скидку
1000₽ на Stepik
до 30 ноября.

#реклама #текст_прислан

Николай Тузов

10 Nov, 10:57


Новый выпуск уже доступен на YouTube

https://youtu.be/0GnTXKF1X-8

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

————

А ещё напоминаю, что на следующей неделе будет розыгрыш четырёх онлайн-билетов на HighLoad++ 2024. Проводить я его буду, как обычно, здесь, в своём Телеграм-канале. Следите за новостями ❤️

Николай Тузов

09 Nov, 10:36


Как обычно напоминаю, что запись подкаста выложу чуть позже отдельным роликом с пост-обработкой

Николай Тузов

08 Nov, 17:08


История одного мидл-разработчика — GoGetPodcast №13

https://youtube.com/live/VVRWha5evqE

Когда эфир: завтра в 11:00 по Мск

Вот так внезапно и без предупреждения очередной подкаст на тревожащую многих тему. Вот вы когда-нибудь боялись провалить испытательный срок? Как это вообще может произойти? А если провалить его и потом столкнуться с реальными проблемами при поиске новой работы - упадок рынка, длинная серия провалов на собеседованиях..

Страшно? Нет, это не страшилка на хэллоуин, ведь он недавно закончился 🎃
Это реальная история Романа, который согласился ею поделиться и обсудить с нашими гостями. А состав будет такой

- Николай Тузов
- Глеб Яльчик — я знаю, вы по нему скучали ❤️
- Даниил Подольский
- Виталий Левченко

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

Спонсор этого выпуска снова наш любимый HighLoad++ и, в частности, GoLang Conf 2024. Так что, вы знаете кого благодарить ❤️

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

#gogetpodcast

Николай Тузов

07 Nov, 10:59


Go Proverbs
Simple, Poetic, Pithy

Смотрите какую чудесную страничку нашел пока защищал свой бедный кусочек кода на код-ревью на работе. Кто-то проделал такую шикарную работу, а мы даже об этом не знаем!
Теперь знаем ❤️

Конкретно я искал вот эту цитату Роба Пайка: A little copying is better than a little dependency, со ссылкой на источник.

————
Обратите внимание, что к каждой фразе прилагается ссылка на источник.

Николай Тузов

04 Nov, 16:37


Если вдруг кто-то ждал, аудио-версия выпуска уже разъехалась по площадкам. Ссылки проще всего найти тут.

————
Кстати, недавно наш хостер подкастов придумал какой-то плеер подкастов в Телеграм. Вдруг, кому-то понравится.

Но в этом плеере нет разбития на главы, у них это платная фича. А вот на прочих площадках оно есть — в последнем выпуске я "вшил" главы в mp3-файл, и те площадки, что умеют с этим работать, покажут вам их. На Apple Podcasts точно есть, проверил.

Николай Тузов

03 Nov, 15:39


Как попасть в IT — проблемы стажеров и как их решать

Выпуск уже доступен на YouTube

https://youtu.be/YrZLNvl6xc0?si=NTmMrh8ZGYYGhKty

Как вы помните, изначально планировался выпуск про найм, но тема стажёров оказалась слишком горячей, и мы решили довести её до конца. Но от этого выпуск стал только лучше, на мой взгляд — таких интересных и горячих дискуссий в нашем подкасте ещё не было 😩

Если же вам интересно продолжение темы найма, например про мидлов и сеньоров, пишите в комментариях, сделаем продолжение.

Заваривайте чаёк, доставайте печеньки и приятного просмотра! ❤️

#gogetpodcast

Николай Тузов

03 Nov, 12:56


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

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

Я с этим согласен и, на мой взгляд, ключевая фраза здесь — "пока стажер в больнице не будет получать столько же, сколько стажер в Озон, у нас всё будет вот так"

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

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

К чему вообще слова Виталия про "возможно, вам не надо в айти" и Даниила про Таненбаума, и даже того бородача, который меня когда-то заставил SICP прочитать? К тому, что фраза "круды шлёпать" намеренно скрывает огромный пласт сложных проблем, по сравнению с которыми даже SICP и Таненбаум покажутся цветочками. И если у человека нет желания учиться, нет задора и энтузиазма, то ему будет крайне тяжело, и пользы от него будет мало. Возможно, конкретно Таненбаум был плохим примеров, но суть то не в этом.

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

Из этого всего вытекает проблемы с наймом — люди, которые хотят залететь наобум, создают сильный дудос на нанимателей, из-за чего физически невозможно выслушать всех, и приходится применять порой довольно жесткие и несправедливые методы. В итоге, кандидаты тоже начинают применять свои "хаки системы", что вполне понятно и разумно. Наниматель на это реагирует, закручивая гайки ещё сильнее. В итоге, спираль закручивается.

Что с этим делать — непонятно.

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

————

Ролик сейчас монтируется, и сразу после этого буду заливать на все площадки. Думаю, займёт ещё пару часов.

Николай Тузов

02 Nov, 23:02


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

А пока, держите небольшой корявенький, но очень весёлый трейлер

————

Внимание: большинство фраз намеренно вырваны из контекста, чтобы нарезка выглядела забавно. Не судите о гостях, пока не увидете выпуск целиком. Дискуссия была очень интересной, адекватной и конструктивной ❤️

Николай Тузов

02 Nov, 08:34


Запись выложу чуть позже, в гораздо лучшем качестве, чем было на стриме. Немного терпения, и скоро всё будет ❤️

Николай Тузов

01 Nov, 18:47


Напоминаю, трансляция завтра в 9:00 по Мск

https://www.youtube.com/live/Qal5yNePADU?si=TYKaeAKAvR_FLkqT

Приходите, если хотите послушать вживую и задать свои вопросы в чате. Но запись тоже будет, не переживайте.

Как же я устал рисовать эту превьюшку..

#gogetpodcast

Николай Тузов

31 Oct, 13:53


Итак, следующий выпуск будет в эту субботу, теперь точно 🧙

Эфир будет в 9:00 по Мск.
Если хотите послушать нашу беседу вживую и задать вопросы в чате, приходите.
Либо можете посмотреть в записи, чуть позже — качество будет намного лучше, чем во время эфира.

Будем снова обсуждать тему найма Go-разработчиков. У нас уже был похожий выпуск, но было это давно, и пора бы актуализировать информацию.

Ну и в этот раз я поработаю над ошибками и постараюсь сделать беседу более интересной.

Из самого интересно, что хотелось бы затронуть:

- Как быть стажёрам без опыта, куда податься и стоит ли начинать с Go (я знаю, эта тема беспокоит многих из вас)
- Поговорим про нынешние зарплаты Go-разработчиков (все грейды)
- Обсудим мок-собеседования — что это, нужны ли они и где проходить
И другое

Гости выпуска:

- Даниил Подольский
- Виталий Левченко
- Олег Козырев
(полагаю, никто из них в представлении не нуждается?)

Ребята хорошо ориентируются в текущей ситуации на рынке, а я вот давно не ходил по собеседованиям, и сам не собеседую. Так что, я лично буду представлять вас и ваши интересы ❤️ — мне самому очень интересно разобраться.

————

Над списком тезисов для обсуждения я ещё работаю, поэтому если у вас есть вопросы, идеи, предложения, то пишите в комментариях. Постараемся обсудить все интересные моменты. А если не успеем, значит будет вторая часть 🍾

Прошлые выпуски можете посмотреть
тут или послушать на разных платформах.

#gogetpodcast #анонс

Николай Тузов

29 Oct, 18:46


Ну зачем, ну не надо было, ну это было лиииишнее 🙈

Но зато моя мама теперь точно мной гордится! ❤️

Николай Тузов

28 Oct, 10:03


Курс «Golang-разработчик» от Слёрма

Набор в новый поток до 11 ноября.

5 сложных
вопросов, с которыми часто сталкиваются Go-разработчики:

- Что сделать, чтобы проект работал, даже если часть подсистем упала?
- Как сделать простую и надёжную систему?
- Как не допустить утечек памяти в нагруженном приложении?
- Как избежать проблем при работе с БД?
- Что делать с растущими нагрузками без покупки или аренды дополнительного оборудования?

Чтобы знать, что в этих случаях делать — приходите на курс «Golang-разработчик» от Слёрма. Набор в поток до 11 ноября.

Внутри:

- 4 месяца обучения и 6 встреч со спикером курса Виталием Лихачёвым, SRE в booking.сom
- 80% курса - углублённая практика на примере реальных кейсов из бигтеха с код-ревью от спикера
- Прямое общение со спикером в Telegram-чате. Не просто лекции и Q&A, а наставничество и поддержка
- Сборка полноценного сервиса для портфолио: онлайн-банк, мессенджер или файловое хранилище
————

Занять место на потоке
Можно оплатить курс в рассрочку или от компании

#реклама #текст_прислан

Реклама ООО «Слёрм» ИНН 3652901451

Николай Тузов

28 Oct, 08:33


Ну и напоследок. Такого я у ChatGPT ни разу не видел. Складывается ощущение, что меня разыгрывают, и с той стороны сидит живой человек 😩

Николай Тузов

28 Oct, 08:26


Теперь о недостатках:

1. Лимиты! Они даже в платной версии более скудные, чем у ChatGPT. Если вы планируете много с ним общаться, вам буквально придется учиться экономить токены, читая советы от авторов: не вести длинные чаты (большое окно контекста ускоряет исчерпание лимитов), не повторяться, стараться оформлять вопросы батчами и т.п.

Вообще, я пока не слышал, чтобы люди на это жаловались, возможно таких как я не очень много. Но мне очень мало! При чём, я готов им платить хоть $100 вместо $20, чтобы получить безлимит, либо хотя бы увеличить их. Но увы, такой возможности нет. Порой я даже не задаю малозначимые вопросы для уточнения, либо обсуждаю их уже с ChatGPT.

Но во всём можно найти плюсы — мои чаты с ChatGPT выглядят как большая помойка, перечитывать их не очень интересно. А вот чаты с Claude я регулярно перечитываю, ведь там я стараюсь обдумывать вопросы, писать только по делу, а он, в свою очередь, даёт чёткие ответы, без воды.

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

3. Claude не умеет генерировать картинки. Мне это не особо важно, я редко пользуюсь этим, а если и понадобится, то попрошу ChatGPT.

Николай Тузов

28 Oct, 08:26


Про Claude

Я довольно активно пользуюсь ChatGPT практически с самого его появления. Сейчас для меня это очень важный инструмент, без которого сложно обойтись. При этом, он постоянно развивается, и новые модели приятно удивляют.

Но на днях Claude меня удивил даже больше. На всякий случай уточню — модель Sonnet 3.5 New, с более старыми я не работал.

Поскольку ChatGPT стал для меня стандартом, я просто расскажу про сравнение с ним.

Преимущества:

1. Claude часто создаёт впечатление, что ты общаешься с экспертом, в отличие от ChatGPT. Он легче признаёт ошибки (а он их тоже, конечно же, совершает), очень редко их повторяет, если уже признал. И важный момент — поскольку он осознаёт ошибки, он помогает тебе продраться через них, чтобы выяснить истину. К примеру, когда зарываешься глубоко в детали реализации каких-то механизмов Go, все нейросети начинают обильно галлюцинировать, это ожидаемо. Но только Claude в процессе объяснил, какие именно моменты ему сейчас не ясны и попросил скинуть определенные исходники, чтобы разобраться.

Это сложно описать словами, просто почитайте нашу с ним переписку, поймёте.

2. Он гораздо лучше излагает мысли. К примеру, если я обсуждаю с ChatGPT, например, конкретный механизм Netpoller'а, а потом попрошу его подытожить и рассказать об этом механизме целиком, то он, как правило, нальёт ооочень много воды и начнёт издалека — расскажет что такое планировщик, нетполлер, зачем это всё нужно, и лишь потом расскажет про обсуждаемый механизм.

Claude же сразу будет говорить по делу — без воды, без лишних отступлений, и ровно в том формате, в котором вы ведёте беседу. Да, этого можно добиться и от ChatGPT, если правильно писать промты. Но, во-первых, не все это умеют, а во-вторых, это требует кучу времени. Гораздо приятней, когда оно по дефолту работает как надо (там просто вшиты более крутые промты, полагаю).

Также Claude излагает материал более структурировано, часто рисует крутые ASCII-схемы в тексте, и об этом даже не обязательно просить — он сам знает, когда это поможет.

Я заметил, что ни разу не просил его изложить свои мысли более кратко (а ChatGPT постоянно приходится об этом напоминать).

3. У Claude есть крутые фичи, не связанные с моделью. Одна из лучших — артефакты. К примеру, он умеет рисовать крутые диаграмы (mermaid, html, svg и т.п.), рендерить их(!), и затем прикреплять к своему ответу в виде файла, по которому можно кликнуть, и он откроется справа от чата. Это ооочень удобно! Также, если вы скидываете ему большой кусок текста (исходный код, статью и т.п.), оно не будет засорять чат, оно будет также прикрепляться в виде файла.

ChatGPT тоже умеет рисовать любые виды диаграм, но не умеет их рендерить.

4. Ещё одна фича — проекты. Вы создаёте проект, в который можно добавить файлы для контекста (например, какие-то исходники, документацию и прочие материалы) и задать общий промт. Далее внутри него вы сможете создавать чаты, которые таким образом будут удобно сгруппированы, и в них уже будет вся необходимая информация.

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

Николай Тузов

27 Oct, 19:16


Вот вам парочка интересных моментов, которые я для себя сегодня открыл. Они будут интересны и понятны только тем из вас, кто более-менее уже ориентируется в теме (кто не дождался!), но вы можете вернуться к этому посту после просмотра ролика.

1. Когда выполняется Handoff (от Процессора отвязывается тред во время syscall'а), Процессору совсем не обязательно будет назначен новый тред. К примеру, если для него нет работы, то во время этих махинаций Процессор отправят отдыхать, так и не выдав новый тред. Кстати, работой Процессора является не только выполнение горутин, но и кое-какие системные действия — GC и трейсинг.

2. Когда Процессор запрашивает список свободных горутин у Netpoller'а, он не забирает их все себе, он поступает хитрее: одну берёт себе, затем проверяет наличие спящих Процессоров (например тех, которые уснули во время Handoff из-за отсутствия работы), и отправляет в Global Run Queue ровно столько горутин, сколько нашлось таких вот Процессоров, а затем пробуждает их (теперь у них есть немного работы!). А остальные забирает также к себе в Local Run Queue.

*Под процессором я имею ввиду сущность, которую в статьях часто называют `P` — они заведуют выполнением горутин на каждом треде, и именно их количество вы конфигурируете с помощью `GOMAXPROC`.

————

Если ничего не понятно, не переживайте, всё это будет подробно разобрано в ролике. Просто хотелось поделиться ❤️

Николай Тузов

25 Oct, 05:39


Обновил я этот ваш GoLand...

В итоге, утро начинается не с кофе, а с нехватки оперативной памяти. Оно вообще когда-нибудь нажрётся? 🤡

Не поверите, я долгое время сидел на старом UI (то есть, на оооочень старой версии), периодически пробуя новый, но каждый раз откатывался назад. В этот же раз оно смогло прям удивить — мак наглухо повис, а я думал что у меня оперативки с запасом на много лет вперёд. Поэтому я даже скриншот вам нормальный не смог сделать, держите фотку экрана в стиле моей мамы (мама, привет! ❤️)

Такие дела.

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

————

Я всё равно люблю JetBrains, хорошего они делают несоразмерно больше, чем плохого. Просто немного поворчал, могу себе позволить.

Николай Тузов

24 Oct, 07:00


Исcледования рынка Go-разработчиков от DevCrowd — 2024

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

В этом году ребята снова проводят большое исследование:

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

Предлагаю снова их поддержать и поучаствовать в опросе.
Нам не сложно, им приятно, и всем нам полезно ❤️

Результаты обещают в конце ноября. Также обещают их сравнение с результатами прошлого года.

Николай Тузов

23 Oct, 19:43


Новый выпуск Go Get Podcast 👾

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

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

————

Если вы хотите, чтобы вашу идею точно заметили, вот несколько советов:

- Убедитесь, что вашей темы ещё нет в списке. Это самый важный пункт. Если есть, проголосуйте за существующую. Две одинаковые темы сложнее заметить, чем одну общую.
- Название должно быть короткое, но чётко отражающее суть (см. примеры на доске)
- Подробности пишем в описании. Тут нужно постараться описать общие моменты, а не личные пожелания
- Личные пожелания пишем в комментах - какую хотелось бы длительность ролика, какие моменты стоит затронуть и т.п.
- Перед оформлением поста посмотрите, как оформлены уже существующие, чтобы был плюс-минус общий формат. Так будет проще с ними работать.
- Прошу не разводить дискуссии в комментах, всё лишнее я буду оттуда удалять, чтобы перед глазами было только важное. Дискутировать можете в чате текущего ТГ-канала.
- Комменты в стиле "согласен", "поддерживаю" тоже лишние - вместо этого достаточно проголосовать за пост.

Буду очень благодарен тем, кто внесет свой вклад ❤️

Да, видео про планировщик тоже будет 😩

Николай Тузов

22 Oct, 08:51


Итоги конкурса

Билеты забирают:
- @vaihdass
- @rostislaved

(да, я договорился ради вас о втором билетике, хотя изначально предлагали один ❤️)

Поздравляю! 🧙
Промокоды отправлю в личку.

Всем остальным напоминаю, что в предыдущем посте есть промокод на скидку 500р, в следующий раз повезёт 🥰

Николай Тузов

20 Oct, 18:56


Давайте ещё веселья ради похвастаемся своей домашней библиотекой. Я знаю, вы это любите!

У меня «библиотека» ещё в процессе обустройства, поэтому могу лишь показать подборку книг. Как я появятся шкафы под них, будет выглядеть лучше 😅

Делитесь и хвастайтесь своими в комментах ❤️
Сегодня можно и нужно!

Николай Тузов

20 Oct, 18:44


Ваши любимые книги, связанные с IT

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

Да, можно писать даже те, что вы ещё не прочитали, но очень хотите. Можете называть сразу несколько, и можно прикладывать фото обложек.

🤓 Будет круто, если кратко прокомментируете, почему именно эти

💻 Скидывать электронные копии книг в комментариях нельзя

————
Вот первое, что мне приходит в голову. Для новичков:

- "Грокаем Алгоритмы", Бхаргава А
- "Код. Тайный язык информатики", Петцольд

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

Для более опытных:

- "Алгоритмы: построение и анализ", Кормен — очень подробная, толстая, но при этом язык довольно простой и понятный, читается интересно
- "Структура и интерпретация компьютерных программ" — много лет пытаюсь её осилить, но пока не победил. Сложная, забористая, разбираются очень интересные и глубокие вещи.

Ну и для Go-разработчиков моё любимое: "Язык программирования Go", Донован, Керниган — на мой взгляд, лучшая книга по Go. Очень много примеров, довольно глубокое погружение.

Это далеко не весь мой список, но пока ограничимся этим. Возможно, в комментариях ещё что-нибудь накидаю.

Николай Тузов

20 Oct, 17:05


Не бойтесь набивать шишки

Ещё одна распространённая ошибка — я не возьмусь за практику, пока не изучу полностью теорию!

По моему опыту, если набить кучу шишек накопить много вопросов, теория воспринимается намного лучше — её интересней читать, проще понимать и она лучше запоминается.

Когда я просто читаю текст, мне просто сообщают кучу информации, к которой я настроен просто нейтрально. Будем честны, это не всегда интересно, и это очень плохо запоминается. Вспомните мой пример выше про мою ошибку в программе на Go — я прочитал описание проблемы, просто принял её к сведению и успешно забыл. Ведь это не моя проблема! 😄

Другое же дело, когда я напоролся на описанные в тексте грабли, нашел снова эту главу и прочитал её с огромным интересом, вникая в каждый нюанс. А что поменялось то? Я просто набил шишку, что добавило важности материалу.

Поэтому не бойтесь пробовать. К примеру, когда вы изучаете новый язык программирования, почитайте о нём хотя бы чуть-чуть, и сразу начинайте писать код. Пусть это будет плохой код, пусть местами вы будете страшно тупить, допускать ужасные ошибки — ваша цель именно в этом! После этого вы вернётесь к книге по этому ЯП уже с кучей готовых вопросов, и читая текст вы будете восклицать — Так вот почему оно не работало! Так вот, как оно устроено внутри! Читать будет намного интереснее и полезнее, такую информацию вы вряд ли вообще когда-то забудете.

Пример из моей жизни

Я в разные годы пытался взяться за довольно сложные книги по сетям или по разным ОС. Одна из таких книг — "UNIX. Профессиональное программирование" (Стивенс У. Ричард, Раго Стивен А.). Когда я читал её впервые, было довольно скучно, мало что запоминалось, и я так её и не осилил. Но вот относительно недавно я снова её и открыл, и некоторые главы теперь читать ооочень интересно, потому что у меня накопилась куча вопросов, и эффект "Так вот как оно работает!" я ловлю довольно часто.

К примеру, кому вообще интересно читать про select, poll и epoll? Круто, конечно, но просто очередной массив информации. Другое дело, когда ты пытаешься разобраться в устройстве планировщика Go, затем вникаешь в Network Poller, узнаешь там про epoll, и с огромным удовольствием читаешь об этих вещах в специализированных книгах.

#обучение

Николай Тузов

20 Oct, 16:37


Не пытайтесь запомнить прочитанное

Вы всё равно всё забудете и это нормально

Я часто слышу от людей, особенно от новичков, что у них "большая проблема" — они читают техническую книгу, а потом забывают прочитанное. На самом деле, так устроен наш мозг — если вы запихаете туда кучу теоретической информации, он вряд ли её усвоит прям сразу. Да, есть люди с очень крутой памятью, которые так умеют, я даже знаком с такими, но это редкость и исключение. У обычных же людей есть куча ограничений, и с этим просто нужно уметь работать.

Приведу пару примеров

Когда я только начинал работать с Go, я напоролся на очень популярные среди новичков грабли. Не буду тут углубляться, но вот тут я описал похожую ситуацию (см. этот и несколько постов ниже). Я абсолютно не понимал, почему код так работает, в чём проблема. Но как только я нашел на форуме объяснение, я быстро осознал, что я читал об этой ситуации в книге! Я быстро нашел эту главу, перечитал, и всё окончательно встало на свои места.

Какие можно сделать выводы? Да, я полностью забыл то, о чем прочитал относительно недавно. Было ли это прочтение бесполезным? Нет, ведь иначе мне пришлось бы вникать в эту ситуацию и изучать её с нуля, смутно понимая куда вообще копать. А тут я быстро вспомнил контекст, нашел информацию и быстро освежил память. И главное — я больше никогда это не забуду! Такие ситуации-озарения очень хорошо закрепляют знания в голове.

И ещё пример. Однажды я прочитал книгу про NoSQL базы данных — она довольно тоненькая, и там затрагиваются очень разные темы, но объясняются не очень подробно. Например, там я впервые прочитал разбор CAP-теоремы. Я прочитал эту книгу довольно бегло, местами даже не сильно углубляясь в материал, и, казалось бы, забыл прочитанное. Но когда я читал уже более специализированные статьи и книги, я осознавал, что некоторые понятия уже неплохо понимаю, и материал давался мне довольно легко. То есть, несмотря на то, что я прошелся галопом по куче тем, читая эту книгу, это всё равно сделало свой вклад — немного упростило чтение других книг.

Как же быть?

Просто читайте, пытаясь понять написанное как можно лучше. В идеале — полностью, но если материал очень сложный, то тут уж как получится. Но не надейтесь, что вы как робот сможете всё это вспомнить по первому требованию. Для закрепления новых знаний с ними нужно работать — практиковать, обсуждать, писать на эту тему что-то своё или делать доклады, вести заметки (см. Zettelkasten) и др.

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

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

Книги и статьи — это лишь один из инструментов для изучения новых тем. И этот инструмент сам по себе не очень полезен — вы не изучите новый язык программирования, прочитав о нём книгу. Вместе с этим вам нужно активно писать код по мере прочтения, собирать грабли, обжигаться и др.

На самом деле, тут еще много чего можно сказать, но об этом я напишу уже в отдельных постах.

#обучение

Николай Тузов

20 Oct, 16:24


Про обучение

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

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

Я оформлю это в виде серии постов в этом канале под общим тегом #обучение (один пост с этим тегом у меня уже был, и он неплохо сюда вписывается).

————

Важный дисклэймер: я описываю лишь свой личный опыт и не являюсь каким-либо экспертом в данной тематике. Где-то я могу ошибаться, а где-то ваш мозг вообще может быть устроен иначе. Но вам никто не мешает опробовать всё это на себе на практике, и таким образом понять — подходит это вам или нет.

И подразумевать я буду в основном изучение технических материалов — статьи, книги, новые технологии и т.п. К примеру, изучение языков это совсем другая история — да, есть некоторые пересечения, но это всё равно другое.

#обучение

Николай Тузов

18 Oct, 17:26


Podlodka Go Crew — Неделя Архитектуры

Ладно, вернемся к делу! 🤓

В последнее время коллеги нас очень балуют конференциями по Go, чему я очень рад. Вот и ребята из Podlodka организуют очередной сезон, уже 4-й по счёту.

Я уже не раз о них писал, но на всякий случай напомню — ребята делают онлайн-конференции для Go-разработчиков с упором на практическое применение знаний.

Я лично знаком с большинством спикеров (часть из них даже мои бывшие коллеги) и с некоторыми организаторами, поэтому точно готов рекомендовать к посещению ❤️

Программа строится так, чтобы сессии проходили в удобное время — утром и вечером.

Когда: с 28 октября по 1 ноября

Программа:

— Даниил Подольский и Павел Иванов проведут публичное собеседование по архитектуре
— Никита Русин расскажет, как GoWrap заменяет однообразный код на сгенерированные декораторы с логированием и метриками.
— Максим Данильченко поделится опытом разработки SDK для работы с платформой A/B-тестирования.
— Денис Ларионов покажет, как применять подход BDD в Go для создания бизнес-тестов, которые послужат живой документацией.

Early-bird билеты можно купить тут.

Промокод на скидку 500р от меня: Tuzov4

————

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

Условия розыгрыша у меня всё те же, что и всегда — изучите программу и в специальной форме напишите, какой доклад вам больше всего хотелось бы посмотреть и почему. Чем убедительнее это будет выглядеть, тем больше шанс. Эта мера исключительно для отсева случайных прохожих.

Итоги конкурса буду подводить в зависимости от количества желающих — возможно сегодня вечером, а может чуть позже. Вот вам мотивация не выключать уведомления в этом канале 🙃

Если же вам не повезло, можете использовать промокод на скидку (см. выше). В следующий раз повезёт! 🥰

В любом случае, цены на билеты вполне адекватные, не грех и поддержать подобное событие.

————

Если у вас есть вопросы по самой конференции, пишите в комментариях — ребята из Подлодки обещали отвечать на них

#конференция #розыгрыш #podlodka

Николай Тузов

18 Oct, 15:26


Итого — что мне дал физфак?

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

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

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

Я больше не задаю себе вопроса — "смогу ли я это понять / изучить / сделать?", я лишь оцениваю сроки и выбираю подходы. Раньше я так не мог и не осознавал собственные силы.

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

————

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

К примеру, когда я берусь за изучение чего-то нового, я чувствую себя как слепой котёнок — непонятно с чего начать, сложно осознать многие вещи, кажется что ты тратишь время, а прогресса будто бы нет. Всё как-то непонятно, расплывчато, темно. Сложно подобрать слова, это что-то на уровне эмоций. Раньше это пугало и казалось, что лучше и не браться — тема такая сложная, необъятная, непостижимая..

Но сейчас мой мозг привык к этому. Ощущения при изучении нового всё те же, но к ним добавляется ясное осознание того, что тема точно перестанет быть сложной, надо просто терпеливо тратить на её изучение время. И это стало даже приносить удовольствие — приятно наблюдать, как что-то непостижимое становится на твоих глазах простым, понятным, привычным. Теперь сложные вещи меня не пугают, а только радуют.

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

Также становятся понятны некоторые более тонкие нюансы. К примеру, я прекрасно понимаю ограничения своей памяти, и не пытаюсь хорошо запомнить прочитанное, и не расстраиваюсь когда забываю. Я знаю, при каких обстоятельствах оно может всплыть само, и как правильно работать с материалом, чтобы максимизировать профит. Или ещё такой момент — порой кажется, что ты весь день что-то изучаешь, а прогресса будто бы ноль. Но я понимаю, что стоит мне выспаться, и завтра я этот прогресс точно замечу, нужно просто дать возможность мозгу сформировать новые нейронные связи. И таких нюансов довольно много, но их мало просто понимать, к ним нужно привыкнуть.

В общем, чем больше и сложнее вы учитесь, тем лучше понимаете, как работает ваш главный инструмент — мозг.

Я часто вижу страдания новичков, которые жалуются на то, что они глупые, ничего не знают, ничего не понимают. Но когда они рассказывают подробности, я понимаю, что до сих испытываю точно такие же трудности, и это нормально! С чем-то нужно смириться, а с чем-то научиться правильно бороться / работать. Это нормально, что ты не можешь решить задачу, и даже готовое решение кажется тебе непонятным! Это нормально, что ты прочитал книгу по программированию и полностью её забыл! У всех так.
Но при этом я понимаю, что эти люди не воспримут мои советы всерьез — это будет звучать лишь как пафосные слова. А чтобы осознать их значимость, нужно ощутить всё это на себе.

————

Стоило ли тратить на это 4 года своей жизни? Не уверен. Жалею ли я об этом? Точно нет.

Николай Тузов

18 Oct, 14:40


*Простите, Telegram сам разбивает посты на несколько, если они не влезают*

А теперь сравните это с жизнью разработчика — работодатели за тобой сами бегают, бюрократии минимум, к тебе относятся с уважением, и ты всегда уверен в завтрашнем дне. Моя первая зарплата на первой работе в качестве разработчика (после физфака) была 60 тыс, и самое главное - она была СТАБИЛЬНАЯ, она не могла стать меньше или просто пропасть, мне не приходилось ради этого тратить личное время на фриланс и т.п. Я даже не верил до конца, что из этих денег я помогу 20 тыс заплатить за аренду квартиры, и у меня ещё останется 40!

Да, осознание того, что я поставил точку на своей научной карьере и не вернусь больше в те стены, разрывало мне сердце. И сейчас я вот пишу и снова начал переживать. Но что поделать, такова жизнь ☔️

Но вообще, разработка хоть и менее интересна, но всё же тоже очень интересна. Так что, не будем грустить, каждому своё. Да и напомню, физик из меня был объективно плохой а программист хороший — я любил науку, а она меня нет. И это тоже сыграло свою роль ❤️

Николай Тузов

18 Oct, 14:40


Моя научная деятельность

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

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

Конечно, этот человек был полностью прав, обычный первокурсник ничего не может предложить научной группе. Но первокурсник с реальным опытом в программировании может! Ну вы поняли — я продолжал поиски и однажды случайно познакомился с научной группой, где активно занимались математическим моделированием. Грубо говоря, это такой вид исследований, когда моделируется некая система, изучается её поведение, и на основе результатов делаются выводы.

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

Вообще, возможностей было много, а свободного времени очень мало, поэтому приходилось выбирать. Я какое-то время смог даже поработать с ребятами на кафедре физики высоких энергий, которые работали с Церном (эксперимент Алиса, на тот момент), были очень интересные предложения и с кафедры квантовой механики. Сердце разрывалось, но приходилось отказываться.

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

Сейчас я всё это вспоминаю с большой печалью, ведь задачи там были во много раз интересней нынешних — смесь теоретической физики и программирования, это пожалуй самое интересное, что было в моей жизни. Знаете, у меня есть хороший личный маркер, когда задача является для меня интересной — если при её решении мне хочется закрыть глаза и думать над её решением, значит задача очень крутая. В моей карьере разработчика подобных задач крайне мало, а во время научной деятельности — практическая каждая была такой. Блин, я вот сейчас пишу пост и прям хочется всё бросить и вернуться в свой любимый НИИ Физики..

Стоит ли объяснять, почему я в итоге ушел? Скажем так, уходить я не планировал, решил просто во врем магистратуры взять год передышки в виде академического отпуска. Я хотел подкопить денег на фрилансе и заодно подтянуть слабые места по учёбе. Но когда отпуск подошел к концу, я понял, что не готов вернуться. Потому что жизнь наконец-то наладилась и я начал чувствовать себя в безопасности. Дело не только в том, что я начал больше зарабатывать, а скорее в чувстве стабильности, и ещё в отношении к тебе. Очень тяжело живётся, когда ты не уверен, сможешь ли получить следующий научный грант, найдётся ли для тебя свободная ставка в НИИ. Да и в целом, в отделе кадров НИИ ты ощущаешь, будто ты приходишь к ним на поклон, и не очень то в тебе заинтересованы.

Николай Тузов

17 Oct, 13:32


Учёба на физфаке и боль

Очень приятно, что вы так хорошо встретили мои предыдущие посты на эту тему. Штош, тогда дальше я расскажу о своих страданиях, наслаждайтесь 😩

Если я начал слишком сильно растекаться в мыслях, дайте знать, исправлюсь 🥰

————

Мне с первых дней очень понравилась местная атмосфера. Как я писал выше, ранее я был очень далёк от "интеллектуальной элиты", и даже смутно себе представлял, кто такая эта ваша наука, чем занимаются учёные, и что вообще может быть в физике и математике дальше школьной программы. Вообще, физика — не самое популярное направление, поэтому большинство туда приходят по зову сердца. А если нет, то я очень им сочувствую — они в лучшем случае вылетают после первого семестра, а в худшем — жестко насилуют себя долгих 4 года. Учиться на физфаке и так сложно, а делать это без удовольствия — вообще ад. К слову, после первой сессии у нас вылетела примерно половина потока, а после второй примерно половина от оставшихся.

Так или иначе, я попал из общества, где люди всячески избегают учёбы (прогуливают, учатся из под палки, нечестно сдают экзамены и т.п.) в общество, где у людей от учёбы горят глаза. Я будто попал в другой мир! В такой атмосфере было очень приятно учиться и вообще находиться.

Но сказать, что мне было сложно — ничего не сказать. С первых дней физфак начал ломать меня чуть более, чем полностью. В первый учебный день нас всех собрали и провели тест, чтобы разделить на три потока — базовый, основной и теоретический. Но по сути: "слабый", "средний" и "сильный". Конечно, я был уверен, что попаду в "сильный", и конечно я попал "слабый". Это был большой удар по моей самооценке, и дальше эти удары только продолжались. К примеру, я получил "неуд" (отправили на пересдачу) на первом же коллоквиуме по линейной алгебре — не уложился по времени, не успел решить одну из задач обязательного блока. На меня тогда напала жесткая депрессия — ведь я думал, что буду одним из лучших на курсе, а оказался одним из худших. Кстати, в таких случаях очень рекомендую общаться с людьми — обсуждать свои проблемы и переживания, становится НАМНОГО легче.

Сложно сказать, как я умудрялся при этом держаться и не сдаваться. Во мне будто оставался какой-то стержень, где-то глубоко сидела мысль - "но я ведь и правда лучший, просто пока не успел проявить себя.. ещё чуть-чуть и покажу всем!".

Но зато! Можете себе представить мою радость, когда я впервые получил "отлично" на экзамене по той же алгебре? Мне буквально хотелось плакать и смеяться одновременно!

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

Но и на третьем курсе физфак продолжал надо мной нещадно издеваться. Я решил, что раз я наконец-то попал на теор. поток, то начну жизнь с нового листа и буду учиться ещё более старательно. У нас тогда начался комплексный анализ, в который я довольно глубоко вник. Я дополнительно занимался со своим научным руководителем, который помогал мне лично готовиться к экзамену. И когда я туда шел, я был настроен на высший был, который обычно получить крайне сложно. Но в итоге меня снова опускают с небес на землю — я допустил небольшую неточность в одном определении и меня тут же отправили на пересдачу.

Вообще, принципиальность и душный формализм наших математиков, это отдельный разговор. У меня пару раз был буквально такой разговор с принимающим:

- Вы ведь понимаете, что это просто механическая ошибка, и в целом задача решена правильно / определение корректное?
- Да, конечно
- Тогда, может быть, примете его?
- Нет, ведь формально в вашей работе ошибка


При этом, преподаватели были весьма неплохие, и очень сильные учёные. Но такие случаи выбивали из колеи. Учёба меня всё больше огорчала, и я всё больше уходил при этом в науку, как ни странно. Это была некая отдушина — пусть на экзаменах меня душат, зато тут очень ценят и у меня есть успехи! Успехи в виде научных публикаций, признания в нескольких научных группах, работу в которых я умудрялся совмещать.

Об этом я напишу уже в следующем посте

Николай Тузов

15 Oct, 14:04


Коллеги из Freedom Bank Kazakhstan учат, как правильно тестировать на проде

Тестовые пуши летят в большом количестве всем клиентам (или, как минимум, большинству). Само приложение при этом не открывается — предполагаю, что люди массово ломанулись проверять и тем самым положили им, например, Auth-сервер.

Не завидую ребятам, весёлая предстоит ночка. Зато как весело читать профессиональные казахстанские чатики.

Если ты тоже клиент Freedom, можешь кидать свои мемасики сюда

———

UPD: видео от CEO Фридома

UPD 2: начислили компенсацию ~2400 тенге

Николай Тузов

14 Oct, 07:56


👾 Канал с регулярными подборками материалов по Go

https://t.me/Golang_google

Ребята постоянно тестируют разные библиотеки, читают и смотрят материалы по Go, копаются в исходниках и многое из этого применяют в работе. А потом делятся с подписчиками.

Примеры интересных постов:

1. Лучшие бесплатные курсы и книги для изучения GO в 2024 году
2. Все что нужно для подготовки к Golang собеседованию
3. Полезная подборка бесплатных учебников по Go
4. А здесь собрана Мега-полезная папка Go-разработчика
и многое другое.

Подписывайтесь, потом сами себе спасибо скажете: https://t.me/Golang_google

#партнерский_пост #текст_прислан

Николай Тузов

13 Oct, 18:19


Физика.. Что..?

*простите, текст не влез в один пост*

Пока готовился, наткнулся в сети на хвалебные отзывы о Фейнмановских Лекциях по Физике — это серия учебников по курсу общей физики, на основе лекций, которые читал легендарный Ричард Фейнман. Без преувеличений скажу — эти книги изменили мою жизнь. Благодаря им я влюбился в физику и начал подумывать о сумасшедшей для меня идее — поступить на физфак вместо мехмата. Чем больше я об этом думал, тем больше понимал, что именно этого я и хочу. В конце концов я полностью отдался этой идее и переключился на физфак, выбирая между МФТИ, СПбГУ, МГУ и НГУ.

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

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

————

На этом я пока выдохся..
Напишите, пожалуйста, интересно ли вам это читать, и стоит ли продолжать
?

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

Николай Тузов

13 Oct, 18:19


Мой путь к высшему образованию

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

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


Школа и колледж

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

После 9-го класса я поступил в колледж на программиста. Ничего хорошего я про этот колледж сказать не могу, к сожалению. Сказать, что "преподаватели" неквалифицированные — ничего не сказать. Это были 4 годы, выброшенные в трубу. Меня спасал лишь мой энтузиазм — я с детства мечтал стать программистом, и с большим интересом, по мере сил, погружался в это. А колледж мне только мешал тем, что съедал огромное количество времени на бесполезную хрень (о, эта хрень достойна отдельного поста!). Увы, в то время в моём окружении никто не знал, что идея поступления в подобное место очевидно провальная, так что — не повезло.

После окончания колледжа я без проблем устроился программистом. Но не благодаря колледжу, а скорее вопреки — насколько я знаю, я вообще единственный из моей группы, кто это сделал.

Мысли о поступлении в ВУЗ

От продолжения учёбы я отказался, т.к. совсем разочаровался в системе образования. Я был уверен, что в ВУЗах ситуация не лучше, тем более мои знакомые обычно это подтверждали. Но нашелся один коллега, который всё же меня переубедил. Он учился в казахстанском филиале МГУ, и, как он утверждал, филиал был не сильно хуже оригинала (тем более, пару лет они учатся в Москве). По его рассказам, качественное высшее образование существует, и его ВУЗ его устраивает. Правда, он советовал идти не на факультет ВМК (вычислительной математики и кибернетики), а на Мехмат. Потому что программирование можно легко выучить и самому, а вот математику намного сложнее. И изучение математики лучше научит меня думать, учиться и вообще работать головой.

А ещё я постоянно комплексовал по причине стрёмного образования. Когда я пытался осилить SICP, вы подумайте, меня пугало даже упоминание бинома Ньютона. Практически каждая математическая формула сначала вводила в ступор, а затем вынуждала ресёрчить что это и зачем. В итоге я загорелся поступлением в этот самый филиал МГУ. Но мои хотелки быстро прогрессировали. Я стал задумываться, а что если попытаться не в филиал, в сам МГУ? А что если рассмотреть другие известные вузы? И т.д.

Параллельно с этими мыслями я начал готовиться к поступлению. Напомню, что я родился и вырос в Казахстане, но, как оказалось, поступить для меня не проблема — нужно было всего лишь приехать в РФ и сдать этот ваш ЕГЭ в любом удобном городе, я выбрал Омск (кстати, мне очень понравился этот город, особенно их знаменитый драмтеатр, это прям любовь!).
Это была весёлая авантюра - готовился я примерно пол года, при том что напрочь забыл школьную программу (да, приходилось вспоминать, кто такой этот ваш косинус), плюс окончил я всего 9 классов (колледж не в счёт). Я нанял репетиторами пару своих бывших учителей, и, забегая вперёд, справился относительно неплохо.

Николай Тузов

13 Oct, 17:25


Нужно ли высшее образование разработчику?

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

Если кратко: нет, это вовсе не обязательно, без высшего (и даже среднего) образования можно легко обходиться.

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

Нужен ли диплом?
Я за свою карьеру посетил сотни собеседований, и как думаете, сколько раз меня спросили о дипломе? Примерно ноль, кроме 1-2 случаев, когда интервьюеру просто хотелось поболтать о жизни. Так что — нет, диплом для устройства на работу не нужен вообще.

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

Но при этом, я не считаю ВУЗ чем-то бесполезным
Просто его нужно трезво воспринимать как инструмент. При чем, вы должны понимать, точно ли проведенные там годы того стоят. К примеру, многие из вас наверняка слышали про олимпиадников из ИТМО / Матмеха СПбГУ и др., которые, кроме прочего, благодаря своему вузу побеждали в мировых чемпионатах по программированию, обзаводились крутыми связями и устраивались на очень крутые должности в старый ВК к Дурову, в Facebook и т.п. Но и тут нужно понимать, что таких успехов удаётся далеко не всем студентам подобных вузов.

Но что вы гарантированно можете получить — хороший фундамент знаний в своей голове. Но только при условии, что вы подобрали хороший вуз с хорошей программой и крутыми преподавателями. Я хорошо запомнил слова одной своей преподавательницы — "учите сейчас, после окончания учёбы вы ни за что не найдёте на это времени". И, чёрт побери, как же она была права! В то время я воспринимал это со скепсисом, но вот прошло уже больше 10 лет, и весь мой ящик отложенных во время учёбы тем "на потом" так и пылится нетронутый. Правда, по образованию я физик, а не программист, поэтому и темы специфичные.

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

————

Но главное, на мой взгляд, что может дать хороший ВУЗ — умение учиться, думать и не бояться браться за сложные задачи и материалы. Об этом я напишу в следующем посте, поделившись своим личным опытом.

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

Николай Тузов

08 Oct, 20:23


Пожалуй, репостну это здесь, больно уж статья понравилась:

https://t.me/golang_digest/163

Это не реклама, это мой канал с подборками по Go 🥰

Николай Тузов

02 Oct, 09:24


Митап по Go от Ви.Tech

🗓 3 октября, 19:00 мск
Будет и онлайн, и оффлайн форматы.

В последнее время нас прямо таки балуют хорошими митапами, в этот раз его организуют ребята из Ви.Tech.

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

Программу можно посмотреть здесь.

Среди гостей будут:

- Даниил Подольский: глава программного комитета GolangConf, активист Go Spb и просто хороший человек. YADRO.

- Дмитрий Матреничев: Go-разработчик. Пишет Talos Linux и Omni, помогает разработчикам писать красивый и удобный код на Go.

- Виталий Левченко: продвигает Go с 2012, когда это не было мейнстримом. Соорганизатор ITGM и ProIT Fest. Основатель IT бара в Петербурге. Помогает разработчикам вырасти в principal инженеров.

- Алексей Мясников: руководитель команды в Яндекс — на проекте YDB. В IT с 2006 года. Писал код на более чем 20 языках программирования: больше всего на C++, Java, Go, TypeScript.

Регистрация бесплатная, но количество мест ограничено.

Николай Тузов

20 Sep, 15:25


Я долго пинал Антона, чтобы он добрался до ютуба, и наконец-то это случилось! Антон очень крутой разработчик и довольно харизматичный человек — приятно слушать, поэтому я сам долго ждал его видосов/стримов, так что искренне рекомендую.

Прямо сейчас у него идёт стрим, предлагаю поддержать, если вам нравится такой формат. Не дадим ему даже шанса забросить это дело! 🙃

Не реклама, а только по зову сердца ❤️
Передавайте ему от меня привет

Николай Тузов

20 Sep, 15:21


Штош!
В пятницу, 20.09.2024, в 17:00 CEST, попробуем (пока в демо-режиме) провести стрим рекреационного программирования =)
Начнем писать код, который в будущем будет опубликован в качестве опенсорс Go библиотеки Gaijin Entertainment.

https://youtube.com/live/W8axpsf4vUU

Николай Тузов

20 Sep, 14:15


Простите, не мог не поделиться и тут 🙃

Николай Тузов

20 Sep, 14:15


Краткий анонс, чуть позже поделюсь впечатлениями подробней и покажу видосы 😊