All streams
Search
Write a publication
Pull to refresh
30
0.1
Даниил Солопов @dan_sw

Software Engineer, Bachelor of Computer Science

Send message

Я бы не стал судить о том, насколько сложно программирование в контексте данного прецедента, поскольку условия у каждого разработчика (даже 7-ми летнего) разные.

Освоить построение конструктора на Flask или Django (для простого REST API сервиса) можно, теоретически, в любом возрасте. Не зря современную "высокоуровневую" backend-разработку часто сравнивают с конструктором лего. Мы же, наверное, не будем обсуждать, что строительство домов может освоить даже ребёнок, если он конструктор лего собирает, верно?

В разное время рождалось куча гениев в математике или физике, но из-за этого ни математика, ни физика проще или не интересными не стали.

В ML аналогично. Т.к. я непосредственно ML сейчас активно занимаюсь, то могу сказать, что создавать нейронную сеть - это очень похоже на конструктор потоков данных, где нужно добиться максимальной фильтрации не подходящих условию задачи пакетов. Так что и ML может заниматься любой желающий. А вот с графическим программированием через DirectX API или Vulkan API разобраться куда сложнее. Там нужно знать Си, C++ и как устроено куча низкоуровневых инструкций, которые непосредственно связаны с выводом графики.

А к какой группе людей Вы бы отнесли себя? К "креативщикам" или "повторяторам"?

В недалеком прошлом достаточно было пройти несколько туториалов, посмотреть примеры собеседований, прорешать пару десятков задач c Leetcode (Codewars, Hackerrank) и идти на рынок.

Вообще нет. Где Вы таких "специалистов" видели, которые сразу на рынок выходят после непродолжительного обучения программированию? Я лично таких не видел, да и на собеседованиях они сразу палятся, так что им бессмысленно даже на них врать - по разговору с ними всё понятно. Ладно бы, если человек старается, что-то изучает, пробовал уже писать проекты и какие-то даже доделывал, понимает в системах контроля версий и может рассказать про свой опыт (даже если коммерческого не было) - тогда да. Но то, что Вы описываете... это скорее преувеличение.

Легко было обходиться без базовых знаний Computer Science: понимания структур данных и алгоритмов, баз данных, операционных систем, сетей, теории асимптотической сложности и т.п.

В большинстве случаев frontend-разработчики, например, обходятся и без этого понимания. Разве что структуры данных часто используют, но как правило в JavaScript они довольно сильно упрощены и каких-нибудь "двусвязных списков" там редко встретишь. Да и обходы графов в различных вариациях далеко не всегда нужны. Это больше касается разработки фреймворков, где ты с 0 реализуешь условный React.js или Vue.js, но никак не средней работы фронтенд-разработчика. Причём работа фронтендера сложна, даже очень. Давно сравнялась по сложности с backend-разработкой (если не сложнее). И им это не мешает, они не "халявят", и при этом прекрасно справляются без Computer Science со своей работой. Да что уж там, backend-разработчики со стажем могут без этих знаний обходится, т.к. всё хорошо работает в "чёрных ящиках" aka фреймворках и библиотеках. Какой-нибудь типичный микросервис на Go пишется без каких-либо знаний дискретной математики, сложных алгоритмов или оптимальных структур данных.

С дармовщиной покончено, и я предсказываю, что индустрия уйдет от сверхдоходов за умение решать простенькие логические задачки к обычному доходу за компетенции. А компетенции будут проверяться еще строже.

Чего? Каких ещё сверхдоходов за умение решать простенькие логические задачки? У меня сложилось стойкое мнение, что Вы знакомы с разработкой в IT очень поверхностно, раз считаете, что за решение "простеньких логических задач" бывают сверхдоходы. Нет, так не бывает, а если и бывает - дайте ссылку на вакансию, где за такое платят.

Обычный доход за компетенции... ну, он всегда был, есть и будет. Что-то странное у Вас в содержимом статьи... Обесценивать труд программистов не стоит, потому что он куда больше, чем решение "простеньких логических задач".

Жестокая правда такова, что эти времена как раз закончились с появлением LLM.

По моему мнению - правда эта не жестокая, а справедливая. Нечего думать и слепо верить, что ИИ решит за тебя все проблемы. Нефиг на него скидывать свои и чужие проблемы, складывать ручки и ждать ответа от "сверхразумного ИИ" - своей головой нужно думать и самому решать проблемы, а не скидывать всё LLM'ам. Хорошая тенденция, пусть сами пишут код и разбираются в нём. Не хотят писать код? Есть куча других профессий из IT или не IT, которые тоже хорошо оплачиваются и могут быть также интересны.

В прошлом работодателю казалось, что программировать сложно.

Что значит "казалось"? Программировать - это сложно. Иногда это капец как сложно. Правильно всё "казалось", а лучше даже не "казалось", а "знает, что". Вот все бы руководители знали, что программировать - это сложно, тогда бы может меньше было проектов, которые недоделаны и содержат кучу багов.

Кандидаты могли ничего не знать и не уметь, но легко находили работу. 

Вы таких знаете? Где найти такие работы, где можно легко ничего не уметь и находить работу? Скажем с 2018 года по наши дни - приведите примеры. Или что Вы считаете под "прошлым"? Сколько учусь программированию, сколько работаю, никогда не было такого, чтобы я просто находил себе работу. Даже с классным резюме, кучей откликов и т.д. Всегда были какие-то препятствия в виде опыта работы или крошечной зарплаты, которая выглядела как издевательство. Все и всегда заинтересованы в компетентных специалистах. Хотя есть и компании, которые нанимали стажёров, чтобы потом их обучать и работать с ними. Но не более.

Даже 10 лет назад большая часть работы абсолютного большинства программистов была не про алгоритмизацию. Мобильные разработчики получали json и рисовали «фид» (ленту), самоутверждаясь переписыванием архитектуры на очередную аббревиатуру (MVC, MVP, MVI, VIPER, MVVM, TEA...). А бекендеры перекладывали json-ы и джойнили таблицы, самоутверждаясь через выделение микросервисов и затаскивание новых технологий в проект.

Ну, на самом деле попробуйте сейчас реализовать хотя бы MVVM архитектуру на Kotlin, со всеми "прибабахами" (хранилища, LiveData, Coroutines, HTTP-запросы и HTTP Middlewares, Navigation, Fragments и т.д.) и удивитесь, как это может быть сложно. До перекладки JSON'ов ещё нужно дойти. Поначалу, когда в проект закладывается самый важный фундамент - это сложно. Да и какие-то не тривиальные компоненты писать на Kotlin'е тоже может быть интересным и весёлым занятием. С backend'ерами тоже самое - далеко не сразу они перекладкой JSON'ов занимаются.

Сегодня (низкоуровневая) алгоритмизация нужна и того меньше.

Наоборот, сейчас тенденция роста популярности алгоритмизации, поскольку появилось куча решений, которые сделаны не оптимально и расходуют кучу ресурсов. Сейчас многие компании вкладываются именно в алгоритмизацию, чтобы всё оптимально и хорошо работало, а главное - жрало меньше ресурсов.

Я хочу сделать акцент на том, что прорешав кучу задач с Leetcode, вы больше не являетесь завидным кандидатом.

Ну, если вы прорешали кучу задач с LeetCode, поняли как решать эти задачи, выяснили когда использовать тот или иной подход, алгоритм или структуру данных, понимаете O-нотацию и в целом разбираетесь в вычислительной сложности - вы прям супер завидный кандидат. Хороших программистов всегда будет мало, а отличных программистов - ещё меньше. А вот плохих - пруд пруди.

А еще никому не нужен — или вот-вот станет не нужен — программист с отношением: говорите мне, что «закодить», а я «закожу». LLM сделает это быстрее. Теперь надо знать, что и зачем кодить.

И вот-вот станут не нужны авторы таких статей, ведь LLM напишет подобную статью гораздо быстрее. Если углубляться в тему "замены всех и вся ИИ", то придём к тому, что ничего не нужно делать. Сложили ручки и ждём прихода всемогущего ИИ. Но, чего-то никто так не делает :)

Если специальность будущего руководителя IT-компании ему лично интересна, то он может ей заниматься и в своей компании выполняя разные задачи, помимо менеджерских. Их ведь на самом деле не так уж и много, особенно на первых порах.

Однако, с ростом компании, конечно, придётся специализироваться уже на менеджерских задачах, а не на задачах своей специализации, которая может занять роль хобби у руководителя. Потому что там колоссальная нагрузка с точки зрения как раз-таки менеджерских задач. Нужно постоянно стратегические планы обсуждать, приводить в исполнение, общаться с руководителями направлений, брать от них обратную связь, общаться с инвесторами и привлекать новых (+ выстраивать схему привлечения новых инвесторов) и так далее. Куча всего, но роль руководителя (т.е. владельца IT-компании) очень много открывает возможностей.

Я лично придерживаюсь именно такого подхода и сейчас постепенно, медленными шагами двигаюсь к этой позиции, потому что найм - штука очень временная и не приносит той свободы, которую получить хочется.

Есть один классный программист Raymond Chen, он кучу времени убил на разработку Windows, очень много классных вещей знает, много с чем сталкивался в своей карьере, очень крутой чувак и много чего интересного может рассказать. Но с другой стороны, от ОС Windows больший выхлоп получил именно Билл Гейтс. Он и миллиардер, и один из самых популярных и влиятельных бизнесменов в мире, и в университетах ему выдавали почётные степени и вообще он молодец, не смотря на то, что он уж точно не как Raymond Chen пахал над ОС Windows и кропотливо получал образование в университете. Победителей, как говорится, не судят. Можно прожить свою жизнь кайфуя от своей узкой специализации, но получая при этом условные "копейки", а можно уйти в бизнес и грести бабки лопатой, грамотно и удачно вложившись в одно прибыльное дело. А когда ещё и СМИ разносят новости о замене всех и вся ИИ - невольно задумываешься, что большая часть компаний, возможно, действительно заменит кучу людей на ИИ и на месте этих людей можешь быть ты, просто потому что ты не руководитель этой структуры и ничего не решаешь.

Нет уж, лучше грести бабки лопатой и кайфовать от своей специализации в свободное время, чем пахать на контору, в которой ты ничего не решаешь, в тебе могут перестать нуждаться в любой момент и с возрастом ты чаще будешь встречаться с эйджизмом от людей, которые "никогда не будут старыми". А у тебя, как у любого человека, есть при этом нужда в создании своей семьи, в воспитании детей и обеспечении их будущего. Очевидно, что ни найм, ни фриланс, ни любая РАБота в современном капиталистическом мире не преследуют цели сопровождать человека к счастью, нужно самому строить к нему дорогу.

На самом деле довольно актуальная проблема. Сейчас IT-компании устанавливают всё более жёсткие требования к кандидатам на трудоустройство, в том числе не "считается" опыт работы во фрилансе. В целом понятно почему.

Я сужу как программист, который когда-то давно немного занимался фрилансом (полгода). В большинстве случаев на фриланс поступают заказы, которые заключаются в создании небольшого MVP, который может помочь протестировать какие-то гипотезы заказчика, но это MVP потом дорабатывать до полноценной системы предстоит не вам как фрилансеру, а полноценной команде. Потому что, объективно, один человек сделает гораздо меньше, чем команда из профессионалом за тоже самое время. И более качественно и проработано.

Фрилансеры очень часто торопятся, в большинстве случаев даже не особо вникают в свой проект. Это как конструктор собирать из готовых решений - быстро, не очень качественно, но зато клиент может увидеть картинку работающего приложения, чтоб потом по цепочке продемонстрировать своим там "заказчикам" и т.д. Фриланс для свободной и независимой жизни вообще не подходит. Этот вариант ещё хуже, чем классический найм на типичной "галере". Особенно сейчас. Качаются разве что softskills, а на hardskills тут приходится забивать (потому что фрилансер - это, в первую очередь, эксперт в быстром построении проекта через готовые конструкторы, а не в области программирования).

Задач по типу "реализуйте компонент для динамической виртуализации высоконагруженных таблиц в React.js", "разработайте игровое ядро для системы квестов на C++ или Rust", "встройте трассировку лучей в уже существующий кастомный игровой движок", "внесите доработки в библиотеку по управлению ИИ агентами в Unity (кастомная библиотека)" или хотя бы "определите проблему в нашем брокере сообщений, который периодически не реагирует на определённые сообщения и не уведомляет клиентов о командах" на фрилансе нет. А если есть, их уже забрал кто-то, но точно не ты. И сделает это за очень дёшево, не очень по качеству, быстро по времени. Для заказчиков на фрилансе низкая цена на решение их задачи как красная тряпка для быка - бегут на неё ни смотря ни на что.

Сейчас такой период наступил, что выгоднее вкладываться в своё бизнес, в своё дело и работать над его развитием, а не на фрилансе (работая "на себя"). Даже найм выглядит менее привлекательным на фоне развития своей IT-компании. В найме тебя могут "выкинуть на улицу" в любое время не смотря ни на какие "мы семья", "мы дружная команда" и прочий бред. Не говоря уже про устройство в этот самый найм - там и эйджизм, и не обосновано высокие требования к специалистам, и часто деструктивные HR-специалисты. Короче, всё сложно.

Хотите быть финансово свободны и независимы? Создавайте свою IT-компанию, достигайте с её помощью финансовых высот и будет вам счастье. В своей компании можно заниматься не только руководством, но и какими-то прикладными задачами, ведь с миллионами на руках куда проще предоставить себе возможность заниматься тем, чем интересно, а не тем, чем обязан. Но это очень трудный путь, однако он более полезен, чем работа в найме или на фрилансе для своего будущего. Компании очень много решают в жизни обычных работяг: чем им заниматься, когда и сколько работать, что и в каком объёме учить, как сильно усердно работать, как и кому подчиняться. Это, своего рода, маленькие государства, в которых ещё есть аналог крепостного права.

Как говорится, не можешь победить - возглавь. Сейчас эта фраза как никогда актуальна, потому что с приходом ИИ компании будут ещё бесчеловечнее относится к людям. Даже отношение "как к ресурсу" покажется мягким.

Правда, я так и не понял, при чём тут вообще хакеры? :)

Не всегда с термином "хакер" ассоциируют людей, которые занимаются написанием вирусов, взламыванием программ и т.д. Раньше этот термин связывали с высоким профессионализмом программиста (или кодера), который был способен написать очень оптимизированную и "маленькую" по размеру программу, которая используя минимум ресурсов могла сделать очень многое. Ну и обход каких-либо ограничений тут тоже считается)

Никакая это не база. Набор устоявшихся стереотипов, не более.

 Сначала айти сектор подорвал доверие к академическим знаниям, ибо были периоды, когда годовое штудирование курсов приводило человека на пресловутые 300к.

Люди, которые зарабатывают "пресловутые 300к" используя минимум усилий для достижения этой цели подрывают доверие к академическим знаниям? Вы это сейчас серьёзно?

А веб-кам, эскорт и фильмы 18+ к чему доверие подрывают? Туда идут работать люди, которые ищут лёгкого заработка. Иногда модели получают в месяц по миллионам долларов, ещё и выходят из этого бизнеса чистыми (кто-то семью заводит, кто-то в благотворительность уходит с головой, свой бизнес открывает и т.д.). Значит ли это, что они подрывают доверие к академическим знаниям? Я привёл лишь один пример из большинства. Просто он самый "популярный".

То, что какие-то ребята выбирают путь "заработать 300к после курсов пиля кучу не сложных проектов" - ничего не говорит об академическом образовании. Если сделать статистический анализ того, чем занимаются такие работяги на своих "галерах" (они их так любят называть), то я уверен, что там большинство делают кучу сомнительного содержания проектов год. Типа лендинги, веб-сайты для каких-то простых нужнд, ну и прочая муть, с порогом входа "знаю HTML и CSS". На этих задачах IT не ограничивается.

А Вы попробуйте без академических знаний заняться разработкой физического, звукового, графического движка или хотя бы свою сетевую библиотеку написать для клиент-серверного взаимодействия через TCP / UDP. Это уже сложно, за это меньше платят, но без базовых каких-то академических знаний здесь быть нельзя. Попробуй сейчас задать задачу такому среднему миддлу на фронтенде, который получает 300к, заключающуюся в разработке чего-то более низкоуровневого (например, потоковую передачу видео / файла чанками на сервер или свой фреймворк для работы с сетью сделать) - и он не узнает с чего сразу начать. Пойдёт читать "академические знания, к которым подорвано доверие"? Всё так и будет. Если бы это было как-то иначе - они бы никогда не стали мидлами.

 А человек с годами обучения в ВУЗ-е по технической специальности шел на завод за деньги в разы меньше и условия гораздо хуже чистого офиса (условным технологом). 

Есть классные технические специалисты, которые зарабатывают вразы больше мидлов и сеньёров из IT. И что? О чём это говорит? Да не о чём, всё зависит от специалиста и того, как он распорядится своими знаниями. IT сфера просто очень сильно влияет сегодня на всё и является одной из самых важных сфера для развития и тут куча денег "плавает". Ребята из этой статьи воспользовались этим и изобрели скамный бред, ничего больше. Никого они не "пошатнули". Просто развивают проект, который ничего хорошего не принесёт, а только поддержит тенденцию недоверия работодателей к IT-специалистам на собеседованиях.

И я, как носитель синего воротничка, могу сказать лишь "поделом".

Почему "поделом"? Думаю, что Вы не совсем понимаете что ИИ на самом деле подрывает. Он не любые знания подрывает, он просто очень хороший поисковик, консультант и в целом мощная программа для анализа текста, но вот люди, которые активно продвигают автоматизацию всего и вся даже не задумываются о будущем, в котором место людям нет. Есть какая-то картинка у них, что ИИ должен заменять людей во всех творческих, умственных и интеллектуальных задачах и всё. А во что это выльется - не их уже проблемы. А выльется это в то, что в людях ИИ перестанут нуждаться :) Проблема тут в людях. Сами создали этот мир технологий, сами его и разрушают. Почему? Потому что хотят (очень хотят).

Желаю этим ребятам успехов в их шатании устоявшейся системы обучения и найма. 

Чего они там могут пошатать? А главное - зачем? Просто так? Оттого что могут? Чтобы потешить чьё-то самолюбие?

Система, с какой стороны ни посмотри, в любом случае гнилая и место ее на свалке вместе со всей ее обслугой.

Ну, если Вы причисляете себя к синим воротничкам, то являетесь активным участником данной "гнилой" системы. Что делать? Мир не идеален. Я тоже много чего в этом мире и в этой системе не люблю.

Если Вы считаете, что система гнилая - предлагайте способы её улучшения, улучшайте себя, улучшайте людей вокруг, организуйте институты и университеты для более лучшего обучения или вложитесь в какое-то полезное дело. Но это ведь сложно, правда? Лучше сказать, что система плохая, сложить ручки и хлопать в ладоши, когда видишь что какие-то стартаперы собирают кучу бабла на проект, призванный обманывать других людей и получать от этого какую-то выгоду. Классика человеческого бытия, не более.

всяких там копирайтеров

Зря Вы их в этот список добавили. Копирайтеры ответственны за большую часть мусора в Интернете (особенно очень плохой копирайтинг), так что результат работы LLM и какого-нибудь среднего копирайтера особо не значительно отличается.

А вот монтажёры и актёры озвучки - это больше про творчество. Тут это действительно неправильно, но людей уже не остановить. Да и нужно ли? Те, кто стремится к саморазрушению рано или поздно его получит. Так что ребята идут на верном пути в безразмерную бездну, "успехов им".

сделал решение которое труба-шатает сбалансированную систему Васяна

Ну, во-первых - не сделал, а собрал "за 4 дня", а во-вторых - никого оно не шатает. Это по сути ещё даже не полноценное решение, а куча "обещаний" того, что оно будет работать для обмана интервьюеров (или людей в целом). СМИ разносит одно, по факту - другое.

И сразу после такой новости многие "стартаперы" побежали делать своё "уникальное", "прогрессивное", "технически сложное" приложение для обмана на собеседованиях, чтобы ещё больше плодить недоверие со стороны работодателей и усугублять и без того не лучшее положение IT-специалистов на рынке труда. Классика.

Такие новости и дают скачок развитию таких вот направлений. Лишь бы быстрее заработать, а на чём - не важно, главное получить кучу денег и дать лишний повод другим людям считать, что "образование не нужно", ведь и без него можно добиться "успеха".

Не хватает новостей о действительно достойных, честных и полезных проектах, а не вот этой вот 4-х дневной поделке (подделки), которую посчитали "разработкой" и в которую вложились инвесторы "потому что AI, AGI, ИИ". Там походу действительно во всё, что попало вкладываются, где ключевым словом стоит ИИ или что-то близкое по смыслу или содержанию.

Полагаю, что намного лучше разбираться в том коде, с помощью которого ты, как программист, решаешь прикладную задачу.

В разных языках существует масса нюансов, тонкостей и особенностей, которые могут отличаться от компилятора к компилятору (или интерпретатора), а также их версий.

Банальный пример - Clang, GCC и MSVC. В них куча отличий и поддержка в разных версиях C++20 разная. Где-то он полностью поддержан, а где-то частично. И программистам нужно за этим постоянно и тщательно следить, чтобы не было проблем при кроссплатформенной разработке, например.

Я недавно узнал, что в интерпретаторе CPython есть такая фишка, что числа от -5 до 256 резервируются в памяти для оптимизации вычислений. Мол это самые часто используемые числа. Поэтому в Python сравнение по типу:

a = -5
b = -5

print(a is b)

Будет возвращать True, т.е. обе переменные указывают на один и тот же объект в памяти.

А вот это уже вернёт False:

a = -6
b = -6

print(a is b)

Потому что это уже разные области памяти. Удивительно, не правда ли? Живёшь себе, пишешь на Python и такие тонкости встречаются.

Таких особенностей, я уверен, есть куча во многих языках программирования. И далеко не каждую из них LLM способен понять, интерпретировать и применять на практике генерируя безопасный код.

Безусловно, он будет улучшаться и будет писать в будущем более безопасный код (а может и на ЯП, который специально для ИИ разработан), но до этого времени нужно ещё дожить. Пока что на всех задач хватит, а программирование и IT никогда не перестанут быть актуальными :)

Пусть входят в ИТ, разве их жалко? Их же сожрут.

Вообще, если рассуждать с социально-гуманитарной точки зрения, то разве не все ли люди хотят быть счастливыми или в той или иной мере стремятся к этому самому счастью? Что плохого в том, что люди верят в возможность изменить свою жизнь к лучшему благодаря работе в ИТ? Те же самые "вкатуны" состоят по большей части из людей, которые искренне хотят свою жизнь как-то наладить и выйти на достойный уровень оплаты труда. Какими бы они не были, все имеют на это право. В этом нет ничего плохого, даже наоборот - очень много хороших и позитивных сторон. Какой-то процент из этих "вкатунов" всё таки реализует свой потенциал и дальше будет расти до хорошего специалиста, достигая свои цели и становится более счастливее (этого все хотят).

А Вы тут задаёте как бы риторический вопрос (в контексте своего комментария) и сообщаете что "их сожрут". Это как? Вам доставляет удовольствие, когда у целого множества людей чего-то не получается достичь из-за разных причин? Или что-то другое?

Сейчас нужно думать о выходе из ИТ

О чём угодно, но только не об этом. СМИ действительно очень хорошо работают и разносят мусорную информацию о "революции в сфере ИИ". Да так, что у не разбирающегося в вопросе программиста могут "опустится руки". Мол зачем делать то, что делаешь, когда скоро придут нейронки и всех заменят? Об этом же столько всего написано... Только это "скоро" может длится и 50 лет, и 100 лет, и 1000 лет, а может быть превратится в никогда. Существуют разные варианты развития событий и опускать руки сейчас уж точно не самый лучший из них.

Но вы об этом не сможете сказать в ИТ-комьюнити, если вас не забанят, то толпа ботов и троллей растопчет ногами. Вы реально хотите работать с такими коллегами где-то на удаленке, камрады?

Вы поэтому, полагаю, зашли под новым аккаунтом? Просто Ваш аккаунт зарегистрирован вчера и можно предположить, что Вы хотите избежать появления такой истории из цитаты Вашего комментария.

Программист это не тот кто знает языки программирования, этого мало.

Я правильно понимаю, что Вы утверждаете, что программист это не тот, кто знает языки программирования? Придирка, конечно, больше к словам, но всё же. На мой взгляд глупо отрицать тот факт, что программист и язык(-и) программирования это неразрывно связанные вещи.

Что такое "знать язык программирования"? Если Вы думаете, что это просто "заучить синтаксис" - это не так. Программы писать просто по заученному синтаксису не получится. Знать язык программирования - это, в том числе, применять его для решения задач, понимать как он устроен под капотом, оперировать различными абстракциями, которые можно на выбранном языке выразить, понимать и применять паттерны проектирования, которые в этом языке востребованы и многое другое. Вы очень недооцениваете это слово "знать", оно очень сильно отличается от "простого заучивания". Так что, если ты знаешь язык программирования и применяешь его для написания систем (т.е. навык постоянно используется), то ты уже программист.

Программист не тот кто может писать код

К слову, это тоже вызывает смущение :) Т.е. если я программист, пишу код, то я не программист. Это как?. Каждый, конечно, самостоятельно выстраивает у себя систему ассоциаций с той или иной областью деятельности, но если отрицать, что программист это тот, кто пишет код, то это уже какой-то невротизм чистой воды, потому что большую часть работы программист пишет код. Программист это тот, кто пишет код.

Настоящий программист тот кто умеет решать задачи- сделать сайт (от дизайна до нстройки сервера), написать программу, создать какой то сервис или устройство (от идеи до расскрутки).

Ну тут прям собрано вообще всё что угодно. Не хватает слова "тыж программист".

Программист не делает дизайн сайта, потому что тут нет программирования. Дизайн сайта - это дизайн сайта. Это совершенно другая область, которую программист может освоить для увеличения своих навыков и кругозора (тогда он будет претендовать на грейд FullStack Developer). Но он не делает дизайн, при этом оставаясь программистом (навряд ли Бьёрн Страуструп или Линус Торвальдс делали дизайн сайта, но при этом кто может усомниться в том, что они настоящие программисты?).

Настройка сервера уже ближе. Действительно программисту важно понимать своё рабочее окружение и мочь "с нуля" его воссоздать на любом рабочем месте. И сюда входит не только настройка сервера, но и настройка окружения ОС, различных IDE, инструментов для программирования.

написать программу

Невротизм чистой воды. То утверждаете, что программист это не тот, кто пишет код и знает языки программирования, то он всё-таки (настоящий программист) должен уметь писать программы. Видимо много путаницы с этим термином в Вашей интерпретации. Вы, случайно, не руководитель? Обычно руководители в IT-компаниях любят этим термином крутить как только можно.

устройство (от идеи до расскрутки)

Да-да, и беспилотный автомобиль должен сам собрать (и запрограммировать), и научную работу написать, и стать доктором физико-математических наук, и открыть новые химические вещества (чтобы потом создать свой процессор не на кремнии, а на чём-нибудь другом), и свой компьютер собрать "с нуля" и прочее. В Вашей интерпретации настоящий программист просто чрезмерно многозадачен. Особенно выглядит забавным, что Вы ещё и о раскрутке упомянули. Это вообще даже не техническая область задач, а просто SEO, которой занимаются совсем не программисты. Тем более настоящие. Но программисты (настоящие) могут и в этих всех задачах разобраться. Могут, а не обязаны или должны.

И тут надо иметь определенный склад ума и много опыта

Не забудьте упомянуть, что программирование - это прокачиваемый навык, который может прокачать практически любой человек (если нет определённым проблем со здоровьем, хотя даже люди с психическими проблемами могут ОС писать и языки программирования, примеры есть). А опыт нарабатывается последовательно. С ним не рождаются. Даже настоящие программисты.

Не могу себе представить кому нужен такой программист, как автор статьи, и кто за это платит.

Теперь можете. Программисты сейчас всё ещё востребованы и есть много специалистов, которые зарабатывают хорошие деньги будучи настоящим программистом не в Вашей интерпретации.

Скорей всего им денег просто девать некуда- в айти таких много.

Да... вероятнее всего, Вы не руководитель в IT-организации. Возможно просто, что называется "диванный критик".

А вообще чат gpt уже с успехом заменяет джуна.

Это Вы по раскрученным СМИ новостям узнали? :) Если им верить, то Вы можете уже сидеть на диване, ничего не делать и делегировать всю свою жизнь ChatGPT. Ну а что? Он будет за Вас работать, употреблять пищу, жить эту жизнь, читать книги и обучатся. Всё будет делать за Вас. Автоматизировать донельзя все процессы жизни.

"Не нравится такое будущее? Он неолуддит! Держите его!" - примерно к этому ведут все новости в СМИ о "революционно успешно успешном технологическом прорыве в ИИ".

Короче, очень этого жду, бесит меня читать про промпты, как их надо правильно писать, прямо какое-то внутреннее сопротивление

Куда ещё проще? :) Вы вообще ничего не хотите делать, а всю свою работу делегировать на LLM? Если уже даже правильно формулировать запрос нейронке не желаете (это "бесит").

Если так пойдёт дальше, то людям вообще ничего не нужно будет делать. Буквально лежать на диване, пить пиво, смотреть мультик, который нейронка будет показывать в AR и всё. Остальное возьмёт на себя AI. Он будет определять с кем человеку жить, встречаться, как жить и с кем дружить. Он будет определять какую еду тебе нужно есть, какое пиво пить, как себя вести в той или иной ситуации, на какую работу идти и как "автоматизировать автоматизированную донельзя работу", чтобы у тебя не возникло и доли сомнения в том, что за тебя всё сделает AI. Он буквально будет думать за людей, просто из-за того, что люди сами отказались от самостоятельного осмысления чего-угодно.

Но, конечно, члены культа "прогрессивного прогресса" за такие "высказывания" могут приписать человека к "неолуддитам", которые не принимают прогресс.

Я считаю, что должна быть какая-то грань вот этой вот "простоты" в использовании сервисов, решении задач, автоматизации и прочего. Иначе человек буквально отупеет донельзя (что, собственно, уже массово и происходит).

Лень - не двигатель прогресса (в 21 веке это уж точно не так). Это банально его препятствие, которое он либо преодолеет, либо на нём и завершится.

Кажется, что это те знания, которые в ближайшее время будут не нужны, и хорошо, что Кевин в этом меня поддерживает.

А как же профессия "промпт-инженер"? :) Как удобно. Сначала они говорят "программируйте с ChatGPT, автоматизируйте с ним свою работу, никто никого не заменит". Потом "знаете, всё-таки всех заменят, но вот промпт-инженер - это профессия будущего. Иди в ногу со временем, становись промпт-инженером!", а затем говорят "не... промпт-инженер - полная чушь. Всех заменят, люди не нужны, мы так решили". Это же... хрень какая-то.

Вокруг AI столько сейчас хайпа... и в 95% случаев он вообще необоснован. Лишь изредка попадаются достойные работы, а в остальном - тупо желание нажиться бабками, желание сфальшивить, привлечь инвестиции, перегнать какую-то уже существующую модель и никакого научно-технического прогресса или чего-то нового. Всё это "новое" давно забытое "старое".

Иногда я задумываюсь, а какова роль человека в будущем? Как определить то, чем человеку заниматься, если каждые 3-4 года умирают и будут умирать всё больше профессий? Как человеку быть полезным обществу и заниматься тем, чем ему нравится (несмотря на то, что эту область уже "заменили")?

Мне это не понятно. Вот авторы часто форсят всякие новости о ИИ, но они даже не задумываются, что тупо приближают этими новостями тот день, когда человек перестанет быть человеком. Ведь любое "ограничение упрощения" сейчас рассматривается как луддизм ("не согласен с повсеместным распространением ИИ? Луддит!").

Впрочем, чего я ожидаю от людей, далёких от IT или просто не любящих свою работу. Ничего нового. Как прослеживалось желание "ничего не делать", так и осталось.

можно ли во время исполнения этих пайплайнов доставать логи

Да, конечно. Это можно сделать с помощью базового модуля logger и записывать логи прямо в отдельный файл (т.к. консоль для этого не всегда является подходящим решением).

и в случае непредвиденных падений стартовать не сначала?

Думаю можно изучить особенности самого оркестратора пайплайнов и через определённые методы и try...except вызывать интересующий элемент пайплайна для выполнения (перехватывая исключения). Сам я такое не пробовал, но предполагаю, что такой механизм существует. Не думаю, что порядок выполнения жёстко регулируется массивом элемент пайплайна и его изменять по мере выполнения нельзя.

Знаете, какое дело... Еще лет 5 назад пробовали провести водораздел по границе "кодировщик" и "программист", где первый - это человек, который пишет какие-то буквы руками и в итоге это превращается в насколько-то продуманную технически и архитектурно поделку, а второй - ныряет с головой в бизнес-контекст и предлагает бизнесу на выбор некий сет решений, учитывая много разных параметров.

Причём под кодером обычно понимается не программист и технически сильный специалист, а тупо тот, кто "печатает текст под диктовку". Уморительно наблюдать за тем, какие мифические недостатки приписывают тем специалистам, с которых всё в IT и начиналось. Не было бы Linux, если бы один сильный кодер не написал его ядро, например.

Для меня лично кодер и программист - одно и тоже. Просто бизнесу выгодно отделять кодеров и программистов друг от друга по одной простой причине - экономии на менеджерах. Мол, зачем нам нужен менеджер, если можно большую часть его обязательств навязать программисту? Остаётся только через разные каналы связи пропагандировать мысль, что кодер != программист и программист лучше для всех (в большинстве для бизнеса).

Кодить - это скорее про исследования особенностей разных языков программирования, написание интересных и технически сложных систем, это про искусство и творчество больше, чем про бизнес. Вот и решили программиста отделить от кодеров (это моё мнение).

А возможно, вайбкодинг - это симптом того, что в самой индустрии не то, чтобы очень сильно много задачек осталось реально "на подумать". И что как говорил кто-то из авторов популярных книг про программирование "весь код уже, в целом, был кем-то когда-то написан".

Есть такой проект "Вавилонская библиотека", советую ознакомится. Его суть в том, чтобы генерировать все возможные случайные последовательности из букв английского алфавита. Прикол в том, что в этой библиотеке предположительно есть вся возможная информация о том, что было, что есть сейчас и что будет в будущем. Если так задуматься, то стоит ли вообще общаться с людьми, к чему-то стремится, что-то делать если это уже когда-то было, есть или будет? Тут вопрос скорее в осмысленной деятельности, чем в том, что это кто-то когда-то уже писал или делал. Что называется "горе от ума". Можно научно доказать, что нет для человека ничего лучше чем сидеть на диване, пить пиво и ничего не делать. Я серьёзно. Со всей необходимой математикой. Правда, а нужно ли это? Человека человеком делает его деятельность (в том числе), я считаю. Если всё делегировать на AI мы уже будем не людьми, а животными. Домашними питомцами для сверх быстрых машин... С таким будущим я не согласен и буду не согласен с миллиардами людей, в чьих интересах быть "питомцем для AI" теряя человеческую сущность.

Довольно странная реакция на нормального программиста, который предпочитает писать код самостоятельно и думать своей головой :) (комментарий к изображению)

Впрочем, таких "реакций" будет всё больше и больше. Для тех, кто будет всю свою жизнь жить с помощью AI будет казаться очень странным, что кто-то выбирает жить свою жизнь самостоятельно. Ведь как так? Жить, самому, жизнь? Самостоятельно? Вот прям без подсказок AI и промпт-запросов в стиле "как мне стать богатым и счастливым"? Вообще странно. Очень странно.....

Я здесь не просто так привёл такое сравнение с жизнью, поскольку отлично понимаю (или успешно себя обманываю что понимаю) к чему весь этот "прогресс" идёт. Повсеместное делегирование AI любой работы не останется без последствий. Со временем человек потеряет просто свои человеческие достоинства и лишится любого вида деятельности, потому что "прогресс", а если против того, чтобы AI за тебя кушал и за тебя домашку решал - "не прогрессивный", "луддит", "изгой" и т.д.

Интересно, те, кто поддерживает т.н. "вайб-кодинг" вообще понимают, к чему тенденция "автоматизация всего" приведёт в конечном итоге? Будущий AI реально сможет всё. Всё что угодно. Даже за человека употреблять пищу, ходить на работу да и жить за него. Будут ли посты "как я передал свою жизнь AI" в 2100 и популяризация этого "подхода" в массы с названием "vibe-live"? Скорее всего да, т.к. не всем нравится что-то делать.

Вайб-кодерами становятся не от хорошей жизни, я думаю. Просто лень таким людям писать программный код, думать своей головой, разбираться как там устроены микро- и макро- таски (если JavaScript), POSIX Threads (если C++ в Linux'e), внутренней устройство .NET (если C#) или как устроена хотя бы Windows или Linux изнутри. Для таких людей IT это просто работа. Я не осуждаю, не говорю что это плохо, просто они несут в массы чушь (по типу этого поста), которая распространяется на многих других таких же "своё мнение имею и готов им поделится" и складывается ощущение, что "вайб-кодером" придётся становится всем, поскольку таких людей всегда будет большинство. Большей части населения земли не нравится та работа, на которой они работают. Этим всё сказано. Не всем так везёт со своей профессией. IT не исключение.

Для кого-то метрика заработка важнее метрики усвоенных технически сложных концепций. Вот и всё. Ничего личного только бизнес. Так большинство живёт, я не осуждаю. Просто говорю о том, что есть и другой путь и он тоже нормальный.

Только вайб-кодеры не задумываются о последствиях таких шагов. Вполне вероятно, что это не они заменят "ручных музейных кодеров", а как раз последние заменят вайб-кодеров :) Потому что постепенно прослойка между этими самыми вайб-кодерами и LLM будет стираться, ибо LLM то обучается, а вайб-кодер - нет. Те же самые программисты изучают тонны технически сложных материалов, чтобы нормально писать свой код, проектировать устойчивую и масштабируемую архитектуру, да в алгоритмы могут.

Я был на фрилансе. Сам сделал там около 5 проектов в общей сложности. То, что автор поста делает 3-4 проекта в месяц (или даже 1 проект в месяц) его не красит. Я отлично знаю что там за проекты и как они устроены. В большинстве случаев это просто MVP, которые заказчикам вообще не нужны. Так, для галочки. Чтобы проверить "гипотезу" и дальше уже набирать полноценную команду разработчиков и долго пилить чёткий продукт.

Если программист делает 100 проектов в год - это должно настораживать, а не удивлять. Потому что проекты эти, как правило, выполнены не качественно, не проработаны, нет в них авторской изюминки, стиля, да и чего-то сложного. Тупо собрал проект из тонны зависимостей и библиотек (не забыв is-odd.js и is-even.js), да отдал заказчику. Работает? Пойдёт. Так и запишем "+1 проект в портфолио".

Когда работаешь полноценно над проектом там не до библиотек, там до решения конкретных задач, на которые можно потратить значительное время. Например, сделать виртуальный рендеринг таблиц на React.js чтобы можно было отображать хоть 1000000 записей на странице. Причём бэк уже написан и тебе нужно разбираться в его API и решать эту конкретную задачу.

Или, например, сделать свой какой-то уникальный компонент, под нужды пользователей, которого ещё нет в виде готового решения. Там вообще бывает нужно вспомнить и физику, и математику и что-то из игрового программирования подчерпнуть. Я лично сталкивался с использованием разложения Лагранжа в проекте на React.js (без TypeScript) для анимирования сложных атомарных элементов для конкретного браузера (Safari), потому что нужно было быстро поправить кое-какой баг с этой анимацией в этом браузере, а сделать это за день без математики было сложно. И это была одна из увлекательнейших задач.

Дело не в количестве, а в отношении. Если относишься к своей профессии поверхностно и не считаешь её чем-то особенным, ходишь на работу недовольный ("опять эта плохая работа") и жалеешь о выбранном пути - то вайб-кодинг это просто "великое открытие". А вот если любишь своё дело, горишь им, ценишь свои навыки и любишь решать задачи своей головой - никакой "вайб-кодинг" не отобьёт твой личный вайб, благодаря которому ты сможешь создавать удивительные вещи.

пока тенденции 'автоматизировать всё и заменить всех' вас лично не трогают — вы наблюдаете и пишете своё мнение, чтобы был баланс между автоматизацией и сохранением человеческого подхода.

В сущности, можно сказать, что это так. У меня пока нет времени заняться практической стороной данного вопроса, хотя я очень этого хочу. Например, чаще писать на техническом ресурсе свои статьи по разным техническим вопросам, сформировать свой Open Source курс по разным областям программирования (и не только), разобраться как следует в нейронках и проводить исследования в области создания "человекоориентированного" AI и прочее. В общем, самому развиваться и продвигать эту идею другим людям, формируя шаг за шагом "здоровое" общество.

В сущности, я сейчас занимаюсь бесполезным делом - просто пишу своё мнение в виде комментариев к статьям, которые содержат не очень мне близкие вещи, вместо того, чтобы больше внимание практическому вопросу посвятить. Максимум что я сейчас делаю - до обучаю мультимодальную модель от Qwen для автоматического управления веб-приложениями, чтобы просто такая возможность была у тех людей, кто не может или не хочет использовать манипуляторы в виде клавиатуры или мышки. Но не более.

 LLM вы видите как угрозу, которая делает человека 'прослойкой между AI и бизнесом' или даже инструментом

Важно отметить, что я не в LLM вижу угрозу, а наоборот - в людях и их отношении к этим самым LLM. Это совсем другое. Наше стремление "лежать на диване, пить пиво и ничего не делать" подкрепляется действиями крупного бизнеса, что в будущем приведёт собственно к полнейшей деградации значительной части человечества и появлению AI-рабов. Делегирование LLM своей работы ни к чему хорошему не приведёт.

местами он больше напоминал монолог

Есть такое. Мыслей у меня много, хоть книгу отдельную пиши или статью, обо всём сразу хочется написать и вставить своё словцо. С краткостью у меня серьёзные проблемы. Спасибо что эти тонны рассуждений до конца дочитали :)

Допустим, вы пишете код, а коллега рядом с LLM делает то же самое втрое быстрее. Вас правда не напрягает, что он успевает больше, пока вы 'развиваете мозг'?

"Развитие мозга" не есть самоцель моей деятельности. Мне нравится моя работа и то, чем я сейчас занимаюсь. В процессе решения различных задач, я прикладываю определённые усилия чтобы подумать над их решением, выстроить алгоритм, применить математику и так далее. А вот "развитие мозга" это уже второстепенное. Оно идёт параллельно.

Меня это не напрягает. Понятно же, что LLM генерируют код намного быстрее человека, а если человек использует этот код для решения задачи, то он очевидно быстрее будет решать и задачу. Другой вопрос в отношении к людям, которые пишут код самостоятельно. Без LLM.

Для меня на первом месте стоит качество и проработанность решения задачи, а не скорость. Безусловно LLM уже и сейчас это показывает, да и в среднем может писать код лучше программистов людей. Однако это не отменяет того факта, что я хочу самостоятельно решить ту или иную задачу. "Вручную" писать код и оперировать разного уровня абстракциями. До простоты банально, но обычное человеческое желание может всё изменить.

Как вы это в своей реальности переживаете?

Пока что на меня это никак не влияет. Даже косвенно. Просто я наблюдаю тенденции "автоматизировать всё и заменить всех", которые сейчас много кем поддерживаются и стараюсь по возможности написать своё мнение о таких тенденциях. Должен же быть баланс. А то большая часть тех, кто против LLM в продакшене кидает какие-то не очень объективные аргументы.

Чел, что ты куришь, чтобы так далеко улетать?

Пью чай с сахаром :|

Вы пишете, что надо код самому писать, рутину не делегировать, против бизнеса вставать. Хорошо, а вы сами чем занимаетесь?

Моя деятельность в контексте данного диалога не имеет никакого значения. Я могу быть программистом, дизайнером, врачом или кем-угодно ещё - это не важно. Однако я имею прямое отношение к IT.

Если вам дают задачу на работе, а дедлайн горит, вы правда будете сидеть и вручную всё делать, чтобы 'мозг не атрофировался'?

Представляете, да, так и делаю. Сам, своими усилиями разрешаю "горящие" задачи и принимаю неудачи, в случае если не успеваю их закрыть точно в срок. И я это делаю не чтобы "мозг атрофировался", а потому что мне нравится думать, рассуждать и решать свои задачи самостоятельно, а не под надзором "умной нейронки".

Или как вы поступаете, чтобы и навыки сохранить, и не вылететь с рынка?

Всегда есть множество вариантов развития событий. Например, если я хочу продолжать находиться на рынке труда и с него "не вылететь", то я должен (именно должен) играть по его правилам. Т.е. "адаптироваться": использовать LLM вместо своего интеллекта, пользоваться разными AI-инструментами, не учиться, а быть просто прослойкой между AI и бизнесом. Ну и так далее. Поскольку не я и не "здоровое" общество сейчас определяет рынок труда в том виде, в котором мы его сейчас наблюдаем.

Сейчас я имею возможность ещё делать то, что мне нравится и не делегировать всё на AI, развивая стартапы, которые в будущем могут принести плоды для развития "здорового" общества и "человекоориентированного" AI, для формирования того рынка труда, в котором люди смогут заниматься тем, чем они хотят заниматься (в плане работы, карьеры и учёбы).

Если же я вылечу с рынка раньше, чем смогу поставить на ноги свой бизнес для разработки в области "человекоориентированного" AI, то предпочту принять вылет как должное и отправится в нишу вирусописателей, "чёрных" хакеров ну и так далее. Так сказать буду "адаптироваться" под существующие реалии и реализовывать появившиеся возможности. Там мои навыки и знания уж точно могут пригодиться :) Поскольку мы живём не в идеальном мире, а значит что любую систему можно взломать. Буквально любую, даже самый сильный сверхсильный ИИ.

Вылет с рынка ещё не означает конец жизни, вылет "за борт" или прекращение занятия своим любимым делом. Богатые "дядьки в дорогих пиджаках" не имеют права определять то, чем мне нужно заниматься в течении всей своей жизни под предлогом "научно-технологической революции". Всегда есть альтернативные сценарии развития тех или иных событий и это не исключение.

Но если я, например, использую его, чтобы быстрее набросать прототип или найти баг в коде, а потом сам дорабатываю — это уже 'рабство' или всё-таки инструмент?

Я бы назвал это "разминкой", потому что в скором времени люди будут не прототипы набрасывать, а буквально целые коммерческие проекты таким образом разрабатывать и быть не более чем прослойкой между требованиями бизнеса и AI (очень "умных" LLM). Причём в этой прослойке бизнес тоже довольно скоро перестанет нуждаться. Совершенно всё об этом говорит уже сегодня.

Сейчас достаточно настроить кучу LLM для полноценной работы в разных редакторах (Cursor, VS Code, etc) и идти вперёд дорабатывать существующие проекты. Многие так уже и делают, а скоро их будет и вовсе большинство. Они считают это "новым этапом развития человечества", "технологической революцией" или просто положительным веянием прогресса. Я же считаю это деградацией и у меня есть все основания полагать, что я ошибаюсь не на 60% и даже не на 40%.

Инструментом выступают сейчас уже не LLM и нейронки, а человек (например, с Cursor IDE). Правда люди даже не задумываются о том, что они могут быть просто инструментом. Они же, ну это - люди. Вроде бы благодаря им всё это техническое чудо свершилось и они то уж точно не могут быть инструментом, ведь так?

 Где грань, по-вашему?

Для каждого конкретного человека эта грань разная. Важно следить за уровнем зависимости от AI-инструментов в повседневной жизни, чтобы предотвратить полную зависимость от них (или AI-рабство в широком смысле), развивая свои практические навыки и самостоятельность в решении задач. Это ведь не сложно. Достаточно рассуждать самостоятельно (насколько это возможно) и развивать свои навыки. Заниматься своим любимым делом в широком смысле.

Information

Rating
3,385-th
Location
Иркутск, Иркутская обл., Россия
Date of birth
Registered
Activity

Specialization

Software Engineer, ML Engineer
Middle
C++
Python
TENSORFLOW
Pytorch
Cmake
Linux
Deep Learning
Cuda
Computer Science
Keras