HowProgrammingWorks - JavaScript and Node.js Programming @howprogrammingworks Channel on Telegram

HowProgrammingWorks - JavaScript and Node.js Programming

@howprogrammingworks


Программная инженерия и JavaScript сообщества Метархия.

Ссылки на митапы, группы и каналы сообщества https://github.com/HowProgrammingWorks/Index/blob/master/Links.md

HowProgrammingWorks - JavaScript and Node.js Programming (Russian)

Вы когда-нибудь задумывались о том, как работает программирование? Хотели бы узнать больше о JavaScript и Node.js? Тогда канал "HowProgrammingWorks" идеально подойдет для вас!

Этот канал является сообществом программистов и инженеров, увлеченных программной инженерией. Здесь вы найдете ссылки на митапы, группы и другие каналы, связанные с программированием на JavaScript и Node.js. Мы предлагаем широкий спектр информации, начиная от основ программирования и заканчивая продвинутыми темами.

Ссылки на митапы, группы и каналы сообщества доступны на странице https://github.com/HowProgrammingWorks/Index/blob/master/Links.md. Присоединяйтесь к нашему сообществу и углубляйтесь в мир программирования вместе с нами!

HowProgrammingWorks - JavaScript and Node.js Programming

17 Jan, 07:59


— Нарешаются литкода для собесов, а потом, на реальном проекте переменную нормально назвать не могут,
— Очень любят книжку с кабанчиком, но деплоят по FTP,
— За TypeScript могут глаза выцарапать в интернетах, но any и юнионтайпы на каждом шагу,
— Запишут в резюме кучу фреймворков, но а потом из npm код ставят не прочитав исходника,
— Расскажут на собесе про паттерны, а потом пишут: if (enabled === true)...
— Полгода пилили микросервисы, но про coupling и cohesion нет, не слышали,
— На ревью кода гнобили джуна за необработанную ошибку, а в проде процесс запущен через forever...

HowProgrammingWorks - JavaScript and Node.js Programming

16 Jan, 09:25


https://youtu.be/lxHudbhgfy0

HowProgrammingWorks - JavaScript and Node.js Programming

09 Jan, 14:34


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

HowProgrammingWorks - JavaScript and Node.js Programming

08 Jan, 11:31


https://youtu.be/qkj9uJeEPhg

HowProgrammingWorks - JavaScript and Node.js Programming

07 Jan, 12:32


🧠 Олег Хомяк и Тимур Шемсединов — Психология для ИТ специалистов, софтскилы, найм, самореализация, понимание себя, личная эффективность, качества — https://www.youtube.com/playlist?list=PLHhi8ymDMrQYUP9oHZRaZNDs7uoUHi7CW

HowProgrammingWorks - JavaScript and Node.js Programming

02 Jan, 11:00


https://youtu.be/_i__fBmxCaY

HowProgrammingWorks - JavaScript and Node.js Programming

01 Jan, 14:13


https://youtu.be/4jcB_G_u8BY

HowProgrammingWorks - JavaScript and Node.js Programming

31 Dec, 21:18


Buon Anno! 🎉 Nel nuovo anno ti proibisco categoricamente di scrivere cacca nel codice di programmazione. Altrimenti, niente spaghetti e vino per te!

HowProgrammingWorks - JavaScript and Node.js Programming

30 Dec, 10:48


Лучше всего способствует развитию софтскилс — отсутствие хардскилс. Пока умный делает руками, тупой делегирует и становится эффективным менеджером. Пока инженеру интересно разбираться в параллельном и асинхронном программировании, ему некогда деньги зарабатывать. Вы, наверное, замечали что CTO часто не вникают в суть проблемы, а CEO даже не вполне понимают, чем компания занимается. Почему же ты не CTO и не CEO? Правильно, ты занят понижением зацепления между модулями и проектированием универсальных абстракций. Книжки с кабанчиками и галактиками отвлекает тебя от книжек с голубыми океанами и скомканными бумажками. Запомни — деньги платят не за работу и за экспертизу, а за разговоры и внимание, люди хотят просто поговорить.

HowProgrammingWorks - JavaScript and Node.js Programming

28 Dec, 06:24


https://youtu.be/tzZ316WTF2Q

HowProgrammingWorks - JavaScript and Node.js Programming

25 Dec, 14:10


⭐️ Если вы не знаете, чем заняться на праздники, тут есть сборник моих докладов, прямых эфиров и интервью за 10 лет, он наверно не полный, но точно можно найти что-то интересное https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Talks.md

HowProgrammingWorks - JavaScript and Node.js Programming

23 Dec, 15:22


ООП, ФП и процедурный подход к паттерну Template Method. Каталог паттернов: https://github.com/tshemsedinov/Patterns-JavaScript

HowProgrammingWorks - JavaScript and Node.js Programming

20 Dec, 10:26


https://youtu.be/jj53cCZ0wFg

HowProgrammingWorks - JavaScript and Node.js Programming

19 Dec, 16:03


👩‍💻 Cегодня на созвоне сообщества Metarhia наш гость — Деми Мурыч, который в представлении не нуждается, и будет ревью библиотеки паттернов, которая у нас адаптирована на JavaScript и оптимизирована под V8, кроме того, расширена примерами из node.js и TypeScript https://github.com/tshemsedinov/Patterns-JavaScript

HowProgrammingWorks - JavaScript and Node.js Programming

11 Dec, 13:15


Сообщество натренировало ChatGPT на моем коде, лекциях и кодовой базе Metarhia. Хоть я в большинстве случаев не согласен, с тем, что оно генерирует, но интересно.

https://chatgpt.com/g/g-6756f8d5ed30819184b6c380fdae7507-metarhia

HowProgrammingWorks - JavaScript and Node.js Programming

10 Dec, 10:58


🚀 Free JavaScript from Oracle - https://www.infoworld.com/article/3612364/uspto-petitioned-to-cancel-oracles-javascript-trademark.html

HowProgrammingWorks - JavaScript and Node.js Programming

09 Dec, 10:18


https://youtu.be/qg_dwfTb5MQ

HowProgrammingWorks - JavaScript and Node.js Programming

06 Dec, 11:47


LISP to JavaScript compiler prototype https://github.com/metarhia/metalisp

HowProgrammingWorks - JavaScript and Node.js Programming

04 Dec, 15:54


✔️ Начинаются праздники, приходит время гостей-экспертов на курсах Node.js 2024, Async 2024 и Patterns 2024. Уже завтра будет семинар по применению LISP подхода для JavaScript и Node.js мира.
Наш гость на завтра: Евгений Юхно
🎓 Более 30 лет в ИТ. Прошел длинный путь от обслуживания и ремонта компьютеров на ВЦ, которые в то время занимали по-здания. Через программирование до управления ИТ как в реальном секторе экономики, так и в ИТ компаниях.
👨‍💻 В программировании:
- для ПК: ASM Z80, MASM PDP11, MASM i286, MSX Basic, Fortran, Pascal / Object Pascal / Delphi, C / C++ / Borland C++ Builder, Lisp, dBaseIII, dBaseIV, Clipper87, Clipper 5, Java, PL/SQL, T-SQL, VisualBasic, C#, PHP, Perl, Python, JS
- для PLC и embedded: ASM для КР-580, ASM Z80, Step 4... 7 (DSL of Siemens), DSL Allen Bradley, C/C++
- для ERP: C#, AL (DSL of MS Nav / MS Business Central), C-- (DSL of MS Axapta и его приемников), 1С -- куда ж без него в Украине 90х
- под различне операционки: CP/M, IRIX, Xenix, IBM AIX, HP-UX, MS-DOS, Linux, Windows
🎯 В бизнесе:
- Программист / Инженер по внедрению ИС
- Системный аналитик / Бизнес-аналитик / IT консультант / Бизнес-консультант / CTO / CIO / CEO
- Организовывал бизнес-направления в Hardware и Software
- Организовывал ИТ-компании с нуля
💬 Тема семинара:
Влияние основополагающих технологий на современные, и почему это хорошо на примере LISP и JS. Суперпозиция хорошо забытого и современного на примере персональной эффективности в Independent software development.

HowProgrammingWorks - JavaScript and Node.js Programming

03 Dec, 06:07


https://youtu.be/J_sNzO9mhPk

HowProgrammingWorks - JavaScript and Node.js Programming

02 Dec, 08:34


В этом плейлисте будет весь SOLID к новому году: https://youtube.com/playlist?list=PLHhi8ymDMrQZxZuGbkJai8M-0qu8iui2R&si=XCm1BaWBtYDc5hc9

HowProgrammingWorks - JavaScript and Node.js Programming

02 Dec, 07:10


https://youtu.be/tKmdtCbtMPo

HowProgrammingWorks - JavaScript and Node.js Programming

30 Nov, 13:22


🖼 Future in Metarhia https://github.com/metarhia/metautil/pull/260

HowProgrammingWorks - JavaScript and Node.js Programming

29 Nov, 12:49


Что думают функциональщики про GoF паттерны: (GoF)(x) = G(F(x))

HowProgrammingWorks - JavaScript and Node.js Programming

29 Nov, 06:11


https://youtu.be/KHEsLGOX6C0

HowProgrammingWorks - JavaScript and Node.js Programming

24 Nov, 07:45


🧩 Тут две простейшие реализации языка LISP на JavaScript, одна ООП + паттерн Interpreter, а вторая на мультипарадигменном программировании, с тем же паттерном: https://github.com/HowProgrammingWorks/Interpreter/tree/main/JavaScript

HowProgrammingWorks - JavaScript and Node.js Programming

18 Nov, 11:15


https://youtu.be/x5y7pwcgG10

HowProgrammingWorks - JavaScript and Node.js Programming

12 Nov, 06:09


https://youtu.be/C76eaYgHPFc

HowProgrammingWorks - JavaScript and Node.js Programming

08 Nov, 12:38


— AI сможет создавать сложные кодовые базы с нуля // Дарио Амадей CEO Anthripic
— Мы бы волновались, если бы он смог создавать простой код и не с нуля, а через рефакторинг, а так... Сложные и с нуля все могут.

HowProgrammingWorks - JavaScript and Node.js Programming

05 Nov, 11:18


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

HowProgrammingWorks - JavaScript and Node.js Programming

02 Nov, 07:08


https://youtu.be/vJc4SotVL_g

HowProgrammingWorks - JavaScript and Node.js Programming

30 Oct, 09:01


https://www.devjobsscanner.com/blog/top-8-most-demanded-programming-languages/

HowProgrammingWorks - JavaScript and Node.js Programming

22 Oct, 05:15


💡 И немного о структурах данных: список со списками, это как массив с массивами, как кулек с кульками, как коробка с коробками: List<List<T>>

HowProgrammingWorks - JavaScript and Node.js Programming

21 Oct, 12:43


💡 Способы создания более сложных абстракций из простых в ООП и функциональном программировании сильно пересекаются:
Наследование - для ООП кажется, что все понятно, но применять наследование нужно не для расширения абстракции, а для сужения, что в ФП достигается типами, а для построения более сложных абстракций из более простых в ФП используют композицию, замыкания, функции высшего порядка (обертки, декораторы).
Композиция - в ФП композиция везде, а вот в ООП обычно недооценена, реализуется через создание экземпляра одного класса внутри конструктора другого, композиция создает меньше зацепления и зависимости, проще тестировать, когнитивная нагрузка меньше.
Агрегация - похожа на композицию, но ответственность за инстанцирование не на классе-владельце, т.е. создание экземпляров, вынесено в другие абстракции, а агрегирующий класс получает их уже готовые, чаще всего через конструктор и объединяет.
Миксины - примешивать к готовым экземплярам ссылки на другие, это хаос, в ФП такого нет, и три предыдущие способа гораздо предпочтительнее, но если нет никакого более красивого выхода, то можно применить, как временное решение, создающее техдолг.
Ассоциация - иногда под этим термином понимают взаимодействие абстракций, это нормально, но иногда это значит внешнюю агрегацию, в худшем случае - через миксин, в лучшем - через сеттер, так что, это тоже создает зацепление и технический долг.
Делегирование - это подвид композиции, когда интерфейс внутренней абстракции полностью реализуется наружной, по сути это прямая замена наследования, без использования наследования и проблем, связанных с ним.

HowProgrammingWorks - JavaScript and Node.js Programming

18 Oct, 07:45


Functional programmers also can do nodejs

HowProgrammingWorks - JavaScript and Node.js Programming

14 Oct, 05:30


⭐️ Good and bad cases for TypeScript union types based on JavaScript V8 optimizations

👍 Good cases for union types:
- Union of strings instead of enum:
type Direction = 'north' | 'south' | 'east' | 'west';
- Union of numeric as status or result code: type
StatusCode = 200 | 201 | 204 | 400 | 500;
- Union with shared properties:
type MailTarget = User | Company; (both with email)
- Union with common method:
type Thenable = Promise | Query; (both with then method)

👎 Bad cases for union types:

- Polymorphic object shapes causing depots:
type Something = User | Socket | string;
- Requiring extensive "if"-logic and type checking:
type Input = string | number | boolean;
- Inconsistent return types:
function getData(id: number): string | string[];
- Mixed primitives and objects:
type Value = number | { value: number };
- Сontradictory members:
type Person = { name: string; } | { name: number[] };
- Union types that include any:
type FlexibleType = number | any;
- Incompatible contracts:
type Handler = (() => string) | ((event: Event, data: any) => void);

🎁 Empty value for primitive types and reference types:
- Use null for empty reference types: Object, Function, Array, etc...
- Use undefined for empty primitive types: string, number, boolean, bigint
- Avoid mixing symbols with other types in unions

HowProgrammingWorks - JavaScript and Node.js Programming

11 Oct, 08:10


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

Концепции, парадигмы, паттерны и принципы, построены как мифы и верования. И самое парадоксальное в мифе, что он работает, дает хорошие результаты в ежедневной практике. Не нужно думать о нем, как о чем-то мистическом, выдуманном, отвлеченном. Если программист избавится от мифологического сознания, например перестанет верить в микросервисы, в nodejsоднопоточный, в скалярные типы данных, перестанет писать на примесях и мидлварах, то картина мира рассыпается и он не может ничего написать. Чтобы опять начать что-то создавать, нужно построить другой миф. Только ощущение, что у тебя сложилась картина мира, позволяет перейти от теории к практике. Но любая картина мира состоит из разрозненных фактов, которые переклеены мифом, иначе, бы мы утонули в зазорах между знаниями, как в пустотах между электронами и атомами. Без мифа мир страшен, непредсказуем и неуправляем. Опытный программист просто имеет несколько мифов в голове и может между ними переходить, некоторые могут даже конструировать свои, и такое конструирование может быть только интуитивное, если его начать логически строить, то никто не поверит. В мифе должны быть нестыковки, странности, даже противоречия, вот это заходит в голову идеально. Это инструмент, который позволяет действовать эффективно, скрывать сложность, давать целостную картину мира, но не слишком идеальную, чтобы было место для развития.

HowProgrammingWorks - JavaScript and Node.js Programming

10 Oct, 13:03


«выкладывайте код из вашей повседневной разработки в сторис, это легко и весело, и через 24 часа они исчезнут»

HowProgrammingWorks - JavaScript and Node.js Programming

09 Oct, 11:52


https://youtube.com/live/vTMf21FG6wg

HowProgrammingWorks - JavaScript and Node.js Programming

30 Sep, 11:14


https://youtu.be/IDxb5eLx2b4

HowProgrammingWorks - JavaScript and Node.js Programming

30 Sep, 10:43


⚠️ Завтра первый день онбординга на Patterns 2024.

Это нулевая неделя, формируются группы и назначаются менторы. Процесс оказался не таким простым организационно. Всем, кто зарегистрировался - прошу спокойно подождать до вечера и если вам на почту не придет приглашение, то утром обратиться в нашу поддержку, там отдельные люди занимаются вопросами платежей, рассрочкой, потерянными контактами (часть людей везде указывает разные почты и телефоны, вводят "Юра" или "EA 00 00 FF FF" в поле фамилии и невозможно понять, кто это).

∙ Поддержка по платежам: https://t.me/patterns2024 или на почту [email protected]
∙ Кто зарегистрировался но не оплатил, то платить тут https://nodeua.com/Patterns-2024-buy.html
∙ Кто оплатил, но не заполнил форму, это тут: https://forms.gle/wuJ3nvSeF2apgUESA
∙ Кто и зарегистрировлся и оплатил, но не полял куда попал, то можно посмотреть описание тренинговой программы на трех языках тут https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Patterns-2024.md
∙ Курсы по ноде и по асинхронному программированию тут: https://www.patreon.com/tshemsedinov
Пишу это потому, что есть люди, которые пишут, что хотели попасть на курс по ноде и уже где-то оплатили, а оказалось, что они на паттерны попали.

HowProgrammingWorks - JavaScript and Node.js Programming

24 Sep, 07:01


Проблема сложности, которую решают микросервисы, на самом деле решается проектированием структуры кода на среднем уровне, т.е. люди от функций и классов хотят перескочить сразу к архитектуре, минуя модули, слои, подсистемы. Если код хорошо структурирован на среднем уровне благодаря:
- системам модульности,
- внедрению зависимостей и инверсии управления,
- архитектурным границам и слоям,
- декомпозиции абстракций,
- separation of concerns,
- information expert,
- контрактному программированию,
- управлению, сокрытию и изоляции сложности,
- разделению прикладного и системного кода,
то такое приложение можно в течении нескольких часов собрать в 2, 3, 5, 105 инстансов, заменив взаимодействие между их структурными компонентами на RPC и трансляцию событий. Так, что модули и подсистемы знать не будут, что они запущены не в одном процессе. А если код «рыхлый», то его и микросервисом не изолировать, у такого сервиса будет большой внешний трафик, потому, что зацепление на чужие данные и чужую логику высоки. Так что, «распиливание» это только распиливание бюджета команд и бюджета на инфраструктуру. Обойти вопрос хаоса на среднем уровне при помощи чуда не выйдет. Чтобы построить Application архитектуру, нужна качественная структура, а чтобы перейти к Solution и Enterprise архитектуре, нужна качественная Application архитектура. Попытки перескочить от функции, цикла и массива к Solution архитектуре приводят к появлению монстров типа облачных функций, микролитов, моносервисов и скоро мы увидим Variable as a Service, а потом гору этих абстракций, вываленных на уровень Solution, не сгруппированных и не изолированных в структурные единицы управления сложностью. Чуда не будет, ни кто не решит за нас вопрос перехода от отдельного кирпича к небоскребу, нужны промежуточные структурные единицы.

HowProgrammingWorks - JavaScript and Node.js Programming

23 Sep, 09:48


🧩 Тарифные планы тренинга с наставниками Patterns 2024

∙ Minimal: обучение в общей группе без наставника, но с групповыми семинарами
∙ Standard: обучение с наставником в небольших группах (10 человек)
∙ Professional: обучение с наставником, индивидуально и в группах, дополнительные материалы
∙ Exclusive: персонализированный учебный трек с автором курса и приглашенными экспертами

👉 Подробности: https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Patterns-2024-ru.md

Формат тренинга

🗓 12 недель (3 месяца) + онбординг (1 неделя) + секретный модуль
👍 Доступ к материалам курса дается навсегда
🕑 Каждую неделю обязательно: 1 час лекций + 2 часа семинаров + 2 часа самостоятельной работы
🥋 Тренировки и групповая работа с наставниками, а не только смотрение видосов и чтение
🙋‍♂️ По желанию: для глубокого погружения +3 часа дополнительных материалов на старших тарифах
🏅 По завершению курса Вы получаете сертификат
⚠️ Входные требования: базовый JavaScript + рекомендуется опыт практического программирования
🙅 Для кого не подойдет: не для начинающих, бесплатные материалы для начинающих ищите у Тимура
💳 Рассрочка: помесячная оплата для всех тарифов кроме минимального
🗺 После курса участие в комьюнити выпускников, где уже тысячи людей по всему миру

👉 Купить: https://nodeua.com/Patterns-2024-buy.html

HowProgrammingWorks - JavaScript and Node.js Programming

22 Sep, 11:00


🚀 Patterns 2024 Тренинг с наставниками

Перевод готов, советую его прочитать даже тем, кто не берет курс, потому что это почти статья и там много идей как усовершенствовать свои знания и структурировать их: https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Patterns-2024-ru.md

Автор утверждает, что это самые важные вещи, которые следует учить и практиковать:

📂 Системы модульности, внедрение зависимостей (DI) и инверсия управления (IoC)
📦 Декомпозиция абстракций и принципы GRASP с современной интерпретацией
🧩 Паттерны «Банды четырех» (GoF) переосмысленные для JavaScript и TypeScript
🔮 Принципы изоляции и SoC (Разделение ответственностей)
👷🏻‍♂️ Разделение прикладного и системного кода (разные специальности)
🧩 Принципы SOLID: SRP, OCP, ISP, DIP, LSP с адаптацией для разных парадигм
🌟 Мультипарадигменное программирование и создание доменных языков (DSL)
🧩 Контрактное программирование и декларативное моделирование через схемы
🏛 Чистая архитектура (Clean) и слоеная архитектура (Onion или Layered)

(читать дальше...)

HowProgrammingWorks - JavaScript and Node.js Programming

21 Sep, 15:02


🧩 Patterns 2024: The mentoring program is ready, I'll prepare translations tomorrow )))

🗓 Start: 1 October; Duration: 12 weeks

👉 Training description: https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Patterns-2024.md

👉 Registration for the course: https://forms.gle/wuJ3nvSeF2apgUESA

HowProgrammingWorks - JavaScript and Node.js Programming

17 Sep, 18:19


Вот вы говорите, алгоритмы, алгоритмы, а тут открываешь ноду и видишь такое: https://github.com/nodejs/node/blob/7014e50ca32d39b94d04e04a5e6498e5c2f4346f/lib/path.js#L249-L274

HowProgrammingWorks - JavaScript and Node.js Programming

17 Sep, 09:47


Кто говорит, что программист должен обязательно учить алгоритмы, тренироваться на литкоде и читать книжку с кабанчиком? Вы тоже не шарите, потому, что не понимаете переходных процессов в полупроводниках, не знаете как возникает диффузионный ток на pn-переходе. Нет у вас базы )))) Так вот, не нужно быть инженером по двигателям внутреннего сгорания, чтобы водить автомобиль. 99999 из 100тыс. программистов на работе не напишут поворот АВЛ-дерева, это не нужно знать, чтобы писать сложные программные системы для медицины, логистики или банка. Это спрашивают на собесах — правда, но только потому, что найм сломан и в галерах и в фаангах, там вообще началась брежневизация руководства, полный отрыв от реальности и загнивание, как в позднем совке. Это все возможно только потому, что они уже набрали вес и скорость и теперь могут сидеть на палубе титаника, слушать музыку, пить шампанское и жевать сопли, пока он тонет. Есть очень много тем сложных и очень нужных в работе программиста, которые будут 100 раз в день использоваться на любой работе инженерной: навыки декомпозиции абстракций, управления зацеплением абстракций, т.е. усилять и снижать зацепление и понимать для чего это делаешь, навыки разделения ответственности между программными компонентами (separation of concerns), внедрение зависимостей, инверсия управления, системы модульности, это все из чего строится структура приложения. А мы видим, что люди цикл с массивом выучили и сразу переходят к архитектуре.

HowProgrammingWorks - JavaScript and Node.js Programming

13 Sep, 05:13


🎓 IT образование: для себя определил, что неприемлемо брать деньги с начинающих, с людей, которые еще не знают что им нужно, которые вообще слабо ориентируются в отрасли. Обратите внимание, большинство трешевых ИТ-школ и "инфобизнесменов" специализируются именно на начинающих, им же можно рассказывать про циклы месяц, про переменные разжевывать и про операторы еще месяц, массивы учить и уже через полгода написать какой-то несчастный тудулист или чатбот, в виде простыни кода, и они рады, у них есть результаты, ну вот реально что-то получилось. А попробуйте продать что-то мидлам и синьорам, у них уже сформировалось мировоззрение, есть свое видение, им доказать ценность вашего курса на порядки сложнее. А потом они будут требовательными в процессе обучения, окажется, что нужно быть специалистом высокого уровня, тратить много времени, чтобы удовлетворить их, ответить на вопросы, не засыпаться от реальных продуктовых примеров кода, которые они приносят на занятия для разбора. А начинающих, ну я готов допустить, что можно брать с них деньги за наставничество, за проверку работ, за ревью кода, но не за учебный материал, которого и так море в интернете. Но такое наставничество, это удел джунов, которые еще год назад сами были такими же, и не может быть бизнесом, оно так же полезно этим наставникам для их роста, как и для начинающих. По-хорошому, вообще непонятно, кто кому платить должен. В идеале, сам процесс должен выходить в ноль по затратам сил и пользе с обоих сторон и может идти как взаимозачет. Посмотрите на всех приличных людей, которых вы знаете в ИТ-образовании, они концентрируются на обучении людей, которые уже работают и могут заработать на свое образование. Ни в коем случае не учите начинающих, которые берут кредиты на обучение, которые одалживаются или тратят последние деньги на то, ценность чего еще сами не понимают. Они еще 100 раз передумают, бросят, опять начнут, переметнутся на другой язык, поймут, что душа лежит к какой-то третьей экосистеме, и главное, что первые полгода они не могут определить качество обучения. И вот тут из кустов появляются создатели "образовательного контента", высокохудожественные читатели документации и прочие мошенники. Люди, учите друг-друга, не давайте этой нечисти парить голову начинающим, помогите им проложить роадмап в профессии, материала море, до первой работы можно вполне на нулевом бюджете доучиться, вкладывая только время и силу воли.