В новом выпуске подкаста freeCodeCamp основатель платформы Куинси Ларсон беседует с ветераном индустрии Джо Аттарди (Joe Attardi). За 21 год карьеры Джо прошел путь от разработчика на QBasic до ведущего инженера (Principal Engineer) и автора четырех технических книг, сохранив при этом страсть к написанию кода и осознанно отказавшись от кресла руководителя.
🛠 Путь индивидуального контрибьютора: почему не все хотят быть CTO 1:33
Джо Аттарди представляет собой редкий тип профессионала, который, обладая компетенциями для позиции технического директора (CTO) в стартапе, сознательно выбирает роль индивидуального контрибьютора (IC) . По словам гостя, он пытался заставить себя заинтересоваться предпринимательством и маркетингом, глядя на популярный в соцсетях тренд «building in public» (строительство продукта на глазах у публики), но быстро понял, что его истинное призвание — решение чисто инженерных задач .
В ходе беседы участники обсудили иерархию должностей в современных технологических компаниях:
- Инженер (Engineer)
- Старший инженер (Senior Engineer)
- Staff-инженер (Staff Engineer)
- Ведущий инженер (Principal Engineer) — текущая позиция Джо, которая находится на ступень ниже уровня архитектора .
Джо Аттарди подчеркивает, что за две десятилетия работы он ни разу не руководил людьми и не планирует этого делать . Он объясняет это нежеланием сталкиваться с «принципом Питера» — ситуацией, когда человек поднимается по карьерной лестнице до уровня своей некомпетентности . По мнению Джо, переход с технической лестницы на управленческую требует совершенно иного набора навыков, которыми он не обладает . Тем не менее, он признает важность концепции «управления вверх» (managing up) — умения сопереживать своим менеджерам и понимать цели бизнеса, чтобы оставаться эффективным сотрудником .
🤖 Выживание в эпоху AI: конец «кодинга ради кодинга»? 12:48
Обсуждая влияние искусственного интеллекта на индустрию, Джо Аттарди выразил мнение, что чистые навыки написания кода постепенно обесцениваются . Поскольку ИИ-агенты все лучше справляются с рутинными задачами по генерации текста программ, на первый план выходят более глубокие компетенции.
По прогнозу Джо Аттарди, в будущем критически важными станут:
- Знание фундаментальных основ Computer Science (структуры данных, алгоритмы) .
- Навыки проектирования архитектуры систем.
- Умение проверять и очищать код, созданный нейросетями (так называемый «vibe coding cleanup») .
Гость и ведущий сошлись во мнении, что если компании начнут массово заменять разработчиков на ИИ, это неизбежно приведет к накоплению технических ошибок, для исправления которых инженеров в итоге наймут обратно по высоким ставкам консультантов . Тем не менее, Аттарди с долей тревоги отмечает, что сегодня он бы поостерегся советовать своим племянникам выбирать путь разработчика ПО как гарантированно стабильный . В качестве более «безопасных» от автоматизации профессий он называет рабочие специальности (электрики, автомеханики) и роли, требующие глубокого человеческого контакта .
🎓 Ренессанс дипломов Computer Science 13:56
Интересным поворотом дискуссии стало обсуждение ценности высшего образования. Джо Аттарди утверждает, что дипломы Computer Science (CS) снова станут крайне востребованными среди работодателей . Он отмечает, что в период «бума» 2010-х годов движение самородков и выпускников буткемпов было на пике, и диплом перестал быть обязательным условием для найма .
Однако в эпоху доминирования ИИ именно академическая база позволяет разработчику:
- Понимать фундаментальные ограничения технологий.
- Использовать ассоциативное мышление для решения нестандартных задач.
- Владеть «картой» компьютерных наук, что помогает быстрее осваивать новые инструменты .
Сам Джо закончил Массачусетский университет в Лоуэлле (UMass Lowell), имея на момент выпуска долг по кредиту в размере около $20 000, что он считает вполне приемлемой ценой за полученные знания .
📚 Написание книг как способ самообучения 41:28
Джо Аттарди — автор трех изданных книг (по Web API, CSS и Gatsby) и в данный момент работает над четвертой для издательства O'Reilly . Несмотря на статус «публичной фигуры» в Google, Джо честно признается: техническое писательство — это не про деньги.
Факты о доходах и процессе издания книг, озвученные Джо:
- Типичный аванс (advance) может составлять около $1000 .
- Роялти начинают выплачиваться только после того, как продажи книги покроют сумму аванса.
- Ежемесячный доход от старых книг может составлять всего $20–30, чего хватает лишь на кофе или новую видеоигру .
- Процесс от подачи заявки до появления книги на полках занимает от полутора лет и более .
На вопрос о том, зачем заниматься столь трудоемким делом при низкой доходности, Джо отвечает, что это лучший способ структурировать собственные знания . По его словам, после написания книги по CSS он стал гораздо лучше понимать этот язык программирования . Он сравнивает это с хобби плотника, который после целого дня на стройке приходит домой, чтобы поработать в своей мастерской в удовольствие .
🛡 Безопасность цепочек поставок и открытый код 28:41
В своей основной деятельности Джо работает в сфере кибербезопасности, занимаясь сканированием зависимостей на наличие уязвимостей (CVE) . Он подчеркивает критическую важность защиты «цепочки поставок» (supply chain), напоминая о таких масштабных проблемах, как уязвимость Heartbleed в OpenSSL .
Джо приводит пример новой угрозы: ИИ-галлюцинации.
- Разработчик просит LLM написать код.
- ИИ предлагает установить несуществующий npm-пакет.
- Злоумышленник заранее регистрирует пакет с таким названием, содержащий вредоносный код, в надежде на «галлюцинацию» модели .
Гость также поделился историей успеха своего open-source проекта — компонента для выбора эмодзи (emoji picker) . Несмотря на то что проект создавался как личный вызов (написать сложный компонент на чистом JavaScript без фреймворков), его однажды использовала компания Starbucks для своей осенней промо-акции .
🎮 Жизнь вне экрана: D&D и видеоигры 1:00:03
Важной частью жизни ветерана разработки является баланс между работой и семьей. Джо проводит вечера с шестилетним сыном, а после того как семья засыпает, посвящает время видеоиграм и настольным ролевым играм (TTRPG) .
Джо отмечает глубокую связь между инженерией и настольными играми вроде Dungeons & Dragons:
- Обе сферы требуют понимания сложных систем правил .
- Необходимость стратегического планирования и прогнозирования.
- Развитие навыков социального взаимодействия вне «цифрового прямоугольника» экрана .
В финале беседы Джо Аттарди дал совет самому себе в молодости: «Найди ментора» . Он сожалеет, что в начале пути у него не было наставника, который помог бы быстрее освоить тонкости индустрии и развить мягкие навыки (soft skills), которые необходимы для перехода на уровень архитектора .