Swedish fintech company Klarna is reversing its decision to replace human employees with AI after facing declining service quality. After laying off around 700 workers and heavily investing in AI for customer service and marketing tasks, the company has acknowledged that cost-cutting was prioritized over quality.
Ну весь российский ИТ (да любой ИТ) — это результат самой масштабной мировой кооперации, даже в вашем банке явно используются до сих пор как минимум не российские компиляторы, языки программирования, ОС, СУБД, железо и т.д., даже если взять российский постгресс это опять же результата мировой кооперации.
Ну допустим железо можно привести серым импортом, но где взять электроэнергию можно посмотреть изменение выработки электроэнергии за последние 20 лет в России (да хоть даже в мире по странам), то не понятно за счет чего будет такой безудержный рост.
Архитектура «Эльбрус‑Б» построена на принципе параллельных вычислений. Она включает аппаратную часть, язык программирования и операционную систему. Система позволяет выполнять много задач одновременно. Это и дает прирост в производительности.
Звучит как задача уровня сразу нескольких корпораций.
Я с этим и не спорил, вы просто спрашивали зачем нам нужен генератор на 100кВт, что бы обеспечивать пиковые нагрузки.
просто нужна мощная батарея с небольшой емкостью и мощный электромотор.
Это еще усложняет конструкцию у вас ДВС, генератор, буферная батарея для пиковых нагрузок, инвертор, электромотор, я не говорю что это не возможно, но все это явно проигрывает схеме ДВС-трансмиссия-колеса.
Если говорим про ниссан (лиф из примера выше), полтора литровый, трех цилиндровый мотор Rogue на 200л.с. весит около 130кг. И еще раз - 200л.с!
Так а смысл тогда еще ставить генератор и электропривод, если этот мотор может сразу "крутить" колеса, через трансмиссию?
В целом да можно и на 40-50кW ДВС поставить и такой же генератор, но тогда не будет запаса мощности для ускорения или нагруженного подъёма в гору, к примеру nissan leaf не смотря на емкость батареи в 40 кВт⋅ч, мощность двигателя 110 кВт.
Все перечисленные узлы в системе EREV при массовом производстве будут стоить сущие копейки.
А как они будут стоить копейки, вам нужен честный ДВС на те же 100 кВт, такой же генератор на теже 100кВт, а потом еще инвертор и электродвигатель, тут нет выигрыша перед схемой ДВС-механическая трансмиссия, если мы говорим про легковой автомобиль.
Экспериментальные модели проезжают более 1000 км на одной заправке в такой компоновке при значительном сокращении выбросов выхлопных газов с аналогичными автомобилями на ДВС.
На то они и экспериментальные, экспериментальные электромобили тоже 1000 км проезжали в каких то идеальных условиях.
а не в северных широтах либо бензин дешевле воды, либо ограниченная сеть зарядных станций, то и там перспектива чисто электричек более чем туманна.
Да почему туманна то, в городе вполне понятна их ниша, у меня коллега недавно брал электромобиль в аренду что бы поехать из Праги в Австрию, просто протестировать как это, конечно не так удобно как с бензиновым, но в целом вполне используемо, если есть сеть “быстрых зарядок”, позволяющие за 20-30 минут зарядиться на 200 км пробега.
Вот всегда находится именно такой аргумент про северные широты, морозы, но, если вы посмотрите карту плотности населения, то в северных широтах живет довольно небольшая часть населения и еще меньшая часть из них являются потенциальными покупателями электромобилей (любых).
Сейчас является технология ER-PHEV или EREV с генератором на борту, когда ДВС работает на постоянном, оптимальном с точки зрения производительности и экологии, режиме.
Я еще когда был в университет больше 20 лет назад, про эту технологию говорили как перспективную, но как мне кажется не выглядит такая схема слишком перспективной, вам нужен ДВС, электрогенератор, инвертор, электромотор, вот посчитайте всю конструкцию скажем на мощность 100кВт и сравните ее с конструкцией аккумулятор-инвертор-электродвигатель. Выгода появляется на больших мошностях, если говорить про Белазы или ЖД, особенно если нужен большой момент при старте что бы сдвинуть состав.
Примерно так в реальности же и есть. 5-10 лет практики программирования имеет человек на выходе из универа, и его можно условно считать джуном (т.е. человеком который более менее усвоил теор. минимум https://sharpc.livejournal.com/67583.html).
Интересный список, с одной стороны:
C++, стандарт, Comeau, 1TBS, Страустрап/D&E/Джосаттис/Вандервуд, Дьюхэрст/Мейерс/Саттер, RAII/copy-and-swap/exception-safety, правило пяти, Александреску/Абрахамс-Гуртовой, type erasure, CRTP, NVI, SFINAE, Koenig lookup, Duff's device, Boost, Сик-Ламсдейн/Карлссон, TR on C++ performance, тест Степанова, forwarding problem/move semantics, SPECS
Компиляторы, особенности реализации стандарта, ограничения реализации, интринсики, отличия стандартных библиотек (контейнеры, rand), ABI, реализация виртуальных функций, виртуального наследования, исключений, RTTI, switch, указателей на функции и методы; оптимизации, copy elision (RVO, NRVO), sizeof на различных платформах, дефайны компилятора и среды, __declspec, ключи компилятора, empty-base optimization, статическая и динамическая линковка, манглинг, распределенная компиляция, precompiled header, single compilation unit, (strict) aliasing/restrict, inline/_forceinline, volatile
с другой стороны:
Машинное обучение, Рассел-Норвиг/Bishop, подходы к моделированию AI, переобучение/кроссвалидация, байесовские сети, нейросети, сети Кохонена, Restricted Boltzmann machine, градиентный спуск/hill climbing, стохастическая оптимизация (метод Монте-Карло, метод отжига, генетические алгоритмы, муравьиные алгоритмы), SVM, gradient boosting, кластерный анализ, метод главных компонент, LSH, обучение с подкреплением, MDP, information retrieval/data mining/natural language processing, машинное зрение, Szeliski, OpenCV, image processing, OCR, фильтры Собеля, каскад Хаара, Viola-Jones framework, SURF, введение в психофизиологию зрения, IPython/pandas/scikit-learn
Графика и GPGPU, алгоритм Брезенхема, цветовые модели, трассировка лучей vs полигональная графика, OpenGL/GLSL/Open Inventor, DirectX/DirectShow/DirectAudio/HLSL, stencil/depth/alpha-test, графический конвейер в DirectX 11, шейдеры, модели освещения (Фонг), пропускная способность, fillrate, OpenCL/CUDA/AMP, ландшафты, лоды, тени, deferred shading, текстурирование и фильтрация, антиалиасинг, HDR, tone mapping, virtual/augmented reality
Форматы, XML/XSLT/XPath/XMLStarlet/DOM/SAX, RTF/ODF, JSON/BSON/bencode, YAML, JPEG/PNG/WebP, AVI/MPEG/RIFF/WAV/MP3/OGG/WebM, SVG, Unicode, кодировки однобайтные/UTF-8/UTF-16/UCS-2/UTF-32, проблемы длины и сравнения Unicode-строк
Базы данных, Грубер/Дейт, ANSI SQL, T-SQL, ODBC, MySQL/PostgreSQL/MS SQL/BDB/SQLite/Sphinx, хранимые процедуры, триггеры, алгебра Кодда/А, Tutorial D, нормальные формы, оптимизация и выполнение запросов, структуры данных индексов, транзакции и ACID, CAP-теорема Брюера, NoSQL, key-value storage, шардинг, ORM (C++ ODB), ERD, OLAP, семантическая сеть, triplestore, RDF/Turtle, SPARQL, OWL, Semanticscience Integrated Ontology, reasoner, DBpedia
Веб-программирование и скриптовые языки, Фланаган/Zend PHP5 Certification Course + Study Guide, Apache/nginx, CGI/FastCGI, PHP/Zend Framework/ReactPHP/Zend Engine/Doctrine или Propel/CodeIgniter или Symphony или Yii, Python/Django/Twisted, Ruby/RoR, ASP.NET MVC, JavaScript/jQuery/React/Google Closure/ExtJS/node.js, ООП в JavaScript, HTML5, CSS3/табличная и блочная верстка, RSS, canvas/WebGL, Ajax/WebSockets, вопросы безопасности (XSS, SQL injection, CSRF), highload, C10k problem, SWIG
И выглядит как полная туфта, написанная автором ради хайпа, нет никакого смысла в таком теоретическом минимуме, его, во-первых, невозможно получить даже для супергения с бешённой генетикой, а во вторых или снова во-первых какой в нем смысл, как может идти рядом компиляторостроение, машинное обучение, и веб-программирование, а еще функциональное программирование, знанием форматов файлов, графики/3D и пр.
. Не могут найти высокоспециализированных и низкооплачиваемых людей- что бы работал тыщ за 20 в месяц.
Да скорее всего проблема не в деньгах, а просто в отсутствии специалистов, при тех бюджетах, платить хорошие деньги не проблема. Даже у таких монстров как ASML и TSMC полно не закрытых вакансий.
У Байкал Электроникс есть такая вакансия к примеру:
Senior CPU designer engineer/Ведущий RTL разработчик больших подсистем
Чем Вам предстоит заниматься:
Руководство разработкой больших подсистем и составляющих компонент SoC;
Конфигурирование сторонних IP, интеграция в Soc;
Cопровождения тестирования RTL (составление первичного TЗ, знакомство с верификацией);
Создание SDC для существующего RTL;
Логический синтез RTL (Genus \ Design Compiler, и т.п.);
Оптимизация Power performance Area;
Cопровождение разработки топологии;
ну где таких людей можно найти в России, их скорее всего утрированно по пальцам одной руки можно пересчитать, да и в мире их тоже скорее всего не так много из-за специфики индустрии.
Вы говорите только о своём опыте, я знаю пример как человек два года назад вкатился в IT так же без образования и опыта, освоив программирование в Unity и нашел работу в какой то гейм.студии.
Я хотел сделать акцент на том, что раньше можно было вложиться в программирование и получить гарантированный результат, вроде высокооплачиваемой работы. А сейчас можно вложиться и не получить ничего — из-за текущего рынка.
На мой взгляд вообще ничего не поменялось, может сейчас даже больше возможностей стало, все таки рынок IT огромный от сурового энтерпрайза до мобильных приложений и embedded приложений и еще отдельно разработка на FPGA. Даже не понятно где проще , раньше (20 лет назад когда я начинал) нужно было сурово вкладываться С/С++, системное программирование, если говорим про Windows то всякие COM/ActiveX/MFC/ATL/WTL и пр, про линукс свои “тараканы” сети, модули ядра и пр, каждая компания свои велосипеды, требовалось умение работать на всем стеке от драйверов до https запросов и разработки нативного UI и адже собственно 2D/3D графика, инструменты разработки (я начинал вообще на borland 3.1 ) были совсем не такие как сейчас.
А сейчас пожалуйста (ни в коем случае не принижаю) изучайте Go находите работу, изучаете программирование под Android находите работу, изучаете Unity находите работу и т.д, возможностей стало не сравнимо больше. То что 20 лет нахад писали на С++ с кровь и потом, теперь можно разрабатывать (и нужно) на С#/JAVA/GO/Phyton и т.д, куда больше возможностей сейчас, найти свою нищу.
Так все ровно для более-менее серьезного проекта придется свое дописывать, если понадобиться реализовать, например сетевой троттлинг, реконнекты и пр, и так или иначе нужен доступ к нативному сокету.
На мой взгляд знание алгоритмов на уровне решения литкодовсих задач переоценено, я работал в команде по разработке движка СУБД, там алгоритмы на алгоритмах были и если человек закончил честно ВУЗ, имеет базовую вузовскую подготовку он разберется в любых алгоритмических задачах, это просто вопрос времени, а вот умение писать качественный код, выбирать правильную архитектуру, делать грамотную обработку ошибок, аккуратность, это свосем другой скилл, который куда важнее знания алгоритмов.
Я, вот, на интервью справшиваю как раз ту задачку, которую лично в прод коммитил. Абстрогированную и упрощенную, конечно, но все равно она неотличима от литкодовских mid-hard задач.
Если кандидат ее не решил за интервью, это же вообще ни о чем не говорит, он вполне может решить ее за день за два, с точки зрения релизного цикла это вообще ни о чем, но с другой стороны безусловно нужно как то оценивать кандидатов, со своей стороны раньше давали тестовое задание небольшое, где можно понять как человек программирует и думает и на собеседование развивать тему тестового задания, тоже не панацея безусловно.
Круто уметь ездить на велосипеде. Но если вы на забег приедете на велосипеде - вас дисквалифицируют.
Только прихожу то я на велогонку или еще хуже на забег в котором все на велосипедах кроме меня.
Умение пользоваться ИИ - важно.Умение работать без ИИ - важно.Если вы одно пытаетесь подменить другим - это обман.
Да нет никакого обмана, казалось бы человек прочитал книгу Кормана, понимает в О-нотацию, знает сложности алгоритмов, основные алгоритмы (сортировка, поиск, алгоритмы на графах), знает основные структуры данных (список, дерево и пр), зачем его дополнительно то мучить этим литкодовсиким задачами, да пускай решает их с помощью ИИ, если он может провалидировать решение которое выдал ИИ, рассказать о сложности и пр, то в чем обман то, если предполагается что в работе он будет пользоваться этим ИИ для решения задача, ну так и проверяйте его как это он делает.
В то же время если у вас приличный стек вызовов, и где-то на пятой шестой функции, которая читает файл или отправляет данные по сети произошла ошибка, вам нужно этот код возврата как-то прокинуть на верх и еще что бы была осмысленная информация, а не просто условный access denied.
С исключениями это может выглядеть так:
void WriteFile()
{
throw CFileExc(…..); //наследует так или иначе std::exception
}
void CompressData()
{
try
{
..........
WriteFile();
..........
}
catch(std::exception& exc)
{
AddInfoAndRethrow(exc, "CompressData: Failed to compress data and bla bla.");
}
}
void SaveData()
{
try
{
..........
CompressData();
..........
}
catch(std::exception& exc)
{
AddInfoAndRethrow(exc, "SaveData: Failed to save data and bla bla.");
}
}
в итоге в логе будет будет информация типа:
Can't open file {some file} access denied.
CompressData: Failed to compress data and bla bla.
Еще из реального мира:
Swedish fintech company Klarna is reversing its decision to replace human employees with AI after facing declining service quality. After laying off around 700 workers and heavily investing in AI for customer service and marketing tasks, the company has acknowledged that cost-cutting was prioritized over quality.
Макрософт автивно набирали последние года четыре:
Microsoft total number of employees in 2024 was
228,000
, a
3.17% increase
from 2023.
Microsoft total number of employees in 2023 was
221,000
, a
0% decline
from 2022.
Microsoft total number of employees in 2022 was
221,000
, a
22.1% increase
from 2021.
Microsoft total number of employees in 2021 was
181,000
, a
11.04% increase
from 2020.
видимо сейчас режут косты.
Ну весь российский ИТ (да любой ИТ) — это результат самой масштабной мировой кооперации, даже в вашем банке явно используются до сих пор как минимум не российские компиляторы, языки программирования, ОС, СУБД, железо и т.д., даже если взять российский постгресс это опять же результата мировой кооперации.
Ну допустим железо можно привести серым импортом, но где взять электроэнергию можно посмотреть изменение выработки электроэнергии за последние 20 лет в России (да хоть даже в мире по странам), то не понятно за счет чего будет такой безудержный рост.
Интересно, а зачем, по вашему, РКН заниматься тем, что явно вредит интересам государства?
Архитектура «Эльбрус‑Б» построена на принципе параллельных вычислений. Она включает аппаратную часть, язык программирования и операционную систему. Система позволяет выполнять много задач одновременно. Это и дает прирост в производительности.
Звучит как задача уровня сразу нескольких корпораций.
Емкость батареи напрямую не связана с мощностью,
Я с этим и не спорил, вы просто спрашивали зачем нам нужен генератор на 100кВт, что бы обеспечивать пиковые нагрузки.
просто нужна мощная батарея с небольшой емкостью и мощный электромотор.
Это еще усложняет конструкцию у вас ДВС, генератор, буферная батарея для пиковых нагрузок, инвертор, электромотор, я не говорю что это не возможно, но все это явно проигрывает схеме ДВС-трансмиссия-колеса.
Если говорим про ниссан (лиф из примера выше), полтора литровый, трех цилиндровый мотор Rogue на 200л.с. весит около 130кг. И еще раз - 200л.с!
Так а смысл тогда еще ставить генератор и электропривод, если этот мотор может сразу "крутить" колеса, через трансмиссию?
В целом да можно и на 40-50кW ДВС поставить и такой же генератор, но тогда не будет запаса мощности для ускорения или нагруженного подъёма в гору, к примеру nissan leaf не смотря на емкость батареи в 40 кВт⋅ч, мощность двигателя 110 кВт.
Все перечисленные узлы в системе EREV при массовом производстве будут стоить сущие копейки.
А как они будут стоить копейки, вам нужен честный ДВС на те же 100 кВт, такой же генератор на теже 100кВт, а потом еще инвертор и электродвигатель, тут нет выигрыша перед схемой ДВС-механическая трансмиссия, если мы говорим про легковой автомобиль.
Экспериментальные модели проезжают более 1000 км на одной заправке в такой компоновке при значительном сокращении выбросов выхлопных газов с аналогичными автомобилями на ДВС.
На то они и экспериментальные, экспериментальные электромобили тоже 1000 км проезжали в каких то идеальных условиях.
а не в северных широтах либо бензин дешевле воды, либо ограниченная сеть зарядных станций, то и там перспектива чисто электричек более чем туманна.
Да почему туманна то, в городе вполне понятна их ниша, у меня коллега недавно брал электромобиль в аренду что бы поехать из Праги в Австрию, просто протестировать как это, конечно не так удобно как с бензиновым, но в целом вполне используемо, если есть сеть “быстрых зарядок”, позволяющие за 20-30 минут зарядиться на 200 км пробега.
Особенно в северных широтах.
Вот всегда находится именно такой аргумент про северные широты, морозы, но, если вы посмотрите карту плотности населения, то в северных широтах живет довольно небольшая часть населения и еще меньшая часть из них являются потенциальными покупателями электромобилей (любых).
Сейчас является технология ER-PHEV или EREV с генератором на борту, когда ДВС работает на постоянном, оптимальном с точки зрения производительности и экологии, режиме.
Я еще когда был в университет больше 20 лет назад, про эту технологию говорили как перспективную, но как мне кажется не выглядит такая схема слишком перспективной, вам нужен ДВС, электрогенератор, инвертор, электромотор, вот посчитайте всю конструкцию скажем на мощность 100кВт и сравните ее с конструкцией аккумулятор-инвертор-электродвигатель. Выгода появляется на больших мошностях, если говорить про Белазы или ЖД, особенно если нужен большой момент при старте что бы сдвинуть состав.
Примерно так в реальности же и есть. 5-10 лет практики программирования имеет человек на выходе из универа, и его можно условно считать джуном (т.е. человеком который более менее усвоил теор. минимум https://sharpc.livejournal.com/67583.html).
Интересный список, с одной стороны:
C++
, стандарт, Comeau, 1TBS, Страустрап/D&E/Джосаттис/Вандервуд, Дьюхэрст/Мейерс/Саттер, RAII/copy-and-swap/exception-safety, правило пяти, Александреску/Абрахамс-Гуртовой, type erasure, CRTP, NVI, SFINAE, Koenig lookup, Duff's device, Boost, Сик-Ламсдейн/Карлссон, TR on C++ performance, тест Степанова, forwarding problem/move semantics, SPECS
Компиляторы
, особенности реализации стандарта, ограничения реализации, интринсики, отличия стандартных библиотек (контейнеры, rand), ABI, реализация виртуальных функций, виртуального наследования, исключений, RTTI, switch, указателей на функции и методы; оптимизации, copy elision (RVO, NRVO), sizeof на различных платформах, дефайны компилятора и среды, __declspec, ключи компилятора, empty-base optimization, статическая и динамическая линковка, манглинг, распределенная компиляция, precompiled header, single compilation unit, (strict) aliasing/restrict, inline/_forceinline, volatile
с другой стороны:
Машинное обучение
, Рассел-Норвиг/Bishop, подходы к моделированию AI, переобучение/кроссвалидация, байесовские сети, нейросети, сети Кохонена, Restricted Boltzmann machine, градиентный спуск/hill climbing, стохастическая оптимизация (метод Монте-Карло, метод отжига, генетические алгоритмы, муравьиные алгоритмы), SVM, gradient boosting, кластерный анализ, метод главных компонент, LSH, обучение с подкреплением, MDP, information retrieval/data mining/natural language processing, машинное зрение, Szeliski, OpenCV, image processing, OCR, фильтры Собеля, каскад Хаара, Viola-Jones framework, SURF, введение в психофизиологию зрения, IPython/pandas/scikit-learn
Графика и GPGPU
, алгоритм Брезенхема, цветовые модели, трассировка лучей vs полигональная графика, OpenGL/GLSL/Open Inventor, DirectX/DirectShow/DirectAudio/HLSL, stencil/depth/alpha-test, графический конвейер в DirectX 11, шейдеры, модели освещения (Фонг), пропускная способность, fillrate, OpenCL/CUDA/AMP, ландшафты, лоды, тени, deferred shading, текстурирование и фильтрация, антиалиасинг, HDR, tone mapping, virtual/augmented reality
Форматы
, XML/XSLT/XPath/XMLStarlet/DOM/SAX, RTF/ODF, JSON/BSON/bencode, YAML, JPEG/PNG/WebP, AVI/MPEG/RIFF/WAV/MP3/OGG/WebM, SVG, Unicode, кодировки однобайтные/UTF-8/UTF-16/UCS-2/UTF-32, проблемы длины и сравнения Unicode-строк
Базы данных
, Грубер/Дейт, ANSI SQL, T-SQL, ODBC, MySQL/PostgreSQL/MS SQL/BDB/SQLite/Sphinx, хранимые процедуры, триггеры, алгебра Кодда/А, Tutorial D, нормальные формы, оптимизация и выполнение запросов, структуры данных индексов, транзакции и ACID, CAP-теорема Брюера, NoSQL, key-value storage, шардинг, ORM (C++ ODB), ERD, OLAP, семантическая сеть, triplestore, RDF/Turtle, SPARQL, OWL, Semanticscience Integrated Ontology, reasoner, DBpedia
Прикладное программирование
, C#/F#, Шилдт/Троелсен/Рихтер, генерики, yield, linq/plinq, рефлексия, AST, WCF, WinForms/WPF/Silverlight, AOP, фреймворки логгирования, .NET assembly, Scala, Хорстманн/Одерски, pattern matching, макросы/квазицитаты
Веб-программирование и скриптовые языки
, Фланаган/Zend PHP5 Certification Course + Study Guide, Apache/nginx, CGI/FastCGI, PHP/Zend Framework/ReactPHP/Zend Engine/Doctrine или Propel/CodeIgniter или Symphony или Yii, Python/Django/Twisted, Ruby/RoR,
ASP.NET
MVC, JavaScript/jQuery/React/Google Closure/ExtJS/node.js, ООП в JavaScript, HTML5, CSS3/табличная и блочная верстка, RSS, canvas/WebGL, Ajax/WebSockets, вопросы безопасности (XSS, SQL injection, CSRF), highload, C10k problem, SWIG
И выглядит как полная туфта, написанная автором ради хайпа, нет никакого смысла в таком теоретическом минимуме, его, во-первых, невозможно получить даже для супергения с бешённой генетикой, а во вторых или снова во-первых какой в нем смысл, как может идти рядом компиляторостроение, машинное обучение, и веб-программирование, а еще функциональное программирование, знанием форматов файлов, графики/3D и пр.
. Не могут найти высокоспециализированных и низкооплачиваемых людей- что бы работал тыщ за 20 в месяц.
Да скорее всего проблема не в деньгах, а просто в отсутствии специалистов, при тех бюджетах, платить хорошие деньги не проблема. Даже у таких монстров как ASML и TSMC полно не закрытых вакансий.
У Байкал Электроникс есть такая вакансия к примеру:
Senior CPU designer engineer/Ведущий RTL разработчик больших подсистем
Чем Вам предстоит заниматься:
Руководство разработкой больших подсистем и составляющих компонент SoC;
Конфигурирование сторонних IP, интеграция в Soc;
Cопровождения тестирования RTL (составление первичного TЗ, знакомство с верификацией);
Создание SDC для существующего RTL;
Логический синтез RTL (Genus \ Design Compiler, и т.п.);
Оптимизация Power performance Area;
Cопровождение разработки топологии;
ну где таких людей можно найти в России, их скорее всего утрированно по пальцам одной руки можно пересчитать, да и в мире их тоже скорее всего не так много из-за специфики индустрии.
Швейцария, например, плохо разве живёт без собственных процессоров?)
В Швейцарии формально есть EM Microelectronic и STMicroelectronics.
Вы говорите только о своём опыте, я знаю пример как человек два года назад вкатился в IT так же без образования и опыта, освоив программирование в Unity и нашел работу в какой то гейм.студии.
Я хотел сделать акцент на том, что раньше можно было вложиться в программирование и получить гарантированный результат, вроде высокооплачиваемой работы. А сейчас можно вложиться и не получить ничего — из-за текущего рынка.
На мой взгляд вообще ничего не поменялось, может сейчас даже больше возможностей стало, все таки рынок IT огромный от сурового энтерпрайза до мобильных приложений и embedded приложений и еще отдельно разработка на FPGA. Даже не понятно где проще , раньше (20 лет назад когда я начинал) нужно было сурово вкладываться С/С++, системное программирование, если говорим про Windows то всякие COM/ActiveX/MFC/ATL/WTL и пр, про линукс свои “тараканы” сети, модули ядра и пр, каждая компания свои велосипеды, требовалось умение работать на всем стеке от драйверов до https запросов и разработки нативного UI и адже собственно 2D/3D графика, инструменты разработки (я начинал вообще на borland 3.1 ) были совсем не такие как сейчас.
А сейчас пожалуйста (ни в коем случае не принижаю) изучайте Go находите работу, изучаете программирование под Android находите работу, изучаете Unity находите работу и т.д, возможностей стало не сравнимо больше. То что 20 лет нахад писали на С++ с кровь и потом, теперь можно разрабатывать (и нужно) на С#/JAVA/GO/Phyton и т.д, куда больше возможностей сейчас, найти свою нищу.
Так все ровно для более-менее серьезного проекта придется свое дописывать, если понадобиться реализовать, например сетевой троттлинг, реконнекты и пр, и так или иначе нужен доступ к нативному сокету.
На мой взгляд знание алгоритмов на уровне решения литкодовсих задач переоценено, я работал в команде по разработке движка СУБД, там алгоритмы на алгоритмах были и если человек закончил честно ВУЗ, имеет базовую вузовскую подготовку он разберется в любых алгоритмических задачах, это просто вопрос времени, а вот умение писать качественный код, выбирать правильную архитектуру, делать грамотную обработку ошибок, аккуратность, это свосем другой скилл, который куда важнее знания алгоритмов.
Я, вот, на интервью справшиваю как раз ту задачку, которую лично в прод коммитил. Абстрогированную и упрощенную, конечно, но все равно она неотличима от литкодовских mid-hard задач.
Если кандидат ее не решил за интервью, это же вообще ни о чем не говорит, он вполне может решить ее за день за два, с точки зрения релизного цикла это вообще ни о чем, но с другой стороны безусловно нужно как то оценивать кандидатов, со своей стороны раньше давали тестовое задание небольшое, где можно понять как человек программирует и думает и на собеседование развивать тему тестового задания, тоже не панацея безусловно.
Круто уметь ездить на велосипеде. Но если вы на забег приедете на велосипеде - вас дисквалифицируют.
Только прихожу то я на велогонку или еще хуже на забег в котором все на велосипедах кроме меня.
Умение пользоваться ИИ - важно.Умение работать без ИИ - важно.Если вы одно пытаетесь подменить другим - это обман.
Да нет никакого обмана, казалось бы человек прочитал книгу Кормана, понимает в О-нотацию, знает сложности алгоритмов, основные алгоритмы (сортировка, поиск, алгоритмы на графах), знает основные структуры данных (список, дерево и пр), зачем его дополнительно то мучить этим литкодовсиким задачами, да пускай решает их с помощью ИИ, если он может провалидировать решение которое выдал ИИ, рассказать о сложности и пр, то в чем обман то, если предполагается что в работе он будет пользоваться этим ИИ для решения задача, ну так и проверяйте его как это он делает.
Могут, вопрос как накапливать и передавать знания следующему поколению, человечеству в этом деле сильно помогло книгопечатание.
В то же время если у вас приличный стек вызовов, и где-то на пятой шестой функции, которая читает файл или отправляет данные по сети произошла ошибка, вам нужно этот код возврата как-то прокинуть на верх и еще что бы была осмысленная информация, а не просто условный access denied.
С исключениями это может выглядеть так:
в итоге в логе будет будет информация типа:
Can't open file {some file} access denied.
CompressData: Failed to compress data and bla bla.
SaveData: Failed to save data and bla bla.