Думаю, что многим знаком Шерлок Холмс - литературный персонаж авторства Артура Конан Дойла. Гениальный сыщик, который поражал своей эрудицией – анализируя грунт мог сказать про район его происхождения, цитировал Горация и Гёте, хорошо разбирался в медицине, анатомии, ботанике, зоологии, химии и даже в значениях татуировок преступников. Но при этом он не утруждал себя запоминанием общеизвестных фактов:
— Вы что, хвастаетесь своим невежеством?! …Но ведь я говорю об элементарных вещах, которые знает каждый!
— Но я-то не каждый, Ватсон, поймите: человеческий мозг — это пустой чердак, куда можно набить все, что угодно. Дурак так и делает: тащит туда нужное и ненужное. И наконец наступает момент, когда самую необходимую вещь туда уже не запихнешь. Или она запрятана так далеко, что ее не достанешь. Я делаю по-другому. В моем чердаке только необходимые мне инструменты. Их много, но они в идеальном порядке и всегда под рукой. А лишнего хлама мне не нужно.
— Учение Коперника, по-вашему, хлам?!
— Хорошо. Допустим, Земля вращается вокруг Солнца.
— То есть… то есть… как — допустим???
— Земля вращается вокруг Солнца. Но мне в моем деле это не пригодится!
В наши дни, когда почти у каждого в кармане или на столе есть интернет-доступ к большинству знаний, накопленных человечеством, значение эрудиции уже не так важно, как во времена Шерлока. Но тем не менее, у каждого есть определенный багаж знаний, которые они бережно хранят в переплетениях своих синапсов. Ведь кто в здравом уме ляжет под нож к хирургу, который во время операции будет гуглить методику надрезов и вид внутренних органов? 🤕
Для программистов тоже есть определенные области знаний, владения которыми делают из них ценных специалистов, а не операторов копипасты из ChatGPT и StackOverflow. Это понимание аппаратных платформ, для которых создается код (телефоны, ПК, микроконтроллеры, кубиты и даже Roblox); это знание парадигм выбранных языков программирования (скриптовые и процедурные, ООП, функциональные, логические); это знание синтаксиса, базовых библиотек и паттернов проектирования кода; это знание инструментов разработки, тестирования и деплоя; и это знание предметной области, проблематику которой должна решать написанная программа. Это довольно немаленькие объемы знаний, которые каждый год нуждаются в актуализации 🧑🏫
Но АйТи настолько многогранное и безграничное, что в погоне за знаниями, многие программисты забывают, что было элементарно для Шерлока – нельзя изучить абсолютно все; пока мы учим одно, то забываем другое. Специалисты, которые разобрались в тонкостях работы своих цифровых платформ и научились реверс инжинирингу для патчинга легаси, одновременно с этим остановили развитие в области отношений с окружающими – встречайте классических бородатых мальчиков в поношенных свитерах. Или наоборот, вчерашние крутые спецы, которых назначают руководить и которые начинают ходить в пиджаках на советы директоров, подобно школьникам после летних каникул, забывают как маунтить диски и пользоваться линтерами 🤷♂️
Мой секрет, который позволяет мне успешно выполнять самые сложные проекты: я в первую очередь запоминаю ограничения используемых технологий, чтобы не тратить время на тупиковые направления, и изучаю саму предметную область, чтобы мое моделирование было максимально приближено к жизни; а вот все мелкие подробности, которые я могу в любой момент прочитать в мануалах или загуглить, я даже не пытаюсь запоминать! Например, если нужно в коде програмно поработать со схемой компоновки, то эффективнее просто скопировать листинг с Инфостарта.
Жаль, что ChatGPT и Copilot до сих пор не научились разбираться в коде 1С, я бы тут же нашел им применение и смог бы взяться за некоторые интересные проекты, на которые банально не хватает рук. Многие известные ИТ-блогеры уже несколько лет как делегировали ИИ низкоуровневую кодогенерацию и довольны полученным результатом, который исправлять нужно даже меньше чем за джунами 🤖
#reflections #technology #erudition #элементарно