В это пасмурное Стамбульское утро я не придумал ничего лучше, чем взять паузу и отправиться себя немного порадовать.
Не все же решать Ruby, JavaScript задачки. Надо давать себе передышку.
Не все же решать Ruby, JavaScript задачки. Надо давать себе передышку.
👍3🔥2
Главный секрет AI
Все эти ваши GPT и Курсоры созданы на самом деле для того, чтобы писать тесты на ваш самый лучший и красивый и оптимальный код.
С AI страшная и болезненная рутина написания тестов превратилась практически в бесплатное удовольствие.
По крайней мере, для JS/React/Ruby/Rails кода.
По крайней мере, там, где сам код написан более менее приемлемо. Хоть и без тестов.
Если вы начальник программистов — требуйтеполного долива пива высокой степени покрытия.
Это теперь очень дешевая операция. Я пользуюсь. И вам настоятельно советую.
А там где есть тесты — код на порядок и лучше и чище. Это аксиома.
Все эти ваши GPT и Курсоры созданы на самом деле для того, чтобы писать тесты на ваш самый лучший и красивый и оптимальный код.
С AI страшная и болезненная рутина написания тестов превратилась практически в бесплатное удовольствие.
По крайней мере, для JS/React/Ruby/Rails кода.
По крайней мере, там, где сам код написан более менее приемлемо. Хоть и без тестов.
Если вы начальник программистов — требуйте
Это теперь очень дешевая операция. Я пользуюсь. И вам настоятельно советую.
А там где есть тесты — код на порядок и лучше и чище. Это аксиома.
👍4
Тесты и AI
Я утверждаю:
1️⃣ Тесты это единственное, что позволяет при разработке с помощью AI получать работоспособный продукт. Это просто вынужденная необходимость.
- Тесты удерживают контекст.
- Тесты исключают регрессии.
2️⃣ Тесты при работе с AI стали "дешевыми". Пару часов в чате с AI и вы способны покрыть тестами большую часть вашего нетестированного кода. Никакой головной боли. Тимлиды — ликуйте. Разработчики — плачьте.
❓Коллеги спрашивают
Как доверить AI написание тестов? Он же сделает это плохо!
Это, конечно, исключительно позиция разработчика. Вера в то, что только разработчик умеет хорошо.
Если вы посмотрите на ситуацию со стороны технического менеджера — то ситуация выглядит немного иначе.
А как доверить разработчикам писать тесты в условиях жесткого дедлайна? Они что, всегда делают это хорошо?
Возьмите команду из 3 человек и любой спринт. Сколько качественных тестов там будет написано и какое покрытие?
Да, конечно, именно в вашей команде все боги тестирования. Я не сомневаюсь.
Я утверждаю:
1️⃣ Тесты это единственное, что позволяет при разработке с помощью AI получать работоспособный продукт. Это просто вынужденная необходимость.
- Тесты удерживают контекст.
- Тесты исключают регрессии.
2️⃣ Тесты при работе с AI стали "дешевыми". Пару часов в чате с AI и вы способны покрыть тестами большую часть вашего нетестированного кода. Никакой головной боли. Тимлиды — ликуйте. Разработчики — плачьте.
❓Коллеги спрашивают
Как доверить AI написание тестов? Он же сделает это плохо!
Это, конечно, исключительно позиция разработчика. Вера в то, что только разработчик умеет хорошо.
Если вы посмотрите на ситуацию со стороны технического менеджера — то ситуация выглядит немного иначе.
А как доверить разработчикам писать тесты в условиях жесткого дедлайна? Они что, всегда делают это хорошо?
Возьмите команду из 3 человек и любой спринт. Сколько качественных тестов там будет написано и какое покрытие?
Да, конечно, именно в вашей команде все боги тестирования. Я не сомневаюсь.
👍1
MiniApp
День 8
Сегодня успел сделать несколько простых но нужных вещей.
1. Тостер — так обычно называют функцию/модуль, которые будут показывать сообщения пользователю.
2. EventEmitter. Простейшая реализация Pub/Sub, которая часто позволяет развязать React компоненты.
Зачем? Есть же много готовых решений.
✔️ Во-первых, минимальный объем. Вместо универсальных комбайнов на сотни килобайт и тысячи строк - 4-5 методов.
✔️ Во-вторых, продолжается изучение пользы AI в разработке.
В целом, практически все важные элементы для следующего шага готовы.
Немного чистки, проверки результатов и можно будет постепенно переходить к backend.
День 8
Сегодня успел сделать несколько простых но нужных вещей.
1. Тостер — так обычно называют функцию/модуль, которые будут показывать сообщения пользователю.
2. EventEmitter. Простейшая реализация Pub/Sub, которая часто позволяет развязать React компоненты.
Зачем? Есть же много готовых решений.
✔️ Во-первых, минимальный объем. Вместо универсальных комбайнов на сотни килобайт и тысячи строк - 4-5 методов.
✔️ Во-вторых, продолжается изучение пользы AI в разработке.
В целом, практически все важные элементы для следующего шага готовы.
Немного чистки, проверки результатов и можно будет постепенно переходить к backend.
🔥2
Илья, как там дела с AI кодингом?
Да нормально все.
Главная боль — наработка кодовой базы с примерами для AI.
AI неплохо воспроизводит существующие решения, но на этапе построения первого приложения — примеры надо наработать.
Инфраструктурные настройки и согласование всех инструментов надо с вниманием к каждой мелкой детали произвести.
Поставил ты роутер, i18n, jest, vite и storybook.
Вот теперь попробуй сделать так, чтобы i18n заработало и в приложении и в тестах и в сторибуках, и файлы организуй. А потом тоже самое проверни с роутером и сделай примеры для моков и стабов. И чтобы ENV переменные были видны везде где нужно.
Полировка, полировка, полировка.
Пока не наработана эта основа и фундамент — движение дальше, это движение вслепую и 100% к неприятностям и техническом долгу.
Работаем. Кажется почти все подготовлено.
Да нормально все.
Главная боль — наработка кодовой базы с примерами для AI.
AI неплохо воспроизводит существующие решения, но на этапе построения первого приложения — примеры надо наработать.
Инфраструктурные настройки и согласование всех инструментов надо с вниманием к каждой мелкой детали произвести.
Поставил ты роутер, i18n, jest, vite и storybook.
Вот теперь попробуй сделать так, чтобы i18n заработало и в приложении и в тестах и в сторибуках, и файлы организуй. А потом тоже самое проверни с роутером и сделай примеры для моков и стабов. И чтобы ENV переменные были видны везде где нужно.
Полировка, полировка, полировка.
Пока не наработана эта основа и фундамент — движение дальше, это движение вслепую и 100% к неприятностям и техническом долгу.
Работаем. Кажется почти все подготовлено.
👍1
В Стамбуле первый снег. ❄️
Никогда себе не мог бы представить, что для ребенка это будет праздник.
В Стамбуле снег идет только несколько дней. Обычно в феврале, редко в начале марта. И это прямо событие.
Никогда себе не мог бы представить, что для ребенка это будет праздник.
В Стамбуле снег идет только несколько дней. Обычно в феврале, редко в начале марта. И это прямо событие.
🔥3
AI, AI, AI. Тесты, Тесты, Тесты
Сегодняшний прогресс весь связан с тестами.
Всегда важно ответить на вопрос: Зачем?
Тестирование, и даже 100% покрытие тестами не показывает полезность проекта и то, что он вообще корректно функционирует.
Зачем я уже несколько дней с фанатизмом занимаюсь только тестами. Да еще и на фронтовую часть проекта?
Моя главная цель — наработать инструментарий и набор решений.
Во многом мастера определяет инструмент.
Мои инструменты — это подходы, концепции, способ и формат декомпозиции, мышления, и (в том числе) технические наработки.
Каждый новый тест — это новый кейс и новые ограничения / особенности поведения системы.
Чем больше я сделаю наработок сейчас — тем проще двигаться будет потом.
🎞 https://www.youtube.com/watch?v=JXcND_gOaw8
Сегодняшний прогресс весь связан с тестами.
Всегда важно ответить на вопрос: Зачем?
Тестирование, и даже 100% покрытие тестами не показывает полезность проекта и то, что он вообще корректно функционирует.
Зачем я уже несколько дней с фанатизмом занимаюсь только тестами. Да еще и на фронтовую часть проекта?
Моя главная цель — наработать инструментарий и набор решений.
Во многом мастера определяет инструмент.
Мои инструменты — это подходы, концепции, способ и формат декомпозиции, мышления, и (в том числе) технические наработки.
Каждый новый тест — это новый кейс и новые ограничения / особенности поведения системы.
Чем больше я сделаю наработок сейчас — тем проще двигаться будет потом.
🎞 https://www.youtube.com/watch?v=JXcND_gOaw8
👍2
AI vs Модальные окна
Только не смейтесь, это не смешно.
Сделать модальное окно на React, да и вообще в целом в web это не тривиальная задача.
Я далеко не все учел и в некоторой точке должен просто остановиться, тк если погружаться в это — то можно зависнуть натурально на месяц.
Обеспечить нормальный Дизайн модального окна и предусмотреть большое количество кейсов и их комбинаций — это вызов.
Я использовал пару GPT/Курсор — базового желаемого результата достиг, но еще много есть над чем работать — пока ставим на паузу — с текущим решением можно работать.
Под моим руководством AI реализовал задачу за пару часов.
Good Enough.
Только не смейтесь, это не смешно.
Сделать модальное окно на React, да и вообще в целом в web это не тривиальная задача.
Я далеко не все учел и в некоторой точке должен просто остановиться, тк если погружаться в это — то можно зависнуть натурально на месяц.
Обеспечить нормальный Дизайн модального окна и предусмотреть большое количество кейсов и их комбинаций — это вызов.
Я использовал пару GPT/Курсор — базового желаемого результата достиг, но еще много есть над чем работать — пока ставим на паузу — с текущим решением можно работать.
Под моим руководством AI реализовал задачу за пару часов.
Good Enough.
👍2
Mini App
День 14
Каждый день я уделяю мини проекту немного времени. У меня нет возможности сесть и делать pet проект целый день, поэтому единственный вариант — размазывать нагрузку на большой интервал по времени.
В этом есть большой образовательный момент — я фиксирую для себя и показываю вам движение на долгой дистанции.
Весь интернет завален историями 3-х дневного успеха и проектов сделанных AI за 3 запроса.
2 недели, около 190 коммитов, 230+ юнит тестов, мини UI-kit, настройка линтеров и окружений тестирования, кастомный тостер и EventEmitter, роутер, контейнеры, локализация, формы и их валидация. И куча еще всего разного.
И это только начало Frontend части.
Следующий этап — тонкий тюнинг поведения форм. Дебаг, чистка, полировка.
И, возможно, интеграция с библиотекой запросов. Наверное это будет ReactQuery.
Наверное еще 3-4 дня уйдет на это. Надо сразу отладить все — с качественным примером будет легче работать над другими проектами.
И потом уже буду фокусироваться на бэке.
День 14
Каждый день я уделяю мини проекту немного времени. У меня нет возможности сесть и делать pet проект целый день, поэтому единственный вариант — размазывать нагрузку на большой интервал по времени.
В этом есть большой образовательный момент — я фиксирую для себя и показываю вам движение на долгой дистанции.
Весь интернет завален историями 3-х дневного успеха и проектов сделанных AI за 3 запроса.
2 недели, около 190 коммитов, 230+ юнит тестов, мини UI-kit, настройка линтеров и окружений тестирования, кастомный тостер и EventEmitter, роутер, контейнеры, локализация, формы и их валидация. И куча еще всего разного.
И это только начало Frontend части.
Следующий этап — тонкий тюнинг поведения форм. Дебаг, чистка, полировка.
И, возможно, интеграция с библиотекой запросов. Наверное это будет ReactQuery.
Наверное еще 3-4 дня уйдет на это. Надо сразу отладить все — с качественным примером будет легче работать над другими проектами.
И потом уже буду фокусироваться на бэке.
🔥4
Мы с вами в одинаковых позициях
Пока мои молодые коллеги пытаются войти в ИТ, через изучение основ Ruby, JavaScript, TypeScript, Python и прочее, я пытаюсь войти в AI разработку. Я такой же джуниор в этой новой сфере как и те, кто изучает циклы и массивы и типы переменных.
Какие действия я предпринимаю, чтобы вкатиться в ИТ 2.0?
1️⃣ Практика. Я не знаю, правильно ли я решаю задачи с AI — но я их решаю. Каждый день я сталкиваюсь с новыми кейсами и ищу решения. Даже если я делаю неправильно — как только кто-то даст намек на то, как делать "правильно" у меня уже будет достаточно контекста, чтобы мгновенно перенять знания и использовать.
2️⃣ Заточка инструментов. Ведьмак не одолеет Ведьму с Болот, если у него будет тупой меч. Через Практику я формирую свой инструментарий, который мне поможет успешно справляться с будущими задачами.
3️⃣ Насмотренность и отсев шума. В океане хайпа и маркетинговой чуши, я нахожу микро-авторов, которые тоже следят за AI и разработкой. Читаю их посты и соображения. Насматриваюсь.
Пока мои молодые коллеги пытаются войти в ИТ, через изучение основ Ruby, JavaScript, TypeScript, Python и прочее, я пытаюсь войти в AI разработку. Я такой же джуниор в этой новой сфере как и те, кто изучает циклы и массивы и типы переменных.
Какие действия я предпринимаю, чтобы вкатиться в ИТ 2.0?
1️⃣ Практика. Я не знаю, правильно ли я решаю задачи с AI — но я их решаю. Каждый день я сталкиваюсь с новыми кейсами и ищу решения. Даже если я делаю неправильно — как только кто-то даст намек на то, как делать "правильно" у меня уже будет достаточно контекста, чтобы мгновенно перенять знания и использовать.
2️⃣ Заточка инструментов. Ведьмак не одолеет Ведьму с Болот, если у него будет тупой меч. Через Практику я формирую свой инструментарий, который мне поможет успешно справляться с будущими задачами.
3️⃣ Насмотренность и отсев шума. В океане хайпа и маркетинговой чуши, я нахожу микро-авторов, которые тоже следят за AI и разработкой. Читаю их посты и соображения. Насматриваюсь.
🔥3
Человеческий язык как ограничение в работе с AI
Есть несколько неочевидных фактов, которыми я хочу поделиться.
1️⃣ Мысли словами формулировать очень тяжело и медленно.
Иногда знаешь как надо сделать и это надо объяснить AI. И понимаешь, что очень не хватает нейроинтерфейса прямо в мозг. Потому что описать все, что хочешь словами, просто сформулировать — это очень сложно и долго.
2️⃣ «Мысль изреченная есть ложь» Попробуй кому-то объяснить что-то, что для тебя кажется простым и очевидным.
Сперва надо подобрать нужные контексту слова, подумать, поймут ли тебя на той стороне. И пока наложишь все этим фильтры и ограничения — окажется, что ты сказал уже совсем не то, что думал.
3️⃣ "Была задача прочитать, а не понять"
Фундаментальная проблема передачи, получения и интерпретации информации никуда не делась.
Даже если ты все правильно сформулировал и написал — совсем не факт, что тебя поймут. В работе с AI это проявляется довольно часто.
Есть несколько неочевидных фактов, которыми я хочу поделиться.
1️⃣ Мысли словами формулировать очень тяжело и медленно.
Иногда знаешь как надо сделать и это надо объяснить AI. И понимаешь, что очень не хватает нейроинтерфейса прямо в мозг. Потому что описать все, что хочешь словами, просто сформулировать — это очень сложно и долго.
2️⃣ «Мысль изреченная есть ложь» Попробуй кому-то объяснить что-то, что для тебя кажется простым и очевидным.
Сперва надо подобрать нужные контексту слова, подумать, поймут ли тебя на той стороне. И пока наложишь все этим фильтры и ограничения — окажется, что ты сказал уже совсем не то, что думал.
3️⃣ "Была задача прочитать, а не понять"
Фундаментальная проблема передачи, получения и интерпретации информации никуда не делась.
Даже если ты все правильно сформулировал и написал — совсем не факт, что тебя поймут. В работе с AI это проявляется довольно часто.
👍1