В своём недавнем интервью N айтишницам я рассказывал, что мне больше всего не нравится в моей работе. В частности, я пожаловался на высокий порог входа во многие инженерные инструменты. Хочу развить эту мысль.
Вчера мне понадобилось достать один файл с логами из большого tar.gz архива. Я всегда избегал работы с tar из-за его упоротого CLI. Вот, например,
tar -xzvf — совершенно неочевидная последовательность букв, которую надо запомнить, чтобы распаковать архив. А если распаковываешь архивы раз в месяц (как я), то к следующему разу она уже выветривается из головы. А недавно мне понадобилось арендовать сервер в Selectel (зачем — расскажу в следующем посте). Я около часа пытался сладить с формой создания сервера: добавлял публичный SSH-ключ, но он никак не хотел появляться в списке доступных ключей. В итоге поручил это Codex, он погуглил, выяснил, почему в моём конкретном случае так не работает, и сам накликал в форме всё что надо.
В разработке подобные истории происходят постоянно. То надо разобраться с инфраструктурой, то найти нужный параметр конфигурации, то понять, почему изменение порядка include'ов сломало сборку большого C++ проекта. В прошлом году я рассказывал, как потратил два рабочих дня на устранение ошибки
Type struct List should match type struct List.Я для себя называю это обратным принципом Парето — 80% усилий дают всего 20% результата. И в разработке очень часто эти 80% усилий уходят на возню с вещами, которые имеют довольно слабое отношение к решаемой нами задаче.
Я ведь не исследую алгоритмы архивации — я хочу посмотреть логи. Я не изучаю устройство облачной инфраструктуры Selectel — мне нужен сервер. И когда я два дня разбирался с ошибкой линковки, моя фича, ради которой всё затевалось, уже была написана.
Ещё год назад эти 80% усилий мне приходилось в значительной степени прикладывать самому. А сейчас у меня есть
При этом часть освободившегося времени можно вложить, чтобы разобраться, как устроен этот клятый
tar, если понимаешь, что он ещё не раз тебе пригодится. И в следующий раз воспользоваться им самостоятельно, не дожидаясь ответа нейронки.Мне кажется, это одна из самых приятных сторон применения AI в разработке. Мне по-прежнему хочется самому разбираться в устройстве PostgreSQL, придумывать алгоритмы и принимать архитектурные решения. А вот тратить полдня на выяснение того, какой параметр нужно передать очередной трёхбуквенной утилите в bash, мне совершенно не хочется. И теперь всё чаще можно этого не делать.
А какую часть своей работы вы с наибольшим удовольствием делегировали нейросетям?