Часть 2/3 — «Я могу чего-то не знать сегодня»

Продолжение предыдущего поста. За годы работы мне не встретились все технологии и архитектурные задачи, которые сегодня принято ожидать от backend-разработчика определённого грейда. Где-то у меня не было Kubernetes. Где-то Kafka. Где-то не было команды, проектирующей огромную распределённую систему с тысячами запросов в секунду. Если технология не требовалась бизнесу — у меня просто не возникало коммерческой задачи, на которой можно было бы получить с ней настоящий опыт. Поэтому сегодня я иногда открываю вакансию и вижу условные двадцать требований: с пятнадцатью работал, три понимаю, две никогда не использовал. Раньше это сильно беспокоило. Сейчас — намного меньше. Потому что за эти годы я много раз приходил к задаче, не зная конкретного инструмента, а затем изучал его и решал её. И теперь появился AI. Я программировал ещё до нынешнего бума AI и «вайб-кодинга», поэтому мне действительно нравится сам процесс разработки. Но делать вид, что AI не существует, считаю таким же странным. Сегодня я постоянно им пользуюсь. Нужно разобраться в библиотеке — использую. Понять чужой код — использую. Проверить архитектурную идею — использую. Разобраться с непонятной ошибкой — использую. Быстро погрузиться в незнакомую тему — тоже использую. Но для меня существует принципиальная граница. Мне недостаточно получить от модели код, который «вроде работает». Я должен понимать решение настолько, чтобы завтра, когда оно перестанет работать, суметь самостоятельно найти причину, изменить его и дальше отвечать за систему. Интернет, Stack Overflow, документация, IDE, а теперь AI — всё это инструменты. Инженером тебя делает не способность написать всё по памяти. А способность понимать задачу и отвечать за получившийся результат. Кстати, эти посты я тоже формулирую вместе с AI. И не вижу смысла этого скрывать. История, мысли, сомнения и опыт — мои. Я рассказал всё своими словами, а AI помог структурировать это и точнее сформулировать. Примерно так же я использую его в разработке: не вместо собственного мышления, а чтобы быстрее пройти путь от вопроса к пониманию. Поэтому я больше не хочу изображать разработчика, который знает всё. Такого человека, наверное, вообще не существует. Вместо этого могу честно сказать: я могу чего-то не знать сегодня, но умею сделать так, чтобы завтра это перестало быть проблемой. И, пожалуй, это одно из главных профессиональных качеств, которое я приобрёл за эти годы. В третьей части напишу, какую компанию я сейчас ищу и почему ради правильной команды мне не так важен даже грейд при входе.