Уровень? полезно будет всем, от крепкого джуна до сеньора, особенно тем, кто в университетах не обучался.
Материалы будут выходить минимум 1 раз в неделю, но когда выложу 5-й материал, самый старый удалю, и т.д. То есть всегда будет не более 4-х материалов (чтобы не получалось так, что через полгода стал доном разик, всё выкачал, и слился).
И с того же дня стоимость подписки для новых донов вырастет.
Первые материалы будут такие:
1. Три уровня рассуждений о программной системе.
Вы когда-нибудь задумывались о том, что значит "программа работает неправильно", "программа ошибочна"? Что-то вроде "ну, это когда она вылетает с ошибкой... но если она вроде работает, а может сломаться гипотетически, при определённых условиях... кхм, подождите...".
...Программа ошибочна, если причина, по которой она должна быть правильной, ошибочна.
...Мы перешли от ясного и простого определения проблемы к тому, что выглядит какой-то логической головоломкой, парадоксом или софизмом, и что вообще невозможно использовать :) На самом деле, это определение довольно строгое, и мы разберёмся с ним, освоив несколько понятий из области формальной верификации кода...
2. Три уровня рассуждений о программной системе-2
Вы завершили стадию предварительного планирования, и включились в циклы коротких итераций, как рекомендует agile. У вас есть доска с множеством листков-задачек, пользовательских требований, которые вам просто надо реализовать. И во всей этой гибкой движухе всё более соблазнительно отказаться от ведения отдельного документа по проектированию — в пользу того, чтобы просто начать фигачить модный самодокументирующийся код.
И это ваша роковая ошибка.
Мы рассуждаем о поведении программы на трёх уровнях...
3. Три уровня рассуждений о программной системе-3
Впечатление, что программирование с каждым днём всё больше превращается в запоминание кусков кода со stackoverflow и стандартных функций (а сегодня добавилась ещё и генерация кода LLM-ками) и последующее их комбинирование в надежде "угадать" правильное решение. Сторонники запоминания длиннющих перечней шаблонов проектирования и методов рефакторинга при этом даже не понимают разницу между метриками method-method coupling, method parameter coupling и method invocation coupling, с которых начинается запутывание и рост сложности в любом проекте.
Забудьте об этой тотально ложной парадигме, которую вам навязывает мэйнстрим. Изучая фигню, вы и специалистом станете по фигне, и работу будете искать соответствующую. Пока ещё можно много выиграть, просто изучив общие принципы computer science...
=
Там же продолжу и трек "Элитный Программист" (первая дюжина материалов выложена). Про что он?
...Программирование уже давно не считается профессией для фриков, ботаников и социофобов. Работа программистом стала очень престижной — в частности, потому, что за неё очень хорошо платят. Многие ребята буквально мечтают войти в ИТ и сделать там успешную карьеру. Однако большая засада в том, многие из этих многих, кто пытается это сделать, очень быстро упираются в потолок своей карьеры. Многие даже с трудом находят первую работу.
Если вы один из таких, и чувствуете, что застряли в своей ИТ-карьере, упёршись лбом в стеклянно-бетонный потолок, то самое первое, дорогие, что вам важно понять: это не ваша вина! Против вас ведётся тщательно продуманная и очень хорошо организованная война.
Самая главная причина, по которой люди застревают в своей карьере в сфере ИТ, заключается в том, что такая работа и такая карьера требуют очень хорошей способности концентрироваться. Но в наши дни вокруг вас так много отвлекающих факторов, что порой сосредоточиться очень трудно. И все это скорее специально, чем случайно.
