Освойте ChatGPT как персонального ассистента программиста: пишите, оптимизируйте и тестируйте код в разы быстрее > 🎤 Corey Schafer — Кори Шефер — опытный разработчик и создатель популярного YouTube-канала, специализирующийся на обучении программированию на Python и разработке программного обеспечения. ⚡ Зачем читать Экономия времени: Узнайте, как делегировать рутинные задачи, такие как написание unit-тестов и документации, нейросети, фокусируясь на архитектуре. Преодоление барьеров: Научитесь использовать ИИ для быстрого старта проектов, чтобы никогда больше не смотреть на «пустой лист» в редакторе кода. Рост продуктивности: Перестаньте быть просто кодером и станьте инженером, который управляет мощными инструментами для генерации, отладки и рефакторинга кода. 🗺 Карта навыков | Уровень | Навык | Результат | | :--- | :--- | :--- | | Базовый | Диалоговое взаимодействие | Получение готовых скриптов по запросу | | Средний | Итеративная отладка | Исправление ошибок через уточняющие промпты | | Продвинутый | Рефакторинг и оптимизация | Превращение громоздкого кода в «питоничный» | | Экспертный | Интеграция систем | Проектирование API и автоматизация тестов | 1. Диалоговый формат генерации кода: от идеи к рабочему прототипу В современном мире программирования ChatGPT выступает не просто как справочник, а как полноценный коллега, с которым можно вести продуктивный диалог. Кори Шефер подчеркивает: чтобы получить от нейросети максимум, нужно перестать формулировать запросы как поисковые фразы для Google. Вместо поиска фрагментов кода, общайтесь с чат-ботом на естественном языке, описывая контекст и задачу так, как вы бы объясняли её младшему разработчику или наставнику. В видео Кори демонстрирует простоту этого процесса на примере написания простейшего цикла от 1 до 10. Казалось бы, такая задача не требует помощи, однако нейросеть не только генерирует код, но и поясняет механику работы функции , уточняя, что стоп-значение является исключающим. Это превращает процесс написания кода в обучение в режиме реального времени. Когда задача усложняется, например, до хеширования паролей с использованием соли, ценность ИИ возрастает кратно. Вы просто описываете логику: «мне нужно принять ввод от пользователя, который является паролем, и защитить его через хеширование с солью». ИИ выдает готовый код с использованием библиотеки , комментирует каждый шаг и предупреждает о необходимости правильного хранения соли в реальных приложениях. Это снимает когнитивную нагрузку с разработчика, позволяя сфокусироваться на бизнес-логике, а не на синтаксических тонкостях библиотек, которые вы, возможно, редко используете. Более того, диалоговый подход позволяет вносить правки «на лету». Если результат не соответствует требованиям безопасности, например, ввод пароля отображается на экране открытым текстом, не нужно начинать поиск заново. Вы просто говорите нейросети: «сделай так, чтобы при вводе символы не отображались на экране». ИИ мгновенно предлагает решение с модулем . Это интерактивное взаимодействие радикально меняет правила игры, устраняя тупиковые ситуации, в которые часто попадают разработчики при поиске ответов на Stack Overflow. > "Knowing how to interact with this new wave of AI tools is also going to become a skill that is going to boost our code and productivity. It's essentially a new artificial intelligence technology that we can interact with almost like we're speaking to another person." ✅ Сделайте сейчас: Попробуйте сгенерировать скрипт на языке, который вы знаете поверхностно. Опишите задачу максимально детально, а затем попросите нейросеть «добавить обработку ошибок» или «добавить логирование» в этот же код в рамках того же чата. 2. Итеративное улучшение и оптимизация кода Одной из самых сильных сторон ИИ-ассистента является способность превращать «сырой», рабочий, но неоптимальный код в элегантные решения. Кори Шефер показывает классический пример: перебор списка имен с отслеживанием индекса через внешний счетчик. Для новичка или человека, пришедшего из другого языка программирования, это кажется нормой. Однако ChatGPT моментально распознает неэффективность и предлагает заменить это на функцию . Это не просто замена кода — это мастер-класс по тому, как писать на Python в «питоническом» стиле. Оптимизация кода с помощью ИИ — это всегда диалог. Нейросеть не просто выдает новую версию, она объясняет причины: почему кортежи, возвращаемые , лучше, чем ручное инкрементирование счетчика. Этот образовательный компонент критически важен. Кори напоминает: «вы не должны воспринимать советы ИИ как абсолютную истину». Вы должны критически оценивать предложенные изменения, проверять их работоспособность и понимать, почему вариант ИИ лучше. Такой подход развивает вашу собственную экспертизу: вы видите альтернативные пути решения задач, о которых раньше не задумывались. Этот процесс применим к любым участкам кода. Если у вас есть громоздкие циклы, сложные вложенные условия или участки, которые вызывают сомнения в производительности, просто скопируйте их в чат с промптом: «оптимизируй этот фрагмент, сделав его более лаконичным и быстрым». ИИ может переписать его, используя списковые включения (list comprehensions) или встроенные методы, которые вы могли упустить из виду. Это позволяет поддерживать чистоту кодовой базы даже в условиях жестких дедлайнов. Кроме того, итерации помогают в обучении работе с регулярными выражениями. Они известны своей сложностью и нечитаемостью. Если вы столкнулись с запутанным регулярным выражением, не тратьте часы на расшифровку символов. Вставьте его в чат и попросите: «объясни пошагово, что делает это регулярное выражение». ИИ разберет его на компоненты, покажет, какие паттерны оно захватывает, и даже предупредит, если выражение является слишком «разрешительным» и может пропустить некорректные данные. Это превращает отладочный процесс в сессию менторства, где вы постоянно учитесь на реальных примерах из вашего же проекта. > "This code actually does work but you're kind of setting yourself up with possible errors and debugging if the values of the index go out of bounds. A better way to write this code would be to use the built-in enumerate function." ✅ Сделайте сейчас: Найдите в своем текущем проекте любую функцию, написанную вами более месяца назад. Вставьте её в чат и спросите: «Как можно сделать этот код более чистым, эффективным и соответствующим стандартам PEP 8?». Сравните свой исходный вариант с предложенным и внедрите лучшие практики. --- 3. Автоматизация тестирования и документации как часть разработки В профессиональной среде программирования написание тестов и документации часто воспринимается как досадная необходимость, отвлекающая от «настоящей» работы над архитектурой или новыми функциями. Кори Шефер честно признается: он сам часто откладывает создание unit-тестов «на потом», понимая при этом, что в крупных проектах это ведет к накоплению технического долга и риску поломок при каждом релизе. ChatGPT кардинально меняет эту парадигму, превращая рутинное написание тестов в быстрый и даже увлекательный процесс. В видео автор демонстрирует, как нейросеть берет на себя создание тестов для функции обработки регулярных выражений. Вместо того чтобы вручную перебирать все возможные сценарии, разработчик просто просит ИИ: «напиши unit-тесты для этого кода». Нейросеть генерирует набор проверок, учитывая как успешные кейсы, так и потенциально «битые» данные, что помогает выявить ошибки на ранних этапах. Более того, диалоговое взаимодействие позволяет гибко управлять качеством тестов. Если изначально предложенные тесты объединены в одну общую функцию, что затрудняет локализацию ошибки, вы можете мгновенно попросить чат-бота: «раздели эти тесты на отдельные функции для каждого сценария». Кори подчеркивает: когда у вас есть 5-10 отдельных функций-тестов, при падении сборки вы сразу видите, какой именно тест не прошел, что экономит часы отладки. Нейросеть также может подсказать «краевые случаи» (edge cases), о которых вы могли не подумать: например, пустая строка, ввод некорректных символов или отсутствие совпадений в тексте. Это превращает ИИ в вашего личного QA-инженера, который не дает вам забыть о безопасности и стабильности проекта. Параллельно с этим решается проблема «недокументированного кода». Мы все знаем, как больно возвращаться к собственным скриптам спустя год: переменные с непонятными именами, отсутствие контекста и логики. Кори демонстрирует, как отправить «сырой» код в ChatGPT с запросом на добавление docstrings и комментариев. Результат впечатляет: нейросеть проставляет аннотации типов, описывает назначение каждого аргумента и возвращаемого значения, что превращает нечитаемый набор команд в профессиональный, готовый к публикации модуль. Это не просто «украшательство» — это инвестиция в будущее сопровождение проекта, где каждый участник команды (или вы сами в будущем) сможет быстро разобраться в логике работы системы без траты часов на изучение каждой строки. > "I don't always write the best unit tests for my code... but when I work for large companies I really did see the benefit because it does save you a lot of time in the long run if you're writing very good unit tests on a large code base so that you know that any small changes that you make don't break everything in other places in the code." ✅ Сделайте сейчас: Возьмите любую свою функцию, которая не имеет тестов, и попросите ChatGPT создать для нее файл с unit-тестами, используя стандартную библиотеку или . Попросите его добавить тесты для обработки некорректных входных данных, чтобы проверить устойчивость вашего кода. 4. Преодоление «страха чистого листа» и проектирование систем Самый сложный этап любого проекта — это первые 15 минут. Когда перед глазами только мигающий курсор в пустом IDE, даже опытный разработчик может почувствовать ступор. Кори Шефер делится своим подходом к использованию ИИ для проектирования: ChatGPT становится мощным инструментом «архитектурного наброска». Когда автору потребовалось разобраться с API игры League of Legends, вместо того чтобы часами изучать документацию и пытаться понять структуру ответов сервера, он просто задал вопрос: «напиши скрипт, использующий этот API, чтобы посчитать процент побед игрока». Нейросеть не просто предоставила код, она структурировала его, объяснила, какие параметры необходимы, и подсказала, как делать запросы. Этот метод «быстрого старта» позволяет вам сфокусироваться на высокоуровневой логике, не тратя время на синтаксис библиотек, с которыми вы никогда не работали. Кори отмечает, что даже если сгенерированный код требует доработки или уточнения по документации, у вас в руках оказывается «скелет» приложения. Это меняет психологическое восприятие работы: вы переходите из режима «исследователя-одиночки» в режим «архитектора-редактора». Вам больше не нужно изобретать велосипед для базовых действий: авторизации, обработки запросов или парсинга JSON-ответов — ИИ делает это за секунды. Важно понимать, что использование ИИ на начальном этапе — это страховка от застоя. Кори утверждает, что даже если результат работы ИИ не идеален, это все равно лучше, чем отсутствие прогресса. Вы получаете рабочую базу, которую можно тестировать, модифицировать и дополнять. Это касается и кросс-языкового программирования: если вы мастер Python, но для фронтенда вам срочно нужен JavaScript-фрагмент, вы можете запросить конвертацию логики. Это расширяет горизонты вашего стека, позволяя чувствовать себя уверенно в смежных областях без необходимости изучать новый язык с нуля. В конечном итоге, использование ИИ в программировании — это не вопрос замены разработчика, а вопрос эволюции его навыков. Как говорит Кори Шефер: «будущее не за ИИ, который заменит программистов, а за программистами, которые используют ИИ, заменяющими тех, кто его игнорирует». Ваше мастерство как инженера заключается в том, чтобы видеть, где ИИ прав, где он ошибается, и направлять его работу в нужное русло. Используйте нейросеть как мощный рычаг, который усиливает вашу продуктивность, снимает когнитивную нагрузку и дает возможность заниматься архитектурой, а не написанием шаблонного кода (boilerplate). Постоянно развивая умение задавать точные, контекстуальные вопросы, вы становитесь не просто кодером, а высокоэффективным системным инженером, способным быстро реализовывать самые амбициозные идеи. --- 5. Искусство диалога: отладка и «работа над ошибками» Одним из ключевых преимуществ ChatGPT, которое выделяет Кори Шефер, является возможность вести полноценный диалог. В отличие от документации или ответов на форумах, где вы ограничены тем, что уже написано, здесь вы управляете процессом. Если предложенный ИИ код выдает ошибку, вы не просто ищете решение в другом месте — вы возвращаетесь к «собеседнику» и указываете на проблему. Например, в одном из своих экспериментов Кори просит написать скрипт для ввода пароля. Нейросеть генерирует стандартный код, использующий . Однако Кори понимает, что такой ввод небезопасен, так как символы видны на экране. Вместо того чтобы переписывать код самому, он просто пишет: «Сделай так, чтобы при вводе символы не отображались». ChatGPT мгновенно анализирует запрос, понимает контекст безопасности и предлагает решение с использованием библиотеки . Это и есть итеративный подход, который экономит часы, потраченные на поиск «как скрыть ввод в Python» в поисковиках. Этот процесс напоминает парное программирование. Вы выступаете в роли ведущего разработчика, а ИИ — в роли усердного джуниора, который готов мгновенно переписать любую часть архитектуры по вашему указанию. Если функция слишком сложна, попросите её упростить. Если код не проходит проверку линтера, попросите его переписать в соответствии с PEP 8. Если нужно добавить обработку исключений для предотвращения падения скрипта при неверном типе данных — просто скажите об этом. Важно понимать: нейросеть не всегда с первого раза попадает «в десятку». Иногда она может предложить устаревший метод или решение, которое требует доработки. Ваша задача — задавать наводящие вопросы. Если вы видите, что код не оптимален, спросите: «Можешь ли ты переписать этот фрагмент, используя более эффективные алгоритмы или встроенные методы Python?». Такой подход развивает критическое мышление: вы учитесь формулировать задачи так, чтобы получать максимально качественный результат. Более того, этот диалог — отличный способ борьбы с «туннельным зрением». Когда вы долго работаете над одной задачей, глаз «замыливается», и вы перестаете видеть очевидные ошибки. Передав этот же код в чат, вы получаете взгляд со стороны. Нейросеть может подсветить уязвимости, например, отсутствие проверки на пустую строку или неверную обработку кодировок, о которых вы даже не задумывались в пылу разработки. > "One thing that I really love about ChatGPT is that it actually remembers previous prompts and requests that we've made so if something is wrong or not how we like it then we can simply ask it to change the code and it's specific way again kind of like we're talking to a co-worker." ✅ Сделайте сейчас: Возьмите свой скрипт, который часто вызывает у вас раздражение (например, сложный парсер или обработчик API). Вставьте его в чат и попросите: «Найди в этом коде потенциальные уязвимости или места, где обработка ошибок реализована слабо, и предложи улучшенную версию с использованием современных стандартов Python». Сравните результат с оригиналом. 6. Кросс-языковая трансформация и расширение технического стека Современному разработчику редко удается работать только с одним языком программирования. Даже если вы «чистый» Python-разработчик, рано или поздно возникнет необходимость поправить скрипт на JavaScript, разобрать регулярное выражение или понять логику SQL-запроса. Кори Шефер подчеркивает: ChatGPT является мощным переводчиком и мостом между стеками технологий. Если вам нужно перенести логику парсинга данных с Python на JavaScript, вы не обязаны тратить дни на переучивание синтаксиса. Вы можете просто скопировать свой Python-код и написать: «Переведи этот фрагмент на JavaScript, сохранив исходную логику работы с объектами». Нейросеть не просто переведет синтаксис — она адаптирует его под идиомы принимающего языка, например, заменит срезы списков на методы массивов, если это необходимо. Этот навык критически важен при работе с API. Как показал пример с League of Legends API, когда вы сталкиваетесь с незнакомой структурой ответов сервера, вы можете попросить ИИ: «напиши на языке Cметод, который авторизуется в этом API и получает список последних матчей». Получив готовый «скелет», вы не тратите часы на изучение документации с нуля. Вы получаете работающий прототип, который можно запустить, протестировать и постепенно адаптировать под свои нужды. Это снимает страх перед новыми инструментами: вы больше не боитесь браться за задачи, связанные с незнакомыми технологиями, потому что знаете, что у вас есть «инженер-консультант», который поможет сделать первый шаг. Однако здесь скрыта ловушка, о которой предупреждает Кори: автоматизация не освобождает от ответственности за результат. Если вы не понимаете логику работы JavaScript-кода, который сгенерировала нейросеть, вы не сможете его поддерживать в будущем. ИИ — это ваш помощник, но «владельцем» кода остаетесь вы. Используйте генерацию как обучающий материал: сравнивайте, как одна и та же задача решается в разных языках. Это даст вам глубокое понимание фундаментальных принципов программирования, которые стоят над конкретным синтаксисом. В итоге вы не просто «копипастите» решение, вы растете как системный архитектор, способный видеть структуру задачи в отрыве от конкретных инструментов. > "A lot of us aren't using only one programming language... with something like this we can just ask it to convert this code to JavaScript... it wrote all of this out for us in JavaScript, comments the code so we know step by step exactly what it's doing." ✅ Сделайте сейчас: Найдите у себя простую функцию, написанную на одном языке (например, Python), и попросите ИИ переписать её на другой язык, который вы только начинаете изучать (например, TypeScript или Go). Попросите чат объяснить, почему он выбрал именно те или иные конструкции в новом языке. Это лучший способ быстро освоить синтаксис и идиомы нового для вас стека. --- 7. Автоматизация рутины: юнит-тесты и документация как стандарт качества Одним из самых утомительных аспектов разработки, который часто откладывается «на потом», является написание юнит-тестов и создание качественной документации. Кори Шефер справедливо отмечает, что в условиях жестких дедлайнов или работы над личными проектами эти задачи часто игнорируются, что приводит к накоплению технического долга и сложности поддержки кода в будущем. ИИ меняет эту парадигму, превращая написание тестов из «скучной обязанности» в быстрый и понятный процесс. Вы можете делегировать создание каркаса тестов нейросети, просто передав ей свой рабочий код. Например, при работе с регулярными выражениями или парсерами API, вы можете попросить ИИ: «Напиши юнит-тесты для этой функции, используя библиотеку unittest, и обязательно включи проверку крайних случаев (edge cases)». Результат не только сэкономит время, но и подсветит те сценарии, о которых вы могли забыть в процессе написания основной логики. Важным этапом здесь является итеративность. Как показал опыт Кори, если ИИ генерирует все тесты в одной функции, это плохая практика, затрудняющая отладку. Вы можете сразу скорректировать курс, дав уточняющую команду: «Разбей эти тесты на отдельные функции, чтобы каждая проверяла только один аспект логики». Это превращает процесс в обучение лучшим практикам программирования. Аналогично обстоят дела с документацией. Оставлять код без docstrings — значит обрекать себя на мучения через полгода, когда вы попытаетесь вспомнить, зачем нужна та или иная переменная. ИИ способен проанализировать структуру вашего кода, определить типы аргументов и возвращаемых значений и сгенерировать понятные, профессиональные комментарии. Это делает ваш код «самодокументированным» и читаемым для других членов команды, что является признаком высокого профессионализма. Кори подчеркивает: использование ИИ для таких задач — это не просто ленивое решение, а стратегия по обеспечению долгосрочной устойчивости проекта. Вы получаете чистый, покрытый тестами код, не тратя на это половину своего рабочего времени. Однако не забывайте, что тесты, написанные ИИ, — это отправная точка. Ваша задача — убедиться, что они покрывают действительно критические участки логики и адекватно обрабатывают ошибки. Использование ИИ в тестировании позволяет вам чувствовать себя увереннее при внесении правок в сложный проект: вы знаете, что если что-то сломается, тесты мгновенно укажут на проблемный узел. Это освобождает когнитивный ресурс для решения творческих задач архитектуры, а не борьбы с «багами» в уже написанном функционале. > "I don't always write the best unit tests for my code... but having good test coverage within your code base using unit tests can definitely help you with that discovery of errors and prevention of errors so that you're not releasing something to the public that a unit test would have probably found if you had written them well." ✅ Сделайте сейчас: Возьмите любой свой рабочий модуль без тестов и документации. Попросите чат: «Проанализируй этот код, добавь подробные docstrings в формате Google Style и создай отдельный файл с юнит-тестами, используя pytest, покрыв как позитивные сценарии, так и возможные ошибки ввода». Прогоните эти тесты, чтобы убедиться в надежности своего решения. 8. ИИ как наставник: борьба с "туннельным зрением" и обучение в процессе Программирование — это область, где обучение никогда не прекращается, но часто мы попадаем в ловушку «туннельного зрения», используя одни и те же подходы годами. Кори Шефер демонстрирует, как ChatGPT может служить не только кодером, но и высококвалифицированным ментором. Когда вы пишете код «по старинке», например, используя ручное инкрементирование счетчика в цикле, вы не всегда осознаете, что существующая кодовая база может быть оптимизирована более элегантными инструментами языка. Запрос к ИИ вида «Можешь ли ты переписать этот код более идиоматично (pythonic way)?» открывает для вас новые горизонты. Вы узнаете о существовании функций, таких как , , или генераторах списков, которые делают код короче, быстрее и понятнее. Это не просто оптимизация — это повышение вашего уровня как специалиста. Особое место занимает разбор непонятных конструкций. Регулярные выражения — классический пример того, что может заставить программиста тратить часы на Stack Overflow. Кори советует использовать ИИ для «декодинга» сложности: вставьте непонятное выражение и попросите: «Объясни, как работает этот регулярный паттерн, пошагово разобрав каждую группу символов». Это дает глубокое понимание механики, превращая магический набор символов в понятную инструкцию. В отличие от форумов, где ответы могут быть фрагментарными, ИИ дает контекстуальный разбор именно того, с чем вы работаете сейчас. Это позволяет вам учиться «на лету», встраивая новые знания непосредственно в проект, над которым вы работаете в текущий момент. Кроме того, ИИ помогает бороться со страхом перед новыми задачами. Когда перед вами пустой файл и задача, требующая обращения к сложной документации (как, например, работа с API игровых сервисов), легко впасть в прокрастинацию. ИИ дает «скелет» приложения — готовый шаблон запросов, обработки ответов и структуры данных. Это не значит, что вы освобождены от чтения документации, но вы начинаете процесс с работающего прототипа, что кардинально меняет психологический настрой. Вы переходите от страха перед неизвестным к уверенному рефакторингу и настройке функционала. Как говорит Кори, вы становитесь не «кодером», который слепо верит ответу, а «архитектором», который использует инструмент для ускорения реализации своих идей. Главное правило: всегда подвергайте сомнению результат, проверяйте его работоспособность и используйте ИИ для того, чтобы задавать правильные вопросы, а не просто получать готовые ответы. Это лучший путь к профессиональному росту в эпоху искусственного интеллекта. > "I can definitely see a future where we're no longer searching through Stack Overflow to see if our questions have been answered but instead just asking something like ChatGPT to explain an error or an expression or a section of code and have it guide us through step by step." ✅ Сделайте сейчас: Найдите в своем текущем коде фрагмент, который кажется вам «грязным» или перегруженным (например, сложный цикл или цепочка if-else). Попросите ИИ: «Перепиши этот код, используя лучшие практики и современные возможности Python. Объясни, почему твой вариант лучше с точки зрения производительности и читаемости». Изучите объяснение и примените его в проекте. 🏋️ Практикум: Эволюция навыков с ИИ 1. Оптимизация циклов: Возьмите код с вложенными циклами и ручным управлением индексами. Попросите ИИ заменить их на , или списковые включения. 2. Документирование: Выберите скрипт без единого комментария. Попросите ИИ сгенерировать docstrings для каждой функции и добавить комментарии к сложным участкам логики. 3. Тестирование: Напишите функцию обработки данных. Попросите ИИ создать 5 юнит-тестов для нее (включая проверку пустого ввода и неверных типов данных). 4. Рефакторинг API: Возьмите любой API-клиент, который вы используете. Попросите ИИ переписать один метод так, чтобы он использовал современные асинхронные библиотеки (например, вместо ). 5. Обучение через диалог: Найдите сложное регулярное выражение в проекте и попросите ИИ сделать «разбор полетов», объясняя значение каждого метасимвола. 6. Кросс-языковая адаптация: Возьмите логику обработки JSON из Python-скрипта и попросите ИИ перевести её на JavaScript/TypeScript, пояснив различия в работе с типами данных. 🔑 Итоги: 5 действий на сегодня 1. Примите итеративный подход: Никогда не останавливайтесь на первом ответе ИИ; уточняйте детали, пока не получите идеальный результат. 2. Внедрите стандарты: Заставьте ИИ добавить docstrings во все новые функции, которые вы пишете с его помощью. 3. Тестируйте сразу: Не откладывайте тесты на конец проекта; просите ИИ писать их параллельно с кодом. 4. Анализируйте ответы: Всегда читайте объяснения ИИ, чтобы понимать «почему» код работает именно так, а не просто копировать его. 5. Учитесь задавать вопросы: Практикуйте составление контекстуальных промптов — чем больше деталей (библиотеки, цели, ограничения) вы даете, тем качественнее результат. 💬 Цитаты для вдохновения 1. "It's not going to be AI replacing programmers; it's going to be programmers who use AI replacing programmers who don't use AI." 2. "Knowing how to interact with this new wave of AI tools is also going to become a skill that is going to boost our code and productivity." 3. "If something is wrong or not how we like it then we can simply ask it to change the code and it's specific way again kind of like we're talking to a co-worker." 4. "The better developer that you are, the better that you're going to be able to use these tools to write better code." 5. "Seeing how it will optimize your code may lead you to learning more and discovering new built-in functions or ways of performing tasks that we didn't know before."