Не знаешь - спроси
Мы много говорим о том, как разработчику научиться правильно промптить и задавать вопросы ии. Но, кажется, есть навык ещё важнее - задавать вопросы людям, особенно когда ты учишься.
В разработке до сих пор живёт странный миф: «хоть усрись, но разберись сам», будто хороший разработчик - это тот, кто может несколько часов или дней перелопачивать документацию, но ни в коем случае не подойти к коллеге с вопросом. А если спросил - значит недостаточно старался.
Да, умение самостоятельно разбираться - одна из ключевых компетенций разработчика. Но самостоятельность не равно изоляция.
Есть ещё один момент: время разработчика - это деньги бизнеса. Если ты четыре часа героически разбираешься с проблемой, ответ на которую коллега мог дать за десять минут, компания не получила четыре часа твоего «самостоятельного развития». Она заплатила за четыре часа работы. Иногда эти четыре часа оправданы: ты исследуешь новую область, строишь понимание, и это знание пригодится дальше. А иногда заново открываешь то, что человек за соседним столом уже выяснил полгода назад.
Поэтому вместо «могу ли я разобраться сам?» полезнее спросить: «Как сейчас эффективнее получить нужное понимание и двинуть задачу дальше?»
Когда ты спрашиваешь другого разработчика: «Почему здесь сделали именно так?», можно узнать то, чего нет в коде:
- какие варианты уже пробовали и почему отказались от них - какие ограничения системы не очевидны со стороны - какие компромиссы команда считает приемлемыми - как другой инженер вообще рассуждает об этой проблеме.
ИИ отлично объясняет технологии, но он не сидел на созвоне полгода назад, когда команда выбирала между двумя архитектурными решениями и не помнит инцидент, после которого появилась «странная» проверка в коде.
Мне нравится такой цикл обучения:
попробовал разобраться сам → спросил ИИ → понял, что именно осталось непонятно → пришёл с конкретным вопросом к человеку → сравнил ход мыслей → сделал выводы.
Причём ИИ может помочь и сформулировать этот вопрос.
Не: У меня не работает, помоги
А: Я понял это так. Попробовал A и B. В A вижу такую проблему, в B - такую. Мне кажется, здесь выбрали B из-за X. Я правильно понимаю?
Самостоятельность это умение двигать задачу вперёд, понимать границы собственного знания и использовать всё, что есть вокруг: документацию, код, ИИ и других людей. А героически страдать в одиночку до трёх ночи это скорее самобичевание 🤵