На соревновании никто не сидит напротив, глядя тебе в рот и оценивая насколько ты хорош.
Есть варианты. Можно научиться не испытывать стресс чтобы нужный глубокий креатив работал на собесе, можно научиться решать задачи настолько хорошо чтобы креатив на собесе был уже не нужен. Научиться говорить и думать параллельно это самое прямое решение проблемы собеседования. И может пригодиться в работе в качестве софтскила.
По моему опыту, основная причина провальности лайвкодинга - привычный способ мыслить. Обычно если программист видит алгоритмическую задачу, он думает о ней, визуализирует проблему, получает ощущение охвата проблемы, ее осознания, потом его мысли блуждают вокруг и в какой-то момент из ничего выскакивает видение решения. Сделать это под стрессом невозможно - мозг пугается, все время сбрасывается и не входит в нужное состояние.
Для того чтобы решить задачу на собесе нужно уметь мыслить как чат GPT - сразу с ходу генерить и озвучивать идеи и постепенно приходя к решению.
Чтобы подготовитсья, я делал так. Брал не сложную задачу с литкода и вместо того чтобы думать о ней начинал сразу в слух ее обсуждать, пытаясь найти решение (второй этап - обсуждать еще и на английском). Таким образом удается перестроить мышление с образного на вербальное. Дальше, на собесе когда предлагают ливкодинг, сразу начинаешь обсуждать задачу, это нравится интервьюеру, он участвует и ждет, через какое-то время надо выйти на решение. До решения задач на собес гугла я не дошел, но после этой тренировки вербального мышления, задачи типа обхода бинарного дерева или ревью кода на собесе перестали быть катастрофой.
И бороться можно, и регулировать, кому сделавшие могут или не могут это продавать, независимо от их желания. Собственно, это сейчас и происходит.
Если ресурсы лежат в чужой земле, то за них можно бороться завоеванием этой страны, экономическим ее поглощением, сменой потитической власти на марионеточную. Вот это все уже устарело лет на 80.Сейчас продадут полюбому, и деньги не проблема. А про технологии - ну вот США не хотят продавать технологии литографии Китаю. И как именно политические силы китая могут с этим бороться, кроме как развитием своих технологий? Могут дружить, это да. Но не бороться.
Это никак не меняет того, что эффективная политическая сила стремится только к усилению своей власти, а мораль для неё - только инструмент, но никак не руководящая директива. А эффективная компания стремится к максимизации прибыли, а не к той фигне про социальную ответственность и заботу о природе, которую они пишут в пресс-релизах.
Мораль, это программа в головах людей, обусловленная социальным образом жизни, эффективность которой подтверждена тысячелетиями. В том или ином виде она работает и обязана работать. Отрицание ее влияния или исключение ее выгдядит может и умно, но ни к чему дельному не приводит.
Тогда бы до сих пор солнце каждый день вставало над миром по повелению божественного фараона.
Так оно и встает.
Политическая система - это биотоп, а политические силы в ней - высшие хищники. Конкурируют, усиливаются или вырождаются. Находят оптимальные формы. Иногда может прийти хищник из соседнего биотопа и всех сожрать. Эмпатия по отношению к корму у них не предусмотрена. Это просто камуфляж.
Так и было, когда неучастие во власти означало тяжелый беспросветный труд а участие означало кучу слуг, развлечений и женщин. Сейчас это не совсем так. Без подобной прямой подпитки политические силы вполне могут конкурировать за удовлетворение потребностей общества а не за власть саму по себе. Как я говорил уже у греков 2500 лет назад это периодически работало.
Ух как любят люди повторять чужие слова. Ну давайте проведём простенький эксперимент. Назовите моё имя или хотя бы город из которого я это пишу. Не можете? А как так получилось? Анонимности же нет по вашим словам.
Если смотреть по базе ФСБ, то вы живете в России, вам около 45 лет, рост средний, какое-то время точно проживали в Москве, имели совместный бизнес с друзьями.
Ага, купите новейшие литографы от ASML в Китае. Или купите компоненты для производства ядерного оружия в любой стране.
Так это же не ресурсы. За это нельзя боросться и это нельзя отобрать у тех кто это сделал.
Во-вторых, пусть такой потребности нету, ну вот каким-то машическтм образом она исчезла. ОК, значит политические силы будут формироваться из людей, которым власть почему-то нужна. Психическое отклонение или просто сексуальный фетиш у них такой.
Объясните это Меркель или Шольцу. Политическая власть может быть просто карьерой. Реальная власть может быть слишком сильно распределена, чтобы за нее можно было бороться саму по себе. Если власть не распределана, то она вещь весьма специфическая - сильно снижает среднюю продолжительность жизни, повышает количество стресса и вероятность оказаться за решеткой.
Результат никак не поменяется: под давлением естественного отбора будут выживать наиболее эффективные политические силы.
Любая политическая система эффективна примерно в равной мере. Две с половиной тысячи лет назад греческая демократия была вполне себе конкурентной системой наряду с тираниями. Если в обществе есть ответсвенность, пронизывающая всех от низа до элит, общество будет процветать хоть при царе хоть при демократии. Если каждый ищет только где урвать, не поможет ни диктатор ни демократия - все равно будет беда. Здесь скорее вопрос выбора системы, чем их естественного отбора.
Это как? Условно, чтобы я мог на хабре оставить просто коммент, либо, коммент, подписанный моим приватным ключом?
Типа того. Допустим, в браузер можно ввести семантические теги для авторизованного контента и анонимного. Браузер должен как-то выделять тип контента - стилем, иконками, всплывающими подсказками. Дальше браузер должен проверять подпись авторизованного контента, и дальше в зависимости от желания автора показывать прямо его реквизиты как физ лица, или показывать только юрисдикцию (страну) в которую можно теоретически подавать в суд на автора.
Елси я хочу комментировать новости, то могу создать авторский аккаунт или анонимный. Государство не имеет право организовывать неограниченную слежку за анонимными источниками, примерно на тех же условиях как прослушку телефонов. Ответсвенность за анонимное содержимое должна быть не высокой и применяться в случае если это уже совсем уголовщина.
Дальше пользователь читает эти комментарии к новостям и видит что здесь есть серьезные люди, которые не боятся ответственности за свои слова и те кто поболтать зашел.
Таким образом мы смогли бы иметь два параллельных интернета - свободный, где каждый пишет что угодно и ответственный, где каждый пишет так, чтобы на него никто не подал в суд. Естественно, доверие у любого будет больше к авторизованной части, но отдушина в которую может утекать неудобная правда остается.
Сейчас беда в том, что когда кто-то пишет в интернете полную чушь, пользователь может только догадываться насколько это ответственное мнение.
Конечно в модели диктатуры и ущемления свобод ответственным как раз может стать анонимное мнение, но это уже другой вопрос.
Какая-то предельно наивная концепция. Борьба идёт не между типами политических систем, а между группами влияния, за ресурсы и власть. Демократия спокойно будет сотрудничать с самыми жуткими диктаторами и людоедами, если это выгодно. Пример - американская операция "Кондор" в латинской Америке.
ИМХО, устаревшая лет на 80 концепция. В открытом мире ресурсы вообще не проблема покупать, а влать сейчас не дает каких-то кардинальных преимуществ в жизни тем у кого она есть.
Сейчас борьба идет именно за то кто как видит будущее человечества. Запад видит приятным и безопасным для себя будущее в котором запад и страны принявшие его модель устройства общества все контролируют, нищие неблагополучне регионы мира подконтрольны, подчищены и приведены в некий элементарный порядок, кругом толерантность и вавилон из тысячи народов. Этого к сожалению не будет, потому что в этом прекрасном мире человечество врядли устремится в космос, скорее увязнет в наркоте.
У Китая похоже другое видение будущего (поправьте меня, кто понимает Китай) - мудрые элиты, выбирающие курс к процветанию человечества и придерживающие в ежовых руковицах не настолько мудрый народ, чтобы он от этого курса не отклонялся.
У стран вроде России (или Ирана) по-моему вообще нет никакого видения будущего, они просто против чего-то, не поймешь чего конкретно.
Какой игровой компьютер в 80-х? У Вас что-то с памятью? :)
В конце 80-х. В 88 у меня появился Радио-86рк. Потом у людей пошли Вектор на той же платформе и до того БК-0010. Они больше подходили под определение "игровой", это да. И уже потом синклеры и прорыв - первый IBM совместимый MК-88, нереальная круть, мне на тот момент недоступная.
И судя по тому, как безграмотно Вы выражаете свои мысли, я подозреваю, что Вы из первых.
Не, я тупой как дрова троечник и не сильно успешный программист. Но даже я осваивал программирование по такой схеме: в 5м классе пошел в библиотеку и прочитал что такое компьютер и бейсик. В 6-м попал за первый комп в дворце пионеров. Сказали написать простейшую программу, написал, больше не ходил, потому что слишком просто и скучно. В 8-м классе получил таки комп домой, сразу написал игру с бомбящим самолетиком на бейскике и после этого написал пару игр на ассемблере. Никто меня не учил, ничего я не читал. Было несколько распечатанных страниц от друзей отца и дальше эксперименты.
Ну не было в моей жизни момента, когда я изучал упорно базовые концепции вроде циклов. И в жизни большинства программистов этого тоже не было. Просто они не пишут здесь, потому что зачем заниматься понто-резтвом, демотивировать людей и сливать карму. А у меня просто настроение депрессивное и поэтому занялся "раскритием глаз". Сейчас закончиу и забуду прохабр на пол года.
В идеале нужно реализовать на уровне браузера и протоколов четкое разделение анонимной и авторской информации. Тогда и свобода останется и каждый сможет понимать цену информации и ответственность автора за нее. Если так не сделать, свобода умрет сама по себе в результате спонтанных усилий разных заинтересованных в ее уничтожении сторон.
Говнокод - это не то слово. Я вообще не могу понять как можно такое заставить работать. Это выглядело как гуление ребенка, которое появляется перед настоящей речью, но только в программировании. По математике, да, науськивал. Например он спросил что такое комплексные числа, я сказал "число с углом", спросил что такое интеграл, я сказал "площадь под графиком". Этого хватило. Он не один такой. Его друг спросил у меня классе в 4-м что такое корень. Я сказал "умножение само на себя, но в обратную сторону" он ухватил. Этот тоже программирует, но немного подругому - тянет решения на все случаи жизни из интернета и слепливает вместе (ему 16).
Ключевое слово "вам пришлось обучить". Если человек нужндается чтобы его учили, это уже не тот контингент. Если уже в детали, то первыми программами моего сына на питоне были клеточный автомат, разложение в ряд фурье потрета бабушки и собвтвенный 3d движок. Он пришел ко мне с вопросами - что такое интеграл (объяснил на пальцах, этого хватило), как работает тригонометрия (в школе до нее еще не дошел) и как организовать хранение слабозаполненной матрицы. Я смотрел но не увидел момента когда он освоил совственно сам питон. Как думаете почему? Потому что это слишком просто чтобы этому учиться.
Но вообще здесь дело не в уровне интеллекта а в его направленности. У множества людей достаточно математической креативности, чтобы изобрести программирование с нуля как это сделал Тюринг и прочие когда-то. Поэтому им не нужно обучаться. Не нужно изучать то до чего можно догадаться.
Помню взял в отдел брата друга. Сам друг был программистом от бога, а этот его брат был совсем не то, почти ничего не пытался делать, учился на электронщика, на программиста не смог поступить (конец 90-х, начадо 2000-х). Для начала я дал ему пробную задачу написать на c++ графический редактор чтобы пользователь мог рисовать схемы. За пару месяцев написал. Еще через пару месяцев уволился, пошел в коммерческий сектор, за пару первых месяце исправил больше багов чем вся команда вместе взятая (с его слов). Через год был уже тимлидом, через два купил квартиру за ЗП без кредита. Это история программиста и с этими ребятами периодически нужно биться за место под солнцем.
Нет. Это не пласт работы. Это самоочевидные вещи, как например концепция подсчета предметов, про которую никто не помнит когда он усвоил. Так это работает для любого действительно хорошего программиста. Те кто хочет быть программистом должен об этом знать, чтобы потом не было миллиона разочаровавшихся безработных, когда пузырь в очередной раз лопнет.
Я никогда не сяду учить ноты, в надежде срубить денег играя сольные концерты Рахманинова. Но по определенным причиам в программировании это пока стало нормой.
Что именно там должно быть между? Концепции переменных, массивов, выражений, присваивания, цикла и условного оператора? Это вещи до которых в современном мире можно догадаться самому даже если никогда непосредственно о них не слышал. Мое поколение в 80-х все как-то догадывались до этих вещей получив в руки игровой компьютер без интернета, курсов и доступных книг, в мире где электрический выключатель был самым сложным логическим элементом. Что стоит до этого догадаться ребенку который тыкает в планшет с 2-х лет и ставит моды на майнкрафт?
Вовсе нет. Этот список с списывал с моего сына, его другей, бывших коллег из прошлого. Каждый второй сын маминой подруги крутой программист, которого вы можете встретить прошел примерно такой путь. При этом они интересуются программированием меньше чем иной свитчер - кодят от случая к случаю и только для удовольствия, ничего вообще не пытаясь изучать специально.
Сегодняшние вуз-ы и шкоды войтишников не сильно афишируют тот факт, что их учили несколько лет играть на рояле одним пальцем, а на рынке полно мацартов, играющих что угодно чем угодно через три дня подготовки. Конкурировать с нимм можно только до тех пор пока рынок раздувается и берет вообще всех. При настоящей конкуренции шансов никиких.
Я сам не сильно крутой программист и могу испытывать проблемы в поиске работы. Но даже я 30 лет назад не помню момента когда научился программировать. Просто c 6 по 11 класс для развлечения (тогда мало кто думал что программирование - это профессия) читал одну страницу руководства по ассемблеру/паскалю/бейсику/c++ и так далее и сразу писал что мне нужно было. Если человеку нужно учиться программировать это значит он столкнется с кучей таких которым учиться не нужно было совсем.
Этапы формирования навыков программирования, которые я наблюдал раза 3 (шаги примерно такого уровня, но у всех разные):
Может собрать алгоритм на скретче, но не особо инетерсуется.
Посмотрел 30 минутное видео про питон. За три дня поднял графическую библиотеку и написал годную игру. Не использовал никаких готовых решений, код ужасен и запутан невероятно, все дублируется что можно, все называется непостижимо, но код работает и понятен автору.
Периодически собирает из кусков своей первой игры новые странные игры. в которых непонятные создания ползают по экрану, множаться.
"Папа, хочу сделать сетевую игру" - "есть такая хрень как сокеты". На завтра уже все работает.
Приходит с вопросами зачем нужны классы и функции. Пытается использовать, в основном крайне неудачно и не по назначению.
Приходит к отцу с вопросом: "мои игры слишком медленные, хочу переписать их на c++". Отец - та ты только графику там подымать умрешь. За неделю подымает графику. Не пытается изучать язык, приходит с вопросом - зачем звездочка и крючки? Получает ответы, типа "у компа есть память, она с адресами, в памяти есть стек и куча, ", этого оказывается достатоыно, переписывает свои программы на работоспособный c++. Не пытается ничего читать, экспериментирет чтобы понять что происходит. Код по прежнему ужасен абсолютно, но работает.
Хочет написать бота на майнкрафт. Посмотрел в ютубе, что это можно сделать на node js. Приходит с вопросами чего за хрень js, пакетные менеджеры и прочее. Пишет бота за пару дней, все работает.
Собирается с друзьями поучаствовать в хакатоне по написанию игр (всем примерно по 16 лет). Спешно за ночь изучают юнити, гит, с#. Начинают говорить "запушить" и прочее. За две недели собирают игру, занимают N-е место.
Начинает задаваться вопросом - как не утонуть в сложном коде. Схватывает идеи построения архитектуры. Смотрит базы, фронт. В целом почти готовый девелопер (примерно 18 лет).
Большая пауза (несколько лет). Игры писать больше не интересно, деньги зарабатывать еще рано. Когда приходит время зарабатывать деньги, содится готовиться к собесам. Или случайно попадает в коллектив где сразу надо работать.
Через примерно 2 года работы выходит синьорский уровень.
Что касается этапов, описанных в статье выше, то люди которые прошли эти этапы попадают на рынок и сталкиваются в прямой конкуренции с людьми, прошедшими описанные мной этапы. И тогда задаются вопросом "а оно мне было надо"?
На самом деле он просто запоминает выполнение программы и показывает его в обратную сторону как кино. Выполнить программу в обратную сторону мешает та же причинность которая мешает путешествиям во времени.
Если загружать компьютер программами, то он будет работать все медленнее. После того как он совсем остановится мы можем догрузить его ещё и он может начать выполнять программы в обратную сторону! Правда чтобы загрузить зависший комп, придется дать ему отрицательную программу, которые мы пока не умеем писать, но это детали ..
Та это военные. Риск и ожидание основная часть их карьеры.
На соревновании никто не сидит напротив, глядя тебе в рот и оценивая насколько ты хорош.
Есть варианты. Можно научиться не испытывать стресс чтобы нужный глубокий креатив работал на собесе, можно научиться решать задачи настолько хорошо чтобы креатив на собесе был уже не нужен. Научиться говорить и думать параллельно это самое прямое решение проблемы собеседования. И может пригодиться в работе в качестве софтскила.
По моему опыту, основная причина провальности лайвкодинга - привычный способ мыслить. Обычно если программист видит алгоритмическую задачу, он думает о ней, визуализирует проблему, получает ощущение охвата проблемы, ее осознания, потом его мысли блуждают вокруг и в какой-то момент из ничего выскакивает видение решения. Сделать это под стрессом невозможно - мозг пугается, все время сбрасывается и не входит в нужное состояние.
Для того чтобы решить задачу на собесе нужно уметь мыслить как чат GPT - сразу с ходу генерить и озвучивать идеи и постепенно приходя к решению.
Чтобы подготовитсья, я делал так. Брал не сложную задачу с литкода и вместо того чтобы думать о ней начинал сразу в слух ее обсуждать, пытаясь найти решение (второй этап - обсуждать еще и на английском). Таким образом удается перестроить мышление с образного на вербальное. Дальше, на собесе когда предлагают ливкодинг, сразу начинаешь обсуждать задачу, это нравится интервьюеру, он участвует и ждет, через какое-то время надо выйти на решение. До решения задач на собес гугла я не дошел, но после этой тренировки вербального мышления, задачи типа обхода бинарного дерева или ревью кода на собесе перестали быть катастрофой.
Если ресурсы лежат в чужой земле, то за них можно бороться завоеванием этой страны, экономическим ее поглощением, сменой потитической власти на марионеточную. Вот это все уже устарело лет на 80.Сейчас продадут полюбому, и деньги не проблема. А про технологии - ну вот США не хотят продавать технологии литографии Китаю. И как именно политические силы китая могут с этим бороться, кроме как развитием своих технологий? Могут дружить, это да. Но не бороться.
Мораль, это программа в головах людей, обусловленная социальным образом жизни, эффективность которой подтверждена тысячелетиями. В том или ином виде она работает и обязана работать. Отрицание ее влияния или исключение ее выгдядит может и умно, но ни к чему дельному не приводит.
Так оно и встает.
Так и было, когда неучастие во власти означало тяжелый беспросветный труд а участие означало кучу слуг, развлечений и женщин. Сейчас это не совсем так. Без подобной прямой подпитки политические силы вполне могут конкурировать за удовлетворение потребностей общества а не за власть саму по себе. Как я говорил уже у греков 2500 лет назад это периодически работало.
Если смотреть по базе ФСБ, то вы живете в России, вам около 45 лет, рост средний, какое-то время точно проживали в Москве, имели совместный бизнес с друзьями.
Так это же не ресурсы. За это нельзя боросться и это нельзя отобрать у тех кто это сделал.
Объясните это Меркель или Шольцу. Политическая власть может быть просто карьерой. Реальная власть может быть слишком сильно распределена, чтобы за нее можно было бороться саму по себе. Если власть не распределана, то она вещь весьма специфическая - сильно снижает среднюю продолжительность жизни, повышает количество стресса и вероятность оказаться за решеткой.
Любая политическая система эффективна примерно в равной мере. Две с половиной тысячи лет назад греческая демократия была вполне себе конкурентной системой наряду с тираниями. Если в обществе есть ответсвенность, пронизывающая всех от низа до элит, общество будет процветать хоть при царе хоть при демократии. Если каждый ищет только где урвать, не поможет ни диктатор ни демократия - все равно будет беда. Здесь скорее вопрос выбора системы, чем их естественного отбора.
Типа того. Допустим, в браузер можно ввести семантические теги для авторизованного контента и анонимного. Браузер должен как-то выделять тип контента - стилем, иконками, всплывающими подсказками. Дальше браузер должен проверять подпись авторизованного контента, и дальше в зависимости от желания автора показывать прямо его реквизиты как физ лица, или показывать только юрисдикцию (страну) в которую можно теоретически подавать в суд на автора.
Елси я хочу комментировать новости, то могу создать авторский аккаунт или анонимный. Государство не имеет право организовывать неограниченную слежку за анонимными источниками, примерно на тех же условиях как прослушку телефонов. Ответсвенность за анонимное содержимое должна быть не высокой и применяться в случае если это уже совсем уголовщина.
Дальше пользователь читает эти комментарии к новостям и видит что здесь есть серьезные люди, которые не боятся ответственности за свои слова и те кто поболтать зашел.
Таким образом мы смогли бы иметь два параллельных интернета - свободный, где каждый пишет что угодно и ответственный, где каждый пишет так, чтобы на него никто не подал в суд. Естественно, доверие у любого будет больше к авторизованной части, но отдушина в которую может утекать неудобная правда остается.
Сейчас беда в том, что когда кто-то пишет в интернете полную чушь, пользователь может только догадываться насколько это ответственное мнение.
Конечно в модели диктатуры и ущемления свобод ответственным как раз может стать анонимное мнение, но это уже другой вопрос.
Как-то так.
Ага. Ну так я же не говорю что это обязано работать.
ИМХО, устаревшая лет на 80 концепция. В открытом мире ресурсы вообще не проблема покупать, а влать сейчас не дает каких-то кардинальных преимуществ в жизни тем у кого она есть.
Сейчас борьба идет именно за то кто как видит будущее человечества. Запад видит приятным и безопасным для себя будущее в котором запад и страны принявшие его модель устройства общества все контролируют, нищие неблагополучне регионы мира подконтрольны, подчищены и приведены в некий элементарный порядок, кругом толерантность и вавилон из тысячи народов. Этого к сожалению не будет, потому что в этом прекрасном мире человечество врядли устремится в космос, скорее увязнет в наркоте.
У Китая похоже другое видение будущего (поправьте меня, кто понимает Китай) - мудрые элиты, выбирающие курс к процветанию человечества и придерживающие в ежовых руковицах не настолько мудрый народ, чтобы он от этого курса не отклонялся.
У стран вроде России (или Ирана) по-моему вообще нет никакого видения будущего, они просто против чего-то, не поймешь чего конкретно.
В конце 80-х. В 88 у меня появился Радио-86рк. Потом у людей пошли Вектор на той же платформе и до того БК-0010. Они больше подходили под определение "игровой", это да. И уже потом синклеры и прорыв - первый IBM совместимый MК-88, нереальная круть, мне на тот момент недоступная.
Не, я тупой как дрова троечник и не сильно успешный программист. Но даже я осваивал программирование по такой схеме: в 5м классе пошел в библиотеку и прочитал что такое компьютер и бейсик. В 6-м попал за первый комп в дворце пионеров. Сказали написать простейшую программу, написал, больше не ходил, потому что слишком просто и скучно. В 8-м классе получил таки комп домой, сразу написал игру с бомбящим самолетиком на бейскике и после этого написал пару игр на ассемблере. Никто меня не учил, ничего я не читал. Было несколько распечатанных страниц от друзей отца и дальше эксперименты.
Ну не было в моей жизни момента, когда я изучал упорно базовые концепции вроде циклов. И в жизни большинства программистов этого тоже не было. Просто они не пишут здесь, потому что зачем заниматься понто-резтвом, демотивировать людей и сливать карму. А у меня просто настроение депрессивное и поэтому занялся "раскритием глаз". Сейчас закончиу и забуду прохабр на пол года.
В идеале нужно реализовать на уровне браузера и протоколов четкое разделение анонимной и авторской информации. Тогда и свобода останется и каждый сможет понимать цену информации и ответственность автора за нее. Если так не сделать, свобода умрет сама по себе в результате спонтанных усилий разных заинтересованных в ее уничтожении сторон.
Говнокод - это не то слово. Я вообще не могу понять как можно такое заставить работать. Это выглядело как гуление ребенка, которое появляется перед настоящей речью, но только в программировании. По математике, да, науськивал. Например он спросил что такое комплексные числа, я сказал "число с углом", спросил что такое интеграл, я сказал "площадь под графиком". Этого хватило. Он не один такой. Его друг спросил у меня классе в 4-м что такое корень. Я сказал "умножение само на себя, но в обратную сторону" он ухватил. Этот тоже программирует, но немного подругому - тянет решения на все случаи жизни из интернета и слепливает вместе (ему 16).
Ключевое слово "вам пришлось обучить". Если человек нужндается чтобы его учили, это уже не тот контингент. Если уже в детали, то первыми программами моего сына на питоне были клеточный автомат, разложение в ряд фурье потрета бабушки и собвтвенный 3d движок. Он пришел ко мне с вопросами - что такое интеграл (объяснил на пальцах, этого хватило), как работает тригонометрия (в школе до нее еще не дошел) и как организовать хранение слабозаполненной матрицы. Я смотрел но не увидел момента когда он освоил совственно сам питон. Как думаете почему? Потому что это слишком просто чтобы этому учиться.
Но вообще здесь дело не в уровне интеллекта а в его направленности. У множества людей достаточно математической креативности, чтобы изобрести программирование с нуля как это сделал Тюринг и прочие когда-то. Поэтому им не нужно обучаться. Не нужно изучать то до чего можно догадаться.
Помню взял в отдел брата друга. Сам друг был программистом от бога, а этот его брат был совсем не то, почти ничего не пытался делать, учился на электронщика, на программиста не смог поступить (конец 90-х, начадо 2000-х). Для начала я дал ему пробную задачу написать на c++ графический редактор чтобы пользователь мог рисовать схемы. За пару месяцев написал. Еще через пару месяцев уволился, пошел в коммерческий сектор, за пару первых месяце исправил больше багов чем вся команда вместе взятая (с его слов). Через год был уже тимлидом, через два купил квартиру за ЗП без кредита. Это история программиста и с этими ребятами периодически нужно биться за место под солнцем.
Нет. Это не пласт работы. Это самоочевидные вещи, как например концепция подсчета предметов, про которую никто не помнит когда он усвоил. Так это работает для любого действительно хорошего программиста. Те кто хочет быть программистом должен об этом знать, чтобы потом не было миллиона разочаровавшихся безработных, когда пузырь в очередной раз лопнет.
Я никогда не сяду учить ноты, в надежде срубить денег играя сольные концерты Рахманинова. Но по определенным причиам в программировании это пока стало нормой.
Что именно там должно быть между? Концепции переменных, массивов, выражений, присваивания, цикла и условного оператора? Это вещи до которых в современном мире можно догадаться самому даже если никогда непосредственно о них не слышал. Мое поколение в 80-х все как-то догадывались до этих вещей получив в руки игровой компьютер без интернета, курсов и доступных книг, в мире где электрический выключатель был самым сложным логическим элементом. Что стоит до этого догадаться ребенку который тыкает в планшет с 2-х лет и ставит моды на майнкрафт?
Вовсе нет. Этот список с списывал с моего сына, его другей, бывших коллег из прошлого. Каждый второй
сын маминой подругикрутой программист, которого вы можете встретить прошел примерно такой путь. При этом они интересуются программированием меньше чем иной свитчер - кодят от случая к случаю и только для удовольствия, ничего вообще не пытаясь изучать специально.Сегодняшние вуз-ы и шкоды войтишников не сильно афишируют тот факт, что их учили несколько лет играть на рояле одним пальцем, а на рынке полно мацартов, играющих что угодно чем угодно через три дня подготовки. Конкурировать с нимм можно только до тех пор пока рынок раздувается и берет вообще всех. При настоящей конкуренции шансов никиких.
Я сам не сильно крутой программист и могу испытывать проблемы в поиске работы. Но даже я 30 лет назад не помню момента когда научился программировать. Просто c 6 по 11 класс для развлечения (тогда мало кто думал что программирование - это профессия) читал одну страницу руководства по ассемблеру/паскалю/бейсику/c++ и так далее и сразу писал что мне нужно было. Если человеку нужно учиться программировать это значит он столкнется с кучей таких которым учиться не нужно было совсем.
Этапы формирования навыков программирования, которые я наблюдал раза 3 (шаги примерно такого уровня, но у всех разные):
Может собрать алгоритм на скретче, но не особо инетерсуется.
Посмотрел 30 минутное видео про питон. За три дня поднял графическую библиотеку и написал годную игру. Не использовал никаких готовых решений, код ужасен и запутан невероятно, все дублируется что можно, все называется непостижимо, но код работает и понятен автору.
Периодически собирает из кусков своей первой игры новые странные игры. в которых непонятные создания ползают по экрану, множаться.
"Папа, хочу сделать сетевую игру" - "есть такая хрень как сокеты". На завтра уже все работает.
Приходит с вопросами зачем нужны классы и функции. Пытается использовать, в основном крайне неудачно и не по назначению.
Приходит к отцу с вопросом: "мои игры слишком медленные, хочу переписать их на c++". Отец - та ты только графику там подымать умрешь. За неделю подымает графику. Не пытается изучать язык, приходит с вопросом - зачем звездочка и крючки? Получает ответы, типа "у компа есть память, она с адресами, в памяти есть стек и куча, ", этого оказывается достатоыно, переписывает свои программы на работоспособный c++. Не пытается ничего читать, экспериментирет чтобы понять что происходит. Код по прежнему ужасен абсолютно, но работает.
Хочет написать бота на майнкрафт. Посмотрел в ютубе, что это можно сделать на node js. Приходит с вопросами чего за хрень js, пакетные менеджеры и прочее. Пишет бота за пару дней, все работает.
Собирается с друзьями поучаствовать в хакатоне по написанию игр (всем примерно по 16 лет). Спешно за ночь изучают юнити, гит, с#. Начинают говорить "запушить" и прочее. За две недели собирают игру, занимают N-е место.
Начинает задаваться вопросом - как не утонуть в сложном коде. Схватывает идеи построения архитектуры. Смотрит базы, фронт. В целом почти готовый девелопер (примерно 18 лет).
Большая пауза (несколько лет). Игры писать больше не интересно, деньги зарабатывать еще рано. Когда приходит время зарабатывать деньги, содится готовиться к собесам. Или случайно попадает в коллектив где сразу надо работать.
Через примерно 2 года работы выходит синьорский уровень.
Что касается этапов, описанных в статье выше, то люди которые прошли эти этапы попадают на рынок и сталкиваются в прямой конкуренции с людьми, прошедшими описанные мной этапы. И тогда задаются вопросом "а оно мне было надо"?
На самом деле он просто запоминает выполнение программы и показывает его в обратную сторону как кино. Выполнить программу в обратную сторону мешает та же причинность которая мешает путешествиям во времени.
Если загружать компьютер программами, то он будет работать все медленнее. После того как он совсем остановится мы можем догрузить его ещё и он может начать выполнять программы в обратную сторону! Правда чтобы загрузить зависший комп, придется дать ему отрицательную программу, которые мы пока не умеем писать, но это детали ..