Тоже недавно попробовал AI в разработке. И тоже стали крутится определенные мысли насчет всего этого.
Предупреждение - далее лично мое мнение, не все будут согласны.
----
Я попробовал две задачи - чисто алгоритм с юнит тестами (Github copilot + sonnet 3.5 и AI Rider + sonnet 3.7 / Gemeni 2.0). Оба справились в целом хорошо, вторая связка даже немного получше (больше правильных предположений, где я захочу расширить реализацию)
И вторая - на многопоточность с семафорами. Тут хуже, оно забыло про IDisposable.
По итогу следующие мысли впечатления:
Пока что это все работает больше в ручном режиме. То есть человеку-джуну или человеку-мидлу я могу назначить задачу и они оба в более "автоматическом режиме" пойдут ее делать. Мидл даже в принципе может ее решить полностью самостоятельно с гуглом под мышкой и поговорив с аналитиками, QA и так далее.
Мне это напомнило давние мечты о том, что я бы мог переложить свои мысли в код, без нудного стучания по клавиатуре. То есть чистый поток мыслей и идей и как-то оно само там преобразуется в нормальный код. Мой мозг работает быстрее, чем я печатаю и ему не столь важны проверки на null, хотя их надо не забывать проставлять. И работа с AI мне дала очень похожие ощущения, о которых я когда-то мечтал. Кстати, в определенный момент времени я возлагал надежды на нейро-интерфейс Илона Маска.
Следующая мысль появилась, когда я осознал суть AI агентов - по сути это интерфейс обмена данными, API. Тогда я подумал, что если бы был специальный агент, в виде например мессенджера, на одной стороне которой AI, а на другой человек-аналитик - то AI мог бы работать в более автоматическом режиме, как мидл - пойти и спросить то, что его интересует через этот мессенджер. Ну а далее, развивая мысль - вместо человека-аналитика мог бы быть другой AI. И вот я тоже уже думаю, что AI заменит всех людей.
Таким образом, я думаю, в ближайшем будущем мы придем к более автоматизированным ИИ - которые смогут активно запрашивать недостающую информацию не только из интернета, но и от людей. В целом с развитием технологий - это уже будет больше похоже на человека-джуна или человека-мидла. Ему можно будет дать ссылку на таску в таск-трекере и все остальное он сделает сам. И я согласен с тем, что будет меньше механического кодирования, и больше проектирования.
И на последок - думаю, что мы все сейчас находимся на переломе эпох. Примерно как в 1950-1960-ых появились первые компьютеры, которые заменили целые расчетные отделы, где люди в ручном режиме считали на бумажках и калькуляторах. Этот момент, по-моему, был хорошо показан в конце фильма "скрытые фигуры" 2016 года. И вот то, что чувствовали люди тогда, которые не смогли или не захотели переучиваться - примерно то же самое мы и будем чувствовать сейчас. Только теперь мы (я имею ввиду свое поколение людей - миллениалы) - те старперы и дедули.
Я бы разграничил системный анализ как науку и то, что имеют ввиду под системный анализом в ит.
Первое - это именно подходы к анализу сложных субстанций. У меня в универе даже был отдельный предмет. И я не помню, чтобы там было хоть что-то со словом ИТ. Потенциально его можно применять не только в ИТ.
Второе - некая умственная и механическая работа по анализу конкретной проблемы или системы.
С другой стороны, я действительно замечаю за программистами среднего и нижнего уровня - неспособность мыслить на определенном уровне, чтобы распутать клубок сложной проблемы. Но, пожалуй, там некая совокупность подходов системного анализа / мышления, абстрактного мышления и дедукции.
А вот всякие принципы solid - это уже уровнем ниже - когда ты провел анализ, продумал решение и пытаешься его красиво закодить.
Самая большая проблема - нехватка времени на все это. Работаешь с компании как сениор, видишь проблемы вот как описаны куски из книги - но настолько загружен обычными задачами, что некогда.
Электронвольт - единица измерения энергии, джоуль - единица измерения энергии. 1 эВ = 1.602 × 10-19 Дж. 1 ватт - это 1 Дж за 1 секунду.
Гугл говорит, что 1 кв см поверхности на Земле пропускает через себя 6 x 10-10 степени солнечных нейтрино (правда с гораздо меньшими энергиями) каждую секунду. То есть гипотетически - это бесконечная энергия прямо из космоса - если каким то неведомым способом ловить из космоса поток нейтрино и преобразовывать их энергию наподобие солнечной батареи - то на выходе получим джоули и ватты.
Меня со школьных лет завораживает фантастика и наука на грани фантастики. И уже сколько раз было доказано, что рано или поздно теории могут стать реальностью.
Ядерных реакторов 100 лет назад не было, а сейчас уже держат плазму 22 минуты в прототипе термоядерного реактора. Кто знает, может быть через 100 лет человечество обуздает аннигиляцию, или все таки отловят нейтрино, или сделают варп двигатель.
Господи, тут люди еще более токсичные чем в статьях про программирование.
Причем к народу, который ловит неуловимые частицы претензий нет? И к народу, которые установили минимальное время распада протона в 10^29 или 10^32 лет, а сами построили детектор и сидят ждут, тоже нет? Сколько им еще ждать, если вселенная существует всего 10^9 степени лет?
И напоминаю, что 100 лет назад физически построенного ядерного реактора не существовало. Ускорителя частиц тоже. Только теоретические предположения о существовании каких-то там частиц, которые куда-то там распадаются.
Вот что я действительно прошляпил - так это нетворкинг. За почти 20 лет у меня не наберется и 10 человек, кого я бы мог попытаться сманить и меня никто и никогда не звал на работу по знакомству (
Я бы упомянул в статье алгоритм решения любой задачи:
Внимательно читать условие и входящие / исходящие данные
Набросать тест кейсы, в том числе граничные
Подумать над подходом/алгоритмом, постараться быстро его оценить, к чему он может привести
Реализовать подход/алгоритм
Прогнать тесты, пофиксить
Вообще выбор подхода алгоритма самая сложная часть, но она может сократить время на все остальное.
Например задача полиндром целого числа (121 > 121) [9. Palindrome Number]. Это easy на литкоде. На этапе №3 можно рассуждать так: перевернуть число, сравнить число. А что значит перевернуть число? На том же самом литкоде есть задача [7. Reverse Integer] - и она уже medium. То есть решая easy задачу не следует использовать алгоритм уровня medium.
Это же целых 0,00000979 Вт/ч на одну штуку (если я правильно посчитал). Если всего 10,2 млрд нейтрино засунуть в нейтринный АКБ - то можно получить 100 кВт/ч для электромобиля.
Как я уже писал в коментах - тим лид это лидер команды. И занимается людьми, а не кодингом. И я крайне редко видел нормальные вакансии тим лидов. Чаще попалась сборная солянка из сениора/ведущего/архитектор/тех лида/тим лида.
По-моему читается немного надменно, хотя и наполнен юмором. Токсичный - это общее слово для таких случаев.
Если компания/соискатель не имеет проблем с поиском сотрудника/работы, то подобные "отзывы" никого не заденут, а только могут оставить осадочек.
Если же проблемы имеются - это со стороны тоже выглядит не вполне адекватным. Типа когда на сайтах знакомств пишут девкам, они не отвечают, а потом им вдогонку "ну и дура".
Чтобы сделать мир лучше конкретно в этом - я считаю, что надо заходить с другой стороны. Если некто участвует в найме - то улучшать процессы найма и свое поведение, начиная со своей компании. Если есть силы и время, то выводить это в публичную сферу - участвовать в конференциях и доносить свои мысли, идеи, эксперименты, достижения и факапы до общественности.
Куча откликов - это же куча данных и потенциал для социальной чатгпт инженерии.
Помнится мне раньше попадались вакансии с текстом «начните свой отклик с кодовой фразы».
Дальше не буду подсказывать, но вы можете нанять соответствующих людей, в том числе и айтишников, для решения этой задачи. Больше вакансий - меньше откликов 🙂
Работники хотят поменьше работать, работодатели побольше, на уровне закона определено 8 часов. Но в частных конкретных случаях все по разному.
Это выливается в то, что часть людей работает крайне неэффективно и работодатель пытается придумать способ заставить их работать. Одним из способов может является офис.
Другая часть людей - проактивных, заинтересованных - они в целом работают всегда плотно, что в офисе, что на удаленке. Могут быть особенности - типа в офисе ему легче включится в работу, с плохим самочувствием производительность снижается и т.п. Отсюда то негодование у некоторых комментаторов.
Ну и плюс к этому еще пара-тройка моментов:
Вкатыши, которые пришли за деньгами, а тут оказывается работать надо
У меня на ладони лежит очень горячий сотовый телефон, который разогрелся из‑за того, что мессенджер отображает статичное сообщение с пузырем и текстом на экране при помощи браузерного движка и безумного количества сторонних библиотек
Да, это действительно боль - когда открываешь какой-нибудь сайт, где рекламы больше, чем полезного контента и смартфон начинает жрать батарейку как не в себя. Бесит. Надо их всех запретить в выдаче поисковиков для мобильных бразуеров, чтобы у владельцев этих говно-сайтов упала посещаемость и они озаботились оптимизациями.
Спасибо за мнение, интересно.
Тоже недавно попробовал AI в разработке. И тоже стали крутится определенные мысли насчет всего этого.
Предупреждение - далее лично мое мнение, не все будут согласны.
----
Я попробовал две задачи - чисто алгоритм с юнит тестами (Github copilot + sonnet 3.5 и AI Rider + sonnet 3.7 / Gemeni 2.0). Оба справились в целом хорошо, вторая связка даже немного получше (больше правильных предположений, где я захочу расширить реализацию)
И вторая - на многопоточность с семафорами. Тут хуже, оно забыло про IDisposable.
По итогу следующие мысли впечатления:
Пока что это все работает больше в ручном режиме. То есть человеку-джуну или человеку-мидлу я могу назначить задачу и они оба в более "автоматическом режиме" пойдут ее делать. Мидл даже в принципе может ее решить полностью самостоятельно с гуглом под мышкой и поговорив с аналитиками, QA и так далее.
Мне это напомнило давние мечты о том, что я бы мог переложить свои мысли в код, без нудного стучания по клавиатуре. То есть чистый поток мыслей и идей и как-то оно само там преобразуется в нормальный код. Мой мозг работает быстрее, чем я печатаю и ему не столь важны проверки на null, хотя их надо не забывать проставлять. И работа с AI мне дала очень похожие ощущения, о которых я когда-то мечтал. Кстати, в определенный момент времени я возлагал надежды на нейро-интерфейс Илона Маска.
Следующая мысль появилась, когда я осознал суть AI агентов - по сути это интерфейс обмена данными, API. Тогда я подумал, что если бы был специальный агент, в виде например мессенджера, на одной стороне которой AI, а на другой человек-аналитик - то AI мог бы работать в более автоматическом режиме, как мидл - пойти и спросить то, что его интересует через этот мессенджер. Ну а далее, развивая мысль - вместо человека-аналитика мог бы быть другой AI. И вот я тоже уже думаю, что AI заменит всех людей.
Таким образом, я думаю, в ближайшем будущем мы придем к более автоматизированным ИИ - которые смогут активно запрашивать недостающую информацию не только из интернета, но и от людей. В целом с развитием технологий - это уже будет больше похоже на человека-джуна или человека-мидла. Ему можно будет дать ссылку на таску в таск-трекере и все остальное он сделает сам. И я согласен с тем, что будет меньше механического кодирования, и больше проектирования.
И на последок - думаю, что мы все сейчас находимся на переломе эпох. Примерно как в 1950-1960-ых появились первые компьютеры, которые заменили целые расчетные отделы, где люди в ручном режиме считали на бумажках и калькуляторах. Этот момент, по-моему, был хорошо показан в конце фильма "скрытые фигуры" 2016 года. И вот то, что чувствовали люди тогда, которые не смогли или не захотели переучиваться - примерно то же самое мы и будем чувствовать сейчас. Только теперь мы (я имею ввиду свое поколение людей - миллениалы) - те старперы и дедули.
Я бы разграничил системный анализ как науку и то, что имеют ввиду под системный анализом в ит.
Первое - это именно подходы к анализу сложных субстанций. У меня в универе даже был отдельный предмет. И я не помню, чтобы там было хоть что-то со словом ИТ. Потенциально его можно применять не только в ИТ.
Второе - некая умственная и механическая работа по анализу конкретной проблемы или системы.
С другой стороны, я действительно замечаю за программистами среднего и нижнего уровня - неспособность мыслить на определенном уровне, чтобы распутать клубок сложной проблемы. Но, пожалуй, там некая совокупность подходов системного анализа / мышления, абстрактного мышления и дедукции.
А вот всякие принципы solid - это уже уровнем ниже - когда ты провел анализ, продумал решение и пытаешься его красиво закодить.
Самая большая проблема - нехватка времени на все это. Работаешь с компании как сениор, видишь проблемы вот как описаны куски из книги - но настолько загружен обычными задачами, что некогда.
Ах, вот оно что... Да, я действительно никогда не обращал внимание на знак.
1 ватт - это 1 Дж за 1 секунду
100 Вт (лампочка) - это 100 Дж за 1 секунду
10 лампочек по 100 Вт (1кВт) - это 1000 Дж за 1 секунду
Если они все горят целый час - это будет 1 кВт/ч
Следовательно 1 кВт/ч - это 3.6 млн Дж
Теперь нейтрино, в оригинальном расчете я все же потерял степень десятки
Если за 1 секунду пролетает одно нейтрино 220 х 10+15 эВ * 1.602 × 10-19 Дж - это 352.44 х 10-4 = 0.035244 Дж за 1 секунду
Округлим до 0.036, то есть 100 таких нейтрино дадут 3,6 Дж
Тогда 10 млрд нейтрино в течение часа дадут 3.6 млн Дж или 1 кВт/ч (а не 100, как я сначала посчитал)
Электронвольт - единица измерения энергии, джоуль - единица измерения энергии. 1 эВ = 1.602 × 10-19 Дж. 1 ватт - это 1 Дж за 1 секунду.
Гугл говорит, что 1 кв см поверхности на Земле пропускает через себя 6 x 10-10 степени солнечных нейтрино (правда с гораздо меньшими энергиями) каждую секунду. То есть гипотетически - это бесконечная энергия прямо из космоса - если каким то неведомым способом ловить из космоса поток нейтрино и преобразовывать их энергию наподобие солнечной батареи - то на выходе получим джоули и ватты.
Надо же мой коммент породил целую дискуссию.
Меня со школьных лет завораживает фантастика и наука на грани фантастики. И уже сколько раз было доказано, что рано или поздно теории могут стать реальностью.
Ядерных реакторов 100 лет назад не было, а сейчас уже держат плазму 22 минуты в прототипе термоядерного реактора. Кто знает, может быть через 100 лет человечество обуздает аннигиляцию, или все таки отловят нейтрино, или сделают варп двигатель.
Господи, тут люди еще более токсичные чем в статьях про программирование.
Причем к народу, который ловит неуловимые частицы претензий нет? И к народу, которые установили минимальное время распада протона в 10^29 или 10^32 лет, а сами построили детектор и сидят ждут, тоже нет? Сколько им еще ждать, если вселенная существует всего 10^9 степени лет?
И напоминаю, что 100 лет назад физически построенного ядерного реактора не существовало. Ускорителя частиц тоже. Только теоретические предположения о существовании каких-то там частиц, которые куда-то там распадаются.
Вот что я действительно прошляпил - так это нетворкинг. За почти 20 лет у меня не наберется и 10 человек, кого я бы мог попытаться сманить и меня никто и никогда не звал на работу по знакомству (
Я бы упомянул в статье алгоритм решения любой задачи:
Внимательно читать условие и входящие / исходящие данные
Набросать тест кейсы, в том числе граничные
Подумать над подходом/алгоритмом, постараться быстро его оценить, к чему он может привести
Реализовать подход/алгоритм
Прогнать тесты, пофиксить
Вообще выбор подхода алгоритма самая сложная часть, но она может сократить время на все остальное.
Например задача полиндром целого числа (121 > 121) [9. Palindrome Number]. Это easy на литкоде. На этапе №3 можно рассуждать так: перевернуть число, сравнить число. А что значит перевернуть число? На том же самом литкоде есть задача [7. Reverse Integer] - и она уже medium. То есть решая easy задачу не следует использовать алгоритм уровня medium.
Это же целых 0,00000979 Вт/ч на одну штуку (если я правильно посчитал). Если всего 10,2 млрд нейтрино засунуть в нейтринный АКБ - то можно получить 100 кВт/ч для электромобиля.
Как я уже писал в коментах - тим лид это лидер команды. И занимается людьми, а не кодингом. И я крайне редко видел нормальные вакансии тим лидов. Чаще попалась сборная солянка из сениора/ведущего/архитектор/тех лида/тим лида.
Новые перлы подъехали от зуммера айтишника, который не смог в программирование и его перевели в qa
Признался, что у него не хватает знаний, чтобы протестировать csv файл после нажатия кнопки export на экране списка
Записал в багу красные звездочки у обязательных полей, объяснив это тем, что «неконсистентно, звездочки должны быть на всех полях»
И теперь старший QA миллениал сидит и отлавливает эту дичь.
По-моему читается немного надменно, хотя и наполнен юмором. Токсичный - это общее слово для таких случаев.
Если компания/соискатель не имеет проблем с поиском сотрудника/работы, то подобные "отзывы" никого не заденут, а только могут оставить осадочек.
Если же проблемы имеются - это со стороны тоже выглядит не вполне адекватным. Типа когда на сайтах знакомств пишут девкам, они не отвечают, а потом им вдогонку "ну и дура".
Чтобы сделать мир лучше конкретно в этом - я считаю, что надо заходить с другой стороны. Если некто участвует в найме - то улучшать процессы найма и свое поведение, начиная со своей компании. Если есть силы и время, то выводить это в публичную сферу - участвовать в конференциях и доносить свои мысли, идеи, эксперименты, достижения и факапы до общественности.
Нужно учитывать - рынок работодателя или работника.
В России пока еще рынок работника, но все движется в сторону рынка работодателя.
На западе - рынок работодателя и разослав 100 откликов можешь даже не получить никакого ответа - и некому будет писать свой «отказ».
А так в целом - году в 2019 искал работу, и мне приходилось им отказывать. Но делать это в токсичном виде - зачем?
Куча откликов - это же куча данных и потенциал для
социальнойчатгпт инженерии.Помнится мне раньше попадались вакансии с текстом «начните свой отклик с кодовой фразы».
Дальше не буду подсказывать, но вы можете нанять соответствующих людей, в том числе и айтишников, для решения этой задачи. Больше вакансий - меньше откликов 🙂
Господи как вас только на Хабр пустили с рекламой этих человейников с комнатами по 11 метров за баснословные деньги.
Не могу согласится на 100%. Работа для разных ролей - разная.
Когда мы на работе обсуждаем фичи у доски с фломастером в руках - мы тоже работаем, но эффективней это делать в офисе, а не online.
Создаем ли мы новое? Я думаю да. Эти обсуждения потом лягут основу конкретного решения, которое будет реализовано в коде.
Вот это холивар, провокационная статья-мнение 😅
Работники хотят поменьше работать, работодатели побольше, на уровне закона определено 8 часов. Но в частных конкретных случаях все по разному.
Это выливается в то, что часть людей работает крайне неэффективно и работодатель пытается придумать способ заставить их работать. Одним из способов может является офис.
Другая часть людей - проактивных, заинтересованных - они в целом работают всегда плотно, что в офисе, что на удаленке. Могут быть особенности - типа в офисе ему легче включится в работу, с плохим самочувствием производительность снижается и т.п. Отсюда то негодование у некоторых комментаторов.
Ну и плюс к этому еще пара-тройка моментов:
Вкатыши, которые пришли за деньгами, а тут оказывается работать надо
Смена поколения? (немного терли тут https://habr.com/ru/companies/agima/articles/884270 )
Кодить действительно лучше в тишине, а вот обсуждать и планировать - лично. Работа архитекта - это уже ближе к обсуждению и планированию
Ну и собственно сам Сбер - куча историй о том, как новым сотрудникам по три месяца доступы настраивали
Да, это действительно боль - когда открываешь какой-нибудь сайт, где рекламы больше, чем полезного контента и смартфон начинает жрать батарейку как не в себя. Бесит. Надо их всех запретить в выдаче поисковиков для мобильных бразуеров, чтобы у владельцев этих говно-сайтов упала посещаемость и они озаботились оптимизациями.