Есть вопросы, которые встают передо мной всякий раз, когда я думаю об обучении и о том, что значит быть инженером в области компьютерных наук сегодня.
Если искусственный интеллект уже умеет писать код быстрее и проще нас, чему тогда учить студентов? Стоит ли разбирать алгоритмы и структуры данных, или пора перестраивать курсы и учить их разговаривать с ИИ, формулировать промпты и писать спецификации? Где в этой новой реальности проходит граница между фундаментом и «новыми навыками»?
Я всё больше убеждаюсь, что настоящий инженер в области компьютерных наук строится на трёх опорах:
1. Глубокие знания предметной области (hard skills). Это не только алгоритмы и структуры данных, но и понимание архитектурных принципов, математики, сетей, операционных систем. Это то, что позволяет видеть задачу в корне, а не на поверхности.
2. Проектирование и коммуникация (soft skills). Умение ставить цели, формулировать идеи, строить архитектуру под задачу, договариваться и фиксировать спецификации. Это совокупность инженерных и «мягких» навыков, без которых ни одна система не станет устойчивой.
3. Работа с ИИ. Сегодня всё чаще программирование происходит не в IDE, а в диалоге с моделями и агентами. Мы обсуждаем задачу с ИИ так же, как с коллегой: описываем намерения, уточняем контекст, проверяем решения. Это новая форма разработки, где код — побочный продукт коммуникации. Но ценность ИИ раскрывается только в руках того, кто владеет фундаментом и умеет проверять результат. Без этого ИИ становится не инструментом, а источником ошибок.
### Следы важнее кода
Последние годы я практикую простую, но важную привычку: сохранять «следы» работы — не только сам код, но и весь контекст: промпты, рассуждения, постановки задач, допущения, ограничения. Всё это я фиксирую в обычных markdown-файлах внутри проекта.
Почему это особенно важно сейчас?
В классическом программировании код был главным носителем знаний. Но в диалогах с ИИ многое уходит «в воздух» — мы обсуждаем задачу, уточняем детали, генерируем решения, и часто результатом остаётся лишь кусок кода, а вся история рассуждений теряется. Без сохранённых «следов» проект превращается в набор артефактов, лишённых контекста.
Код же неизбежно устаревает. Он привязан к конкретному языку, библиотеке, архитектуре. Через полгода его придётся менять или выбрасывать. Но «следы» переживают код. Они позволяют воспроизвести замысел: почему было принято то или иное решение, какие компромиссы обсуждались, что считалось инвариантом. Это и есть настоящая точка опоры — для команды, для будущих версий проекта, а теперь ещё и для ИИ-агентов, которым нужен контекст.
В одном из выступлений Sean Grove (OpenAI) как раз говорил об этом: код — лишь 10–20% ценности, всё остальное — коммуникация и спецификации. Я полностью разделяю этот взгляд. Настоящий результат работы инженера — не строки кода, а зафиксированное намерение, которое можно разделить с другими и воплотить в жизнь.
### Поддерживаемость важнее скорости
Здесь уместно вспомнить Дейва Фарли. Он критически отнёсся к модной идее «vibe coding» — программирования «по наитию» с помощью моделей. В его словах чувствуется главный урок software engineering: ценность системы определяется не скоростью написания кода, а тем, насколько легко её изменять.
В бизнесе важен не сам факт, что «что-то работает», а способность это «что-то» менять без страха всё сломать. Любой продукт живёт годами и десятилетиями, и именно поддерживаемость — главные показатели качества. Инженер, который умеет строить архитектуру, оставлять зазоры для роста, писать тесты, вести документацию и обучать коллег — даёт бизнесу уверенность. ИИ может ускорить создание кода, но пока он не способен проектировать будущее продуктов.
### Образование в поиске баланса
Когда я думаю об образовании возникают вопросы. Чему учить будущих инженеров? Классике, которая проверена десятилетиями, или умению работать с новыми инструментами? Как соединить глубину и широту, фундамент и навыки коммуникации? Я уже писал об этом раньше в посте [[1. Широкий кругозор или узкая специализация]]. Там я задавался вопросом о том, что лучше широкий кругозор или узкая специализация. Теперь у меня появился новый вопрос: как встроить ИИ в образование и чему он должен научить студентов?
В дискуссии Яндекса и ИТМО прозвучали интересные мысли. Во-первых, студенты уже быстрее преподавателей осваивают новые инструменты. Это создаёт странную ситуацию: университеты вынуждены догонять своих же студентов. Во-вторых, вместе с ИИ в аудиторию вернулся дух «сократовского метода» — диалогов и малых групп. Массовые курсы давали единый поток информации, а теперь важнее стала совместная работа, обсуждение, критический разбор.
Но вместе с этим появились новые вызовы:
- Как проверять знания, если часть работы выполняет ИИ? Просто запретить — значит закрыть глаза на реальность. Решение ищут в том, чтобы смещать акцент на критический анализ: нужно уметь находить ошибки, рассуждать о правильности полученного решения, делать **ревью** полученных результатов.
- Роль преподавателя меняется из источника знания в организатора процесса, в того, кто задаёт направление и собирает вокруг себя группу студентов.
- Каждый студент может учиться в своём темпе, со своим ИИ-ассистентом. Но это требует от университетов новой инфраструктуры, новых методик, новых принципов дидактики.
Именно в этом месте вопрос о широте кругозора снова становится актуальным. Современному инженеру нужна глубина — без неё не будет понимания. Но нужна и широта: способность мыслить междисциплинарно, строить коммуникации, соединять разные области и постоянно учиться.
### Вопросы, которые остаются
- Как построить процесс обучения так, чтобы студенты не только знали алгоритмы, но и умели работать с ИИ, проверять его результат и вести собственный собственный дневник развития?
- Что важнее для инженера: узкая глубина или широкий кругозор? Можно ли соединить эти качества?
- Как правильно оставлять «следы» в учёбе и работе, чтобы ИИ агенты помогали делать выводы, исправлять ошибки и расти дальше?
### Заключение
Инженер будущего — это не тот, кто быстрее пишет код, а тот, кто соединяет глубокие знания, умение проектировать и способность работать с ИИ.
Фундамент остаётся краеугольным камнем. Математика и численные методы, операционные системы и сети, алгоритмы и структуры данных — всё это формирует понимание того, как устроен компьютер. Без этого невозможно осмыслить идеи Тьюринга, фон Неймана, Кнута — тех, кто закладывал основы дисциплины. Эти знания не устаревают: они создают мышление, на которое можно опереться.
Но фундамент — лишь одна сторона. Не менее важно уметь эти знания защищать, объяснять, обсуждать. Работать в команде, аргументировать решения, слушать других. А для исследователей и преподавателей — ещё и уметь «продавать» себя и свои идеи. Наука и инженерия всегда существовали в диалоге, и сегодня **умение говорить** становится не менее ценным, чем умение писать код
И наконец, искусственный интеллект должен быть встроен в систему образования. Не как угроза, которую стоит запретить, а как инструмент, который помогает учиться, проверять себя, формулировать мысли и готовить эксперименты. Умение работать с ИИ становится таким же естественным, как когда-то владение калькулятором или текстовым редактором.
Образование инженеров в эпоху ИИ — это опора на фундамент, развитие коммуникации и проектирования и интеграция ИИ как нового рабочего инструмента. Такой инженер умеет смотреть шире своей области, учиться вместе с другими и оставлять следы, которые переживут код.
### Ссылки на видео
- Sean Grove (OpenAI) — о спецификациях и коммуникации: https://youtu.be/8rABwKRsec4?si=cldl74tFnFw6kgM7
- Dave Farley — о поддерживаемости и «vibe coding»: https://youtu.be/1A6uPztchXk?si=SCvjey3beMzUUAlI
- Яндекс + ИТМО — о вызовах и будущем образования: https://youtu.be/55un6EmGwJA?si=D-BRAPoKVOuhAMAb