Комментарии 704
вся энтерпрайзная разработка с этими её фронтендами, бэкендами, куберами и пр. нынче не является особо перспективным делом. Она хайповала долгое время, это да. Но сейчас уже такое себе
Только вот пока она хайповала, успели написать миллиарды строк кода, которые как минимум нужно теперь сопровождать, а вообще-то и развивать и оптимизировать. Так что я бы не торопился с выводами.
А куда делись все те кто это написал? Умерли или ушли в сантехники? Они все здесь. И ещё сверху толпа наваливает из года в год. Поэтому сама [энтерпрайзная] разработка конечно никуда не денется. Но вот в плане трудоустройства и заработка это шляпа и бесперспективняк.
Понемногу уходят, понемногу приходят.
Технологии, кажется, устаревают быстрее, чем люди. Смотрю на бэкап одной своей машины, работавшей с 2012 года, вижу там Ruby какой-то (ещё 1.9.3, 2.3.0, брр).
И это я не лез в школьные проекты ещё
Технологии, кажется, устаревают быстрее, чем люди.
Но если что-то, написанное еще на Коболе, работает, то может и не обязательно нужно его трогать?
В собесах штатов тоже так думали. Потом пришел COVID и занадобилось считать новый вид пособий.
Потом пришел COVID и занадобилось считать новый вид пособий.
И чем все закончилось? Переписали полностью с нуля или добавили фичу, ничего глобально не меняя?
Ну, переписывать с нуля и на Коболе -- это вряд ли... Так что думаю, пришлось это старье трогать. Может по локти, а может и по шею...
И что?
Ерунда все это. Поставьте себе в линкедине навык Кобол и посмотрите сколько рекрутеров вас посмотрит. Никому нафиг он не нужен. Эта байка про Кобол уже несколько лет гуляет.
вот это, видимо, запрос на добавление фич))
пробовал - куча фейковых вакансий. долбанные ичары даже не звонят/не пишут
Хороший пример этого можно наблюдать во время пандемии. В первые дни Covid-19 бизнесы массово закрывались. Уволенные сотрудники рванулись онлайн, чтобы подать заявление на получение пособий по безработице, и веб-сайты многих правительств штатов не выдержали нагрузки. Губернатор Нью-Джерси сообщил прессе, что их системы COBOL отчаянно нуждаются в помощи, чтобы справиться с новыми потребностями. «У нас в буквальном смысле есть системы, которым от сорока и более лет», — заявил он.
Но технологи, работавшие за кулисами над устранением неполадок, знали, проблема заключалась не в перемалывающем числа COBOL. Эти старые системы работали хорошо. Нет, всегда ломались более новые элементы — программы, управлявшие самим веб-сайтом.
«С ума сходило веб-приложение между мейнфреймом и внешним миром. Именно оно падало», — рассказывает программистка и писательница Марианна Беллотти, годами работавшая с государственными системами и следившая за этой системой Нью-Джерси. Но, по словам историка Хикса, властям было слишком неудобно признать «ой, да, это сломались наши веб-системы».
Беллотти наблюдала подобные явления и в других государственных органах, например в Налоговом управлении США (IRS). Однажды её вызвали для помощи с неработающим веб-приложением IRS. После расследования выяснилось, что проблема и в самом деле была в новых программах, «в куске плохо написанного кода на Java». Мейнфрейм с запущенным COBOL, напротив, гнал вперёд подобно Ferrari.
Язык программирования, который контролирует мировые финансы: 240 миллиардов строк кода на COBOL
Так что проблема там оказалась совсем не в богомерзком COBOL, а в тех самых благословенных "современных стеках".
COVID vs COBOL ...
А я думал что "и не стало тех, кто знает Кобол". В нашем случае случилось именно так, только с другим языком. И знание того, что "никому не нужно" оказалось востребовано (точечно и разово, но востребовано).
COBOL как ЯП оказался тупиковым вариантом (в конечном итоге) в силу своего синтаксиса.
Но как концепция специализированного языка для коммерческих расчетов это не так.
И тут возникает противоречие - с одной стороны в этой области нужен специализированный ЯП (там достаточно много специфики и особенностей которые делают использование любого ЯП общего назначения хотя и возможным, но неудобным). С другой стороны это специфическая область где любой накопленный опыт окажется "нерелевантным" с одной стороны и громоздкий синтаксис языка и заложенные изначально ограничивающие развитие концепции с другой.
И получается что вроде бы как и нужно, но при этом молодежь предпочитает идти в более простые области. Туда где много готовых фреймворков, где нет таких жестких требований по надежности, быстрое, эффективности...
Любой 1С-ник знает, что в России эта музыка будет вечной.
Поймал себя на интересной ошибке, когнитивном искажении, наверное. Когда я слышу "Cobol", в голове сразу возникает четкое правило - "как умрет последний программист на Коболе - все коболье грохнется окончательно". И мне долгое время не казалось это глупостью.
Мы живем в мире, где когда-то было 0 программистов с опытом в GPT, 0 программистов с опытом в крипте, было 0 людей с опытом в fastapi (даже сам автор fastapi смеялся, что он не проходил по какой-то вакансии - там опыт в FastAPI требовался больше, чем у него). Если будет платежеспособный спрос на кобольщиков - да я сам этот кобол выучу. Мы ж о программистах говорим, это такие люди, которые умеют читать книжки, учиться новому.
Узнать кобол можно за неделю, а вот познать внутреннюю кухню финтеха уже за неделю не выйдет.
Познать кухню не выйдет, но за деньги да.
Ну конечно, за зарплату, устроившись туда десятью годами ранее.
Да нет такого кода, таких процессов и технологий, которые нельзя было бы повторить, а часто и улучшить. Да, потребуются время и деньги, и что? Если продукт нужен рынку, найдется и то, и другое.
А то, что деньги необходимо дать тому, кто может. А чтобы этот кто-то был, надо поддерживать интерес в таких процессах и технологиях. Бывали проекты, где концов не найти, чтобы денег дать и побыстрому внести правки. Хотя, вы все равно правы, в таких случаях потребовалось еще больше денег и еще больше времени. Точно!
таких процессов и технологий, которые нельзя было бы повторить, а часто и улучшить
Полёт на Луну /s
Эм, тут на мелкий астероид недавно слетал зонд на расстояние 63 млн км, сел, взял пробы грунта и на Землю прилетел. Думаешь, люди, которые смогли разработать этот полет, не справились бы с полетом на огромную Луну, до которой всего 384 тыс км?
Да, потребуются время и деньги, и что?
Бывает, что денег нужно слишком много. Бывает, что времени нужно слишком много.
А если на что-то нужно и много времени и много денег, те кто хочет этого достичь банально не успевают.
Да нет такого кода, таких процессов и технологий, которые нельзя было бы повторить, а часто и улучшить.
Ну вот есть известный в линуковой среде холивар, X11 vs Wayland.
Мейнтейнеры первого уже не знают толком как оно работает, разработчики второго (а это, в сущности, по большей части те же люди что и в первом случае) в течение 15 лет не могут соорудить достойную замену иксам.
А то что уже соорудили -- по сложности под стать тому, от чего пытались избавиться. Классический N+1 стандарт.
Да кривого полузаброшенного софта вокруг полно. Но это же не значит, что человечество было бы принципиально не в состоянии его починить или даже написать с нуля, если бы было очень нужно.
если бы было очень нужно
мотивация - принципиально важная часть. Но вот прикол, в жизни людей мотивация для длительных проектов может требовать слишком много времени и слишком много усилий, что собственно и вызывает проблему того, что шанс на совпадение этих трех факторов - слишком мал.
Поэтому и выходит что нельзя решить много даже важных проблем просто деньгами и временем.
Тем кому это очень нужно - у них нет денег и времени
Тем у кого есть деньги и время - важны другие вещи.
Говоря про "человечество" вы говорите об абстрактных вещах, так как деньги они не у человечества а у конкретных групп и конкретных личностей. И объединить их какой-то общей нуждой - невозможно.
Да кривого полузаброшенного софта вокруг полно.
Причем это преимущественно софтовая проблема, потому что реальные (hardware) изделия требуют больших ресурсов на изготовление, а в уже изготовленных трудно или невозможно что-то изменить, поэтому к их изготовлению подходят в среднем более ответственно, от чего кривых и полузаброшенных аппаратных устройств сильно меньше, чем чисто виртуального софта, который можно писать на чистом энтузиазме и без необходимости закупать станки, сырье и нанимать рабочих, кто из сырья на этих станках выпустит продукцию, ошибка в которой может означать утилизацию всей партии.
Но это же не значит, что человечество было бы принципиально не в состоянии его починить или даже написать с нуля, если бы было очень нужно.
Нет, не значит. Но это значит другое: нет никого с необходимыми ресурсами, кто этот банкет оплатит, то есть, иными словами, вот этого очень нужно нет. Когда станет очень нужно и одновременно под это появятся ресурсы - допилят брошенное или запилят с нуля. А пока только надеяться и ждать, что а вдруг кто-то допилит на энтузиазме.
Принципиально - в состоянии. А в реальности - не очень. Есть очень много факторов, стопорящих возможность воспроизвети то, что выполнялось на практике десятилетия назад.
Яркий пример - space race.
Есть задачи и ситуации, когда деньги не решают ровным счетом ничего. Точнее, никакое сколь большое количество денег не способно решить задачу.
Например?
как сделать чтобы не было войн? У человечества много денег есть, но почему-то они не решают, наоборот провоцируют.
Речь о возможности повторения технологических решений прошлого. Каким боком тут "чтобы не было войн"?
Ну вот прямо сейчас военные действия не позволяют повторить ту же самую "Мрию"
Насколько я знаю, ее и до военных действий повторить не получалось. Ну и старались не особо, уж очень дорогое и нишевое изделие.
Повторить не проблема, просто в этом не было и на данный момент нет экономической целесообразности. "Мрия" была построена в первую очередь для обслуживания "Бурана". Нет "Бурана" - "Мрия" не нужна. Ее использовали, конечно, для доставки других крупногабаритных грузов, раз она уже все равно есть, но специально строить ее с нуля не будут. Не потому, что это технически невозможно, а потому что тупо невыгодно. Те же задачи выполнят другие самолеты, которые несколько меньше, но существенно дешевле в производстве и обслуживании.
Изменить человека, сделать менее жадным и более альтруистическим, и сделать так чтобы такие люди побеждали в конкуренции за место наверху социальной пирамиды, а сейчас во всём мире строго наоборот. Наследия паттернов поведения ещё из животного мира, где главное это борьба за ресурсы и самок, любыми средствами
Там проблема не в самом языке и даже не во внутренней кухне финтеха (это задача больше системных аналитиков и архитекторов нежели разработчиков), но в тех платформах, на которых все это работает. Недели, поверьте, не хватит чтобы научиться на этих платформах писать быстрый и эффективный код (а это там наипервейшее требование).
И разгребать кучу программ без единой строчки комментариев, с кучей функций (половина из которых не вызывается), с переменными, названными i, a и x (в пределах функции переиспользуемыми для разных вычислений) и кучей всего вот этого. Знающие есть, но они как-то быстро сдуваются, им бы всякие микросервисы писать, а от настоящего кода, работавшего десятилетиями, им становится плохо.
PS. И платят за это не больше тех микросервисов, если не меньше.
Если мало платят - то не так уж и нужны эти программисты на коболе. Потому что раньше у меня была иллюзия, что как раз спрос есть, а программистов нет, поэтому на вес золота.
Что происходит, хорошо видно по коду. Куда как полезнее комменты "зачем" и почему именно так, а не иначе. А вот их никто, кроме автора не нагенерит.
Что происходит, хорошо видно по коду.
Не всегда. Код может реализовывать достаточно сложную логику.
Кроме того, есть ТЗ (где описана логика) и есть код. И есть ситуации, когда нужно внести изменения в какие-то участки логики - это отражается в ТЗ. И вот когда нужно найти соответствующий блок кода, тут могут возникнуть проблемы. Для этого желательно вставлять в код комментарии-маркеры для связки блоков кода с пунктами ТЗ - очень сильно экономит время через год-два.
Куда как полезнее комменты "зачем" и почему именно так, а не иначе
Это само собой.
Тут согласен полностью. Но такое иногда даже прописывают в разного рода феншуях к разрабам, типа функция должна иметь коммент с номером тикета.
А вот "как автор дошел до такой жизни" приходится гадать сплошь и рядом и это часто та самая "сложность" чужого легаси: каждый видит свое решение (2 разраба = 4 варианта релиза) но в коде обнаруживает нечто совсем иное .. почему, как? хз - хотелось бы знать.
Из прошлого на дельфи:
Надо дополнить легаси расширением логики кейса .. кто писал, когда писал .. кануло. Полез, и обратил внимание что есть несколько глобалов с одним значением но разными именами в разных модулях, и названных аскетично: "k", "pk", "pzk", "pzrk" .. после разбора кода и понимания историчности изменений предположил:
k -- оригинальный параметр, был изначально;
pk - "привет K" -- первое изменение бизнес-логики, имел отличное значение для ряда вариаций, потом слился с предыдущим;
pzk -- "программист запутается в коэффициентах" -- третья вариация кейса, предыдущие сведены к одному значению;
pzrk -- "программист за@ разбирать этот код" -- очередное изменение бизнес-логики.
.. выяснил кто автор, нашел, спросил что значат эти 4 глобала, если помнит?
Ответ был почти 100% совпадением. ;)
Т.е. вы считаете что в реальной жизне комментарии содержат функциональные требования к системе?
про реальную жизнь в стиле "херак-херак и в продакшн" я не знаю что там и как.
Сам стараюсь комментировать так, чтобы было можно связать код с документацией логики (ТЗ). Это облегчит жизнь или мне (если через го и спустя 100500 других задач мне все это придет на доработку "потому что вот там вот логика поменялась в связи с новыми требованиями регулятора". Или не мне а кому-то другому. И этот другой сэкономит хотя бы полчаса на понимание где именно нужно поправить 3 строчки кода.
Например есть задача, чтобы её реализовать надо изменить код в трёх модулях, куда мы эти требования будем комментировать? В каком из трёх мест?
Слишком абстрактный вопрос. Логика обычно локализована достаточно сильно. Но если в нескольких модулях правки, то да. Где правим, там пишем зачем поправили.
Самое смешное, что даже если у вас есть более менее полная документация, со временем она начинает жить своей жизнью и всё сильнее расходится с действительностью.
Это отдельная тема и отдельная работа. Мы всего этого уже наелись, шишек набили и документация (ТЗ) всегда актализируется под код. А в коде вставляются отсылки к документации.
Это обычная дисциплина. Соблюдение ее сейчас сильно экономит время в будущем.
Я приводил характеристики нашей системы. Думаю, вы понимаете что там не 5 человек работает.
Сколько не скажу (всего в IT подразделении банка более 5000 человек, но это вообще все). Ну, наверное, 150-200 тех, кто пишет под АБС на центральных серверах. Но это по всем командам (направлениям).
Но у нас жестко - ТЗ это еще и документация по задаче. Его пишут и ведут аналитики. И там соблюдается версионность - каждая новая доработка - новая версия ТЗ. Т.е. беря в работу ТЗ я сразу вижу все правки по сравнению с предыдущей версией и сразу понимаю где что надо поменять в логике.
На данной АБС банк работает, по-моему, с 99-го года. И постоянно что-то меняется - логика, оптимизация, доработки старых процессов, добавление новых и т.д. и т.п.
Бывает что на доработку приходит код достаточно старый (5 и более лет). И если это минимальные доработки в логике, то без ТЗ вы просто не поймете что где делать. Потому что логика бывает весьма нетривиальной.
Бывает что проще просто переписать все заново, особенно если речь идет об оптимизации (например, недавно делал десяток модулей, года, по-моему, 16-го, которые писались когда клиентов было миллионов 20, сейчас их 50 миллионов и старые модули уже вылазят за пределы отведенного для их работы временного окна). Там просто берется ТЗ и пишется все заново, уже с учетом новых требований по эффективности (в данном случае удалось сократить время работы с 2-х часов до 40-ка минут).
И в таких условиях соответствие ТЗ и кода и актуальность ТЗ - незыблемое требование. Ибо цена ошибки ну очень высока - это mission critical система, вся работа банка от нее зависит. Вообще требования тут достаточно жесткие по всем параметрам. Абы как не прокатит.
Вот такая наша реальная жизнь.
Вопрос был про код, т.е. эти 150-200 пишут правильные комментарии? Не "что", а "зачем"? Сомнения меня гложат ...
Про другие команды не знаю. Мы у себя (ядровые функции) стараемся придерживаться таких вот стандартов. В большей или меньше степени. В команде человек 10.
В принципе, есть требования, пока касающиеся "общих сервисов" (то, что пишется для всеобщего использования) - они обязательно должны быть документированы. Вот пример:
И там страниц на 40 документации. История версий, внутренние структуры, интерфейсы.
Без такой документации пользоваться всем этим просто невозможно.
Кстати, документировать свой код я научился задолго до того как пришел в банк.
mission critical там очень небольшая часть ядра (которое как раз пяток чеовек и трогает), всё остальное уже вполне себе с залипухами.
Mission critical - все, что работает на центральных серверах под IBM i. Есть еще несколько десятков "внешних систем" - там свои команды, свои платформы, свои стеки. Но они не имеют прямого доступа к нашим данным и к нашим процессам. Центральные сервера вообще сильно изолированы от внешнего мира.
У меня знакомый один - зав кафедрой информатики в региональном институте развития образования - в свое время (1980-е) автоматизировал на том самом коболе завод. И он рассказывал, что диск для хранения информации (базы данных) не имел никакой файловой системы, поэтому писали на ассемблере запись и чтение с диска (и да, там был мэйнфрейм ЕС ЭВМ, если кто вообще слыхал о таких ныне живущий, т.е. под BIOS там совсем другое понималось - ПЗУ с точками входа для управления устройстваами, описанными в давно сгинувшей документации). Не самое удачное решение, да? Предположу, что уровень легаси проектов на коболе, которые "гонят вперед, как феррари" - это для отдельной страшилки сюжет. И веб-приложение светит задницей в окно, в то время как код на коболе работает на машине, у которой совершенно неизвестные для современных хаккеров интерфейсы, по которым через какие-то адаптеры бегают данные к этому вебу, в котором разнообразно кешируются в опкешах и прочих штуковинах, о которых создатели мэйнфреймов и не подозревали..
диск для хранения информации (базы данных) не имел никакой файловой системы, поэтому писали на ассемблере запись и чтение с диска (и да, там был мэйнфрейм ЕС ЭВМ,
Ну, да, не было, но ассемблер то зачем? Вот умение перфокарты "читать" - это да.
Не скажу точно, зачем ассемблер, но, предположу, на коболе не было "инстриниксов" и всех этих команд записи на диск без файловой системы. Не знаю, можно ли сейчас на С произвести запись в нужный сектор диска на какой-нить последней винде или *никсе, но в те времена вроде как нужно было какой-то низкоуровневый call <addr> выполнить, поклав в регистры данные секторов и адреса памяти, в которые считанный сектор указанного диска нужно положить или из которых в указанный сектор указанного диска нужно записать.
В BIOS компьютеров времен 90-х-00х был INT 13H для прямой работы с дисками. В DOS был INT 21H, в 32-битных *никсах INT 80H, в современных 64-битных ОСях вроде как syscall. Предположу, что существуют современные библиотеки, которые эту низкоуровневую логику на каком-то своем асме или что там у них реализуют.
Ну о чем вы вообще?
В кобле, конечно, ничего такого не было. Но операции чтения-записи там вполне себе работали. На тех платформах, на которых оно существовало. И никаких "прямых операторов работы с диском" там не требовалось - просто нужно объявить файл (таблицу) и дальше позиционироваться на нужную запись и читатьь/писать ее.
Понятно, что если попробовать прикрутить кобол в калькулятору Электроника Б3-21, то проблемы будут. Но это те проблемы, которые ты сам себе нашел.
Лично я о том, что один мой знакомый, который на коболе разрабатывал ПО для автоматизации завода, рассказывал, что на диске, на котором хранились данные, НЕ БЫЛО ФАЙЛОВОЙ СИСТЕМЫ. Отсюда как бы вопрос про "операции чтения и записи" куда и откуда?
Не я же это все писал. Как мне рассказали, так я и передаю. Но если Вы сами на коболе на каких-нить ЕС ЭВМ что-то такое большое и красивое создавали, то с удовольствием послушаю Вашу историю.
Увы, с ЕС не работал. Ну если не считать учебной задачки в курсе вычтехники где надо было на бланке написать на фортране программку, отнести ее на ВЦ и потом забрать распечатку с результатом.
Но, почему-то, мне кажется что когда говорят о коболе и до сих пор работающем на нем коде, речь не о ЕС а о немножко других машинах. Где файловая система таки есть и таких проблем нет.
Та же IBM i, на которой мы работаем (правда, основной язык тут не кобол, хоть он и поддерживается), "в девичестве" AS/400, в прошлом году отметила 35-летний юбилей. Т.е. появилась в 1988-м году (а до нее были System/38, ранее System/36...). И с файловой системой тут все в порядке (более того, там еще и БД - DB2 - интегрирована в ОС).
Основным языком кобол был на мейнфреймах - это то, что сейчас IBM z, а ранее - System/390 (1990г), System/370 (1970г), System/360 (1960г). И все они уже имели нормальную файловую систему.
Так что я бы не стал причислять отсутствие файловой системы на ЕС к проблема кобола...
Так я ж не говорил о проблеме кобола. Я говорил, что люди, которые автоматизировали завод, ничего лучше не придумали, как базу данных хранить на диске без файловой системы и осуществлять к нему прямой доступ. И для этого что-то там на ассемблере написали. И, предположу, что такой подход в те времена мог много где применяться. Например потому, что скорость доступа к диску с файловой системой был ниже, т.к. сначала надо было считать данные каталога, потом спозиционироваться на файл, считать его, потом перезаписать его, пометив сектора недействительными, потом дефрагментацию запустить (помните такое?), чтобы все работало с приличной скоростью. А если запись на диск прямая, то вот у тебя условно эндцать секторов на эндцать байт. Никакой дефрагментации, последовательная запись новых данных в выделенные области. Я вижу у прямой работы с диском достаточно много плюсов, если мы говорим о 80-х годах.
В таком разрезе - да. Но для многопользовательских систем (я не в курсе, работали ли ЕС-ки в таком режиме) прямая работа с диском тот еще геморрой...
Ну так файловая система необходима, если нужно работать с файлами. База данных может жить и без файловой системы.
Я говорил, что люди, которые автоматизировали завод, ничего лучше не придумали, как базу данных хранить на диске без файловой системы и осуществлять к нему прямой доступ.
А Oracle ведь тоже любит разделы без файловой системы? Ну, тут хоть сектора есть. А тогда не было. Сначала отформатируй на сектора нужной тебе длины, а потом используй. Сам канальные программы не писал, но разбираться как-то пришлось - из Минска привезли новую версию СВМ, а там была поддержка только 200 MB дисков. А в ФТИ им.Иоффе были еще 29 Mb диски. Вот и пришлось помогать канальные программы адаптировать, благо все приехало в исходных кодах. Та же фигня с магнитофонами была. Кстати, когда на CMS под VM/SP сектора "появились", это казалось первое время жутко неэффективным.
Вроде как в те времена сектора зависели от геометрии, то есть произвольное количество секторов указать было нельзя?
мой самый первый винт был на 10 мб
Мы тут говорим о таких устройствах (https://uic.vsu.ru/ccmuseum/comp/es1022/index.htm):
![](https://habrastorage.org/getpro/habr/upload_files/c5f/32e/6c4/c5f32e6c43c0a6a26d17ddb90f91258e.jpg)
И чем длиннее сектора, тем их меньше будет на дорожке.
Не Кобол, Фортран-4. Но таки да. Диск можно было спозиционировать на дорожку и писать посекторно. А ещё зная номер УВВ можно было стучать на пишущую консольку инструкции оператору, типа "Ушел в запой, пока не поменяешь диск в 4-м приводе. Для замены взять с полки А, третий справа".. по первости меня даже отлучали от ЕС-ки на неделю.. ;)
А это особенность организации "классической" части операционной системы z/OS (предки: MVS и OS/390).
Там действительно нет иерархической файловой системы в том виде как она есть для Windows/Unix/Linux.
Есть таблица оглавления диска "VTOC" и именованные "наборы данных". Имена наборов данных "одномерные" с максимальной длиной в 44 символа. По сути "набор данных" это аналог файла, но, в отличие от файла он имеет набор дополнительных параметров определяющих его свойства и назначение. От этих свойств зависит способ работы с этим набором даных.
Кроме этого на уровне операционной системы есть структура каталогов которая объединяет оглавления разных дисков в единое представление.
Поэтому "иерархической файловой системы" там действительно нет, но при этом информация на диске структурирована, правильнее будет сказать что "плоская" файловая система там есть.
Кроме "классической" части в z/OS есть еще и "Unix" часть, вот там уже есть вполне привычная иерархическая файловая система, Unix-way.
Аналогично IBM i (i/OS). Там сама система объектная - "все есть объект". Там не файлов, есть объекты (файл - *FILE это один из типов объекта). У каждого объекта есть имя, тип и атрибуты. Тот же объект типа *FILE может иметь атрибут pf-dta - физический файл данных (таблица), pf-src - физический файл исходных текстов (для хранения исходников программ), lf - логический файл (типа индекса, но с более широкими возможностями).
Программа - объект типа *PGM
Сервисная программа (аналог dll в винде) - *SRVPGM
Есть объекты, не имеющие аналогов - *DTAQ, *USRQ, *MSGQ, *MSGF, *USRSPC, *DTAARA и еще куча всего.
С каждым объектом можно делать только то, что разрешено системой (т.е. для каждого типа определен свой набор допустимых операций).
Папок нет, есть библиотеки (тоже объект типа *LIB). Вместо Path используется LIBL - Library List - список библиотек где ищется объект для которого явно не указано имя библиотеки. LIBL свой для каждого задания (job) и может меняться "на ходу" - в любой момент можно добавить туда библиотеку командой ADDLIBLE или удалить командой RMVLIBLE. В интеактиве LIBL можно посмотреть DSPLIBL или редактировать EDTLIBL.
Полное имя объекта - имя библиотеки + имя объекта - ASRCPGM/RDMSRC360.
Для работы с объектом на низком уровне требуется сначала получить его "системный указатель". Но это уже уровень "машинных инструкций" (MI).
Например, с очередью *USRQ можно работать только через системные указатели и MI. Т.е. сначала:
pSP = rslvsp(_Usrq, pQueItem->UsrQName, pQueItem->UsrQLib, _AUTH_ALL);
А потом уже можно послать сообщение
enq(pQueItem->spQueue, pMessage, (_SPCPTR)pBuffer);
получить сообщение
_DEQWAIT(pMessage, (_SPCPTR)pBuffer, &(pQueItem->spQueue));
посмотреть атрибуты очереди (максимальное количество сообщений, текущее количество сообщений, тип очереди, максимальный размер сообщения и т.п.)
matqat(&mat_template, pQueItem->spQueue);
В общем, тут все не как у людей :-)
Для удобства есть IFS - интегрированная файловая система с обычной юниксовой структурой. Тут (или оттуда) можно копировать некоторые типы объектов (например, исходники).
А если немножко отвлечься от ЕС и посмотреть на СМ с его RT11, то в нем, если я правильно помню, директорий не было, а файлы кодировались в RADIX50 (40-ричная система счисления, где в 6 байт упаковывалось 9 символов имени файла, если ничего не путаю). Эта система работала на PDP-11, хотя первый Unix был написан еще для PDP-7. Где-то читал, что RT11 была UNIX'ом, но не смог найти подтверждения, т.к. хоть первый UNIX и был по словам ВИКИ написан на ассемблере (как RT11), но к его особенностям относят переносимость и исходный код на С. Все в прошлом такое подвижное сейчас, что слов нет )))
Ничего уже не помню за наборы данных. Но да, после прочтения вспоминается по-немногу.. Давно ушло в своп.
MSSQL в детстве мог работать на диске без файловой системы.Если для БД отдан весь диск,то на кой ей файловая система?Только лишняя прокладка
Сходите по ссылке. Все специфика работы с железом - а картах //DD. В примере
//SYSUT2 DD....
как раз описывает данные на диске. А программа использует уже только пронумерованные потоки, или как их тогда называли?
Кстати, как пишут в той же ВИКИ, в СССР были особенности использования ЕС ЭВМ:
Интерактивные возможности реализовывались дополнительным программным обеспечением — диалоговыми мониторами, не входившими, собственно, в комплект поставки ОС, такими как Jessy, Jec, Primus, Око, Аргус, Фокус. Распространённые в СССР диалоговые подсистемы, как правило, не имели зарубежных аналогов, а стандартный для OS/370 интерфейс TSO (Time Sharing Option), напротив, практически не применялся. Дело в том, что стандартные для OS/360 подсистемы CRJE и TSO (в ОС ЕС соответственно ДУВЗ — диалоговый удалённый ввод заданий и РРВ — режим разделения времени) были ориентированы на алфавитно-цифровые терминалы типа пишущей машинки, малораспространённые в СССР. Даже с появлением видеотерминалов ЕС-7906, ЕС-7920 в ДУВЗ и РРВ, полноэкранное редактирование текстов осталось довольно неудобным. В то же время практически все диалоговые мониторы — PRIMUS, OKO, Фокус и Аргус — были изначально ориентированы на полноэкранное редактирование текстов.
Так-то многопользовательские ОС с разделением времени на мейнфеймах появились раньше чем на десктопах (намного раньше!)
Прямой доступ к диску в такой ОС - абсурд.
Надо перевести на Java и задействовать ИИ.
Так они не поддерживать шли. За 20 лет разработчик может десяток крупных проектов сделать. Кто будет за ним доделывать...
И джуны тут не помогут. Тут и современные сеньеры помогают не всегда. Когда у тебя код написанный в 90 на С с дефайнами вместо функций найти того, кто просто его соберёт - такое себе...
Можно переписать ? Можно. Но нужно ли, если переписать полгода, а пофиксить пол дня ? Ситуация нечастая, но бывает. Особенно когда это все внутри какого-то прибора...
Когда у тебя код написанный в 90 на С с дефайнами вместо функций найти того, кто просто его соберёт - такое себе...
Без проблем. Даже молодёжь может с нуля разобраться - это не рокет саенс. Другое дело - в резюме этот булшит не напишешь. Точнее, высокооплачиваемую работу с этим булшитом в резюме потом не найдёшь. А значит придётся компенсировать будущую "нетрудоспособность". А столько платить вам самим уже неинтересно.
Другое дело - в резюме этот булшит не напишешь.
Как раз после такого опыта я бы скорее взял человека, чем после очередной МЕРНо дрисни.
Как раз после такого опыта я бы скорее взял человека, чем после очередной МЕРНо дрисни.
Ну будет таких 1 из 100, а зарабатывать много надо сейчас пока дают.
В этом тоже есть проблема. Если человек действительно крутой специалист, но работает на необычном стеке, то я понимаю что он хорош и нужен везде, независимо от стека, вы это понимаете, но HR этого не понимают. И даже внимание на его резюме обратят, т.к. он по ключевым словам не подходит.
Ну нельзя HR сказать "найдете мне рок звезду, стек не важен". Они так не умеют работать, зато могут найти посредственность по ключевым словам.
Если человек действительно крутой специалист, но работает на необычном стеке
Есть такие. Микроконтроллеры 8-битные программируют на ассемблере, потом что С не понимают. Но специалисты крутые, решают достаточно сложные задачи. Очень специфическая специализация и в других областях будут весьма слабые.
Столкнулся с подобной ситуацией, слишком увлёкся написанием моделирующего софта для нефтянки. Теперь, hr говорит крайне специфический опыт, устаревший стек (на старых проектах, 36 лет непрерывной проги), шансов нет. Написал Олимпиаду от Яндекса, удостоверился для себя, что вроде как всё в порядке. Пытаюсь теперь смимикрировать под рядового дуболома, зайти в ИТ.
Это вы взяли бы, а тупорылая хрюшка, не найдя знакомых баззвордов в резюме перейдет к следующему.
Это не буллшит. Разобраться в чужом коде и улучшить его намного сложнее чем сляпать еще один никому не нужный пет-проект на модном фреймворке. И требует несоизмеримо более высокой квалификации.
Разобраться в чужом коде и улучшить его намного сложнее чем сляпать еще один никому не нужный пет-проект на модном фреймворке.
Мы это уже обсуждали. Я это понимаю. Вы это понимаете. А рынок 20-летних сеньйоров понимает как "фу, закостенелый, неспособен к обучению новому".
Уже какой-то спецпрофсоюз надо открывать, чтоли, со своим маркетом вакансий и резюме.
Молодёжь сбегает от такого, разобраться - да, имея опыт разбирательства с таким и несколько недель оплачиваемого времени (авторы умерли, в прямом смысле слова, документации почти нет, комментариев нет совсем). Конечно, если там "вот тут циферка 3, а должны быть 5" можно и за полдня без понимания всего даже на не очень знакомо языке (тот же LISP потребует чуть больше усилий, от скобочек там всегда плющило), но вот действительно разобраться как оно работает - это нужно время. И бумажка с ручкой.
Молодёжь сбегает от такого
Если достойная оплата, то не сбегают. После погружения в тему работают намного лучше программистов в возрасте, у которых уже нет былой ясности и скорости обучения.
Пока молодежь "погружается в тему" и достигнет уровня "специалиста в возрасте" годы пройдут.
По скорости обучения - ну на своем личном примере не заметил чтобы у меня в 52 года скорость обучения абсолютно не похожей (реально не похожей - абсолютно иные принципы построения чем в привычных винде или никсах) ни на что системы была бы ниже чем у молодых.
Ну вот кстати был у нас "легаси" проект, собранный на момент описываемых событий на технологиях всего-то пятилетней давности. CMake и Qt каких-то старых версий, пара сторонних либ, никакой лютой эзотерики, но настроить окружение не вполне тривиально.
Есть инструкция от предыдущего тимлида, по которой не самый опытный я, сидевший тогда на зп в ~100к (с неполной занятостью), справлялся за вечер-другой с учётом скачивания всей требухи.
Есть студенты топового вуза, которых предлагается в это дело вкатить на зп от ~30к (если будет тормозить) до 50к (если руки прямые) за 1-2 рабочих дня в неделю. Даже для МСК с нулём трудового опыта всё более-менее "в рынке" - ну, если нет ожиданий на помидорскую зп ещё до выпуска.
По итогу за месяц справился один человек из 4. Из того, что я отметил - слабые навыки поиска решений: английский вроде как-то знаем, но ищем всё равно на русском яндексом с алисой; осмыслить сообщение об ошибке не можем, по коду пробить не приучены, выделить другие ключевые части и скопипастить в поиск тоже. Тулинг писали люди, привыкшие к каталогам и мануалам, а работают с ним люди, привыкшие к поиску на естественном языке. Может, что-то чатжпт тут и изменит. Все ругаются на Ctrl+C Ctrl+V development, но наблюдаю я практически обратную картину - именно этих навыков-то и не хватает на определённом этапе.
Вопрос мотивации студентов остаётся открытым - может, им было искренне неинтересно - но вообще есть ощущение, что на рынке серьёзный разрыв между "вместо 20 человек и 100 фич нам нужен один человек и полторы фичи в год для поддержки легаси системы" и "что за фигню вы тут на меня пытаетесь повесить?! У всех белых людей слева должен быть аналитик, справа - девопс, а посередине они все такие красивые решают за шестизначную зарплату задачи бизнеса". Бизнес таки растёт не бесконечно, новые фичи иногда попросту не нужны, а поддерживать старый софт айтишники ой как не любят...
>на С с дефайнами вместо функций
Можно пример коммерческого кода? В embedded такое сплошь и рядом, но вы, похоже, про десктопный/серверный?
Ентерпрайз растет. На самом деле вещей, которые можно перевести в цифру еще полным полно, и огромное количество крупных компаний это делает. Причем сопровождение может вполне дать возможность проработать до пенсии, так что ентерпрайз очень актуален для взросликов.
Дельфисты, MFCшники и Qtшники тоже так думали. Но всё переписали, и имени не спросили. И нынешние модные микросервисы перепишут.
Не всё, ещё далеко не всё...
Это уже ничего не решает. Работы на этом поприще больше не найти.
Если знаешь хороших дельфистов, отдай их мне! Я знаю куда их пристроить :)
ну я был 10 лет назад экспертом. Счас джава и шарп но старая любовь не ржавеет. Могу пристроиться удаленно.
В чат Дельфистов зайди, там есть пара ищущих работу.
https://t.me/delphidevelopers
https://t.me/Delphi_Lazarus
https://t.me/fmx_ru
Cо знанием QtQML все еще нужны человеки) Что в РФ что за бугром, не столько как фронтендеров, но все же.
все еще нужны
Это как греться на догорающем костре. Он всё ещё греет, ога. А потом пеплом свою седую лысину посыпать будешь.
Скорее, подбрасывать в могилу (если станешь зомби). Есть подозрение что я закончусь сильно раньше проектов на Delphi/Qt/MFC/VB (да, такие ещё есть и вполне живые, продаются новые установки, что там под капотом юношам лучше не знать - может пропасть интерес к жизни). Хотя, сейчас многие из этих проектов в таких организациях, с которыми связываться не стоит и потому знания в других областях вполне помогают работать не с ними.
Qt никуда не делся. Напоминаю, интерфейс телеграмма написан именно на нём
И всё?
Если по каждой живой технологии требовать хотя бы 5 гиперуспешных проектов, написаных на ней, окажется, что все технологии умерли.
qBittorrent
А вообще огромный же список известных программ: https://en.wikipedia.org/wiki/Qt_(software)#Applications_using_Qt
А что такое произошло с qt ????
Удачи вам наш софт переписывать с культи на что угодно, есть такие сферы где культя даже и не думает исчезать, новые проекты постоянно рождаются. МФЦ я лично пилил на 2 разных проектах в 14-17, 18-19 годах. Да проекты не первой свежести, но никто их переписывать даже не собирался. И нет это не поддержка, а поступательное развитие.
И до сих переписывают, а те же проекты на Delphi всё ещё занимают неплохие позиции в процентном отношении среди конкурентов (не монополия, но и не жалкие проценты ниже половины). Что-то было переписано, но ядро столь велико и постоянно развивается, попытки переписать его на чём-то современном заканчивается тем, что модный фреймворк уже давно из моды вышел, а замена так и не появилась. Единственный вариант заменить - банкротство конторы и замена кем-то из конкурентов (но может выйти замена как из китайских муляжей автомобилей - красивое, немного ездит, но пользователи предпочитают использовать старое до последнего, а тут ещё и привычные/нужные функции могут отсутствовать). Кстати, такой вариант (с уходом конторы в закат) тоже наблюдал и с предпочтениями пользователей не теория. Со временем переползли, но это растянулось на годы (пользователей много, очень много было).
А куда делись все те кто это написал?
Они никуда не делись - они теперь не могут прочитать те доки, которые сами написали и разобраться в собственном коде. Чукча не читатель, чукча - писатель.
В смысле хайповала?) А сейчас это типа никому не нужно и все ка кто по другому продукты пишут?
У автора спросите. Его ж терминология. Я вообще считаю, что похайповали, например, всякие блокчейны. А гречневый энтерпрайз он что 10 лет назад что сейчас востребован.
Что в вашем комментарии означает "гречневый"?
"гречневый" это ванильный в энтерпрайз версии
напомнило
А что, мужики? Что мы, начальника, что ли, подведем?
Мы жуки-плавунцы или мужики российские ржаные гречневые? Али не выйдем на недоплачиваемые смены? За гроши совестью мужицкой приторговали? Да нет, я по глазам вашим мужицким вижу, что тут зарплатных нет.
Не та порода! Тут закал столетний, сибирскый, таежный. Тут кедром фонит по низам! Тут мужик свою реку, свои луга и свою соху стережет накрепко! Тут заради блага легкомысленного, заради кружев и счетов банковских бабьих никто не пошевелится даже! Тут иные мотивации, другие нравы произрастают!
Тут мужик единоначалие блюдет. Сами мы што – маленькие. Нас суховей по полям понесет, мы и затеряться можем. Нас начальник корнями крепит к земле, как вековой дуб корневище! С начальником мы любые ветра вытерпим. А от того и сами его блюдем – со своей стороны, со стылой.
Если увидаем мы, как начальнику нехорошо, так последнюю рубаху долой с торса – «Носи, командир!» Нам, мужикам, и кусок в горло не лезет, коли начальство нужда грызет! А кто супротив нашего начальника лезет, кто смуту разводит в тазу – того мы вот так: за шеяку – и к колодцу! Потому что смута выгодна юрким, вертлявым, сладковатым и мятеньким. Тем, кто как гадюка в постель лезет нашу. Кто мокрицею в кашу норовит с потолка упасть. Чуждо нам это! Не те сказки нам мать баила в колыбели! Иные песни мы в армии запевали!
Давай, ребята, подходи подписывать график! Завтра в две смены работаем, кашу в перерыве обеспечим, бачки прямо к цеху подвезут.
Сыты будем, а остальное что нам, мужикам, – переживем, заработаем, в махорку ссыпем, да в перерыве закурим!
У меня перед глазами сразу всплывает интерфейс ExtJs Classic
На поддержку чего-то не нужно столько людей, сколько на разработку нового. В США до сих пор остались мэйнфрэймы с программами на COBOL. Там есть ровно одна фирма, которая всё это дело поддерживает. Там всем по 40+ лет
Ну кому-то в итоге это надо делать...
к которому ни один уважающий себя разработчик не подойдет.
Уважающему себя разработчику не надо платить ипатеку/медстраховку/кредит на машину/детям на учебу в вузе ил подготовку к ней?
Мечты остались в нулевых годах. А большие мечты вообще в 80х. Сейчас отрасль в таком состоянии, что речь уже идёт про банальное выживание. Океан эти годы из бирюзового обернулся в багряный.
Обижаете. Я, например, всю жизнь развивал легаси. Ни разу не начинал новый проект (кроме петов). И смею утверждать, что делаю это хорошо. И часто бывает очень интересно. И достижения на этом поприще тоже можно сделать. У меня - практически спасти проект от закрытия, поскольку на момент моего появления в команде обсуждался вопрос о закрытии проекта и начала нового по причине нарастающей лавины ошибок, "комка грязи" и невозможности развития. "Уважающие себя" разрабы (которые все это наворотили) ушли на новые проекты, в результате воткнули первого попавшего меня, не особо собеседуя. Ликвидировал все ошибки (даже клиенты отмечали улучшение), рефакторил, форматировал. В результате проект продолжил жизнь еще на десять лет.
Очень тяжелая и неприятная работа, но как говорят американцы, платят за дурно пахнущую работу.
Такшта, поддержка легаси не пугает, но как это говорить на собесах, не знаю.
Лучше свой говнокод писать? Про который кто-то другой через год-два скажет тоже самое?
Легси код обычно работает без проблем (он работает давно, баги все вычищены). "Сопровождение" его заключается во внесении изменений в случае изменения бизнес-процесса который он реализует. Иногда, да, требуется оптимизация. Лет через 10. Потому что объем обрабатываемых данных вырос в 3-5 раз. Но там оптимизация уже сильно нетривиальная, это скорее полностью переписать, предварительно разобравшись в логике.
ну так и писал этот говнокод такой же
уважающий себя разработчик
Какой же это разработчик тогда, если он не может разбираться в легаси?
По моему скромному мнению разработчик это не тот, кто может програмку написать, а тот, кто может разобраться в чужом коде.
А я с робототехники посмеялся, как выпускник соответствующей кафедры. Прямо классическая иллюстрация к поговорке "Там хорошо, где нас нет". Спрос в этой сфере в России минимальный, в регионах его считай нет вообще, зарплаты на уровне офисных админов и клерков, а коллектив на оборонных предприятиях специфический. Отдельно тут стоит вспомнить нелюбимую многими математику, без которой построить успешную карьеру фронтендера у вас шансов на порядок, а то и два больше, чем преуспеть в робототехнике.
Отдельно тут стоит вспомнить нелюбимую многими математику, без которой построить успешную карьеру фронтендера у вас шансов на порядок, а то и два больше, чем преуспеть в робототехнике
Если HR-тётенька на подлёте не отстрелит, конечно.
╮( ̄ω ̄;)╭
Уж кого в мире у нас не хватает, так это JS-еров, мдэ. Ну, собсна, выбор лёгкого пути, о котором все знают, чреват высокой конкуренцией и околонулевыми шансами вкатывания
![Когда откликнулся на вакансию фронтендера Когда откликнулся на вакансию фронтендера](https://habrastorage.org/getpro/habr/upload_files/44c/d45/df2/44cd45df2f008f2376caf10ba4714104.png)
Если HR-тётенька на подлёте не отстрелит, конечно.
Вы так говорите, будто в робототехнике берут всех с улицы, и там совсем нет HR-тётенек, они там тоже есть.
Уж кого в мире у нас не хватает, так это JS-еров, мдэ.
А кто сказал, что у нас не хватает робототехников? Я вот когда выпускался точно так же ходил по собесам и делал тестовые. Правда именно по специальности долго ходить не пришлось, потому что там в принципе мест немного, и быстро везде отшили.
и околонулевыми шансами вкатывания
А выбор работы, которая тебе совсем не по душе, чреват ощущением ежедневной пытки. Да и не берут там всех подряд, особенно стереотипного вкатывающегося – человека с непрофильным образованием после курсов, скорее даже наоборот, его там вообще не ждут, потому что ТАУ он вероятнее всего никогда не изучал.
Я не говорю, что все эти армии JS'еров должны бросить JS и тут же ринуться в робототехнику, проектирование беспилотников и т.д. Я просто пример привёл
А выбор работы, которая тебе совсем не по душе, чреват ощущением ежедневной пытки
Мне программирование как таковое было интересно. Но работа в IT != программирование. Мне приходилось очень долго работать в режиме постоянного кранча. В итоге, помимо всех остальных последствий, это отбило у меня всякий интерес к разработке в принципе. Искать надо не то, к чему лежит душа, а то, что комфортно
Так штука в том, что все эти "войти в айти" не способны поддерживать код. Нет способностей или учились не тому – не знаю. Знаю, что при всём обилии кандидатов – очень трудно кого-то найти.
Не далее как вчера. Сосед, бывший прогер, хаккер, ремонтник, сайтописатель (чутка старше меня), вобщем как обычно в нашем поколении: "лудим, паяем ЭВМ починяем".. внезапно решил вернуться в АйТи.. Не, решил то он раньше, примерно с месяц назад, но вчера его прорвало буквально:
-"Да ну нахер эти ваши куберы, ансамбли с композиторами до кучи! Месяц сидел вникал, ни хрена непонятно зачем это. Вобщем я тут посмотрел, в свое время накатал больше 100 сайтов, пообшался, некоторым нужна поддержка. Джумлу вспомнил, буду их поддерживать, а там видно будет".
Э не, товарищ ведь до самой мякоты не доехал. Это когда он с куберами и прочими оркестрами-ансамблями разберётся, а потом обнаружит что на работу его без коммерческого опыта в этом деле даже не рассматривают.
ИП откроет, будет сам работодателем. 100 сайтов на джумле, с каждого по копеечке, так и протянет ещё лет 100. :)
ИП откроет, будет сам работодателем. 100 сайтов на джумле, с каждого по копеечке, так и протянет ещё лет 100. :)
Как будто это что-то плохое.
такая мелочь плохо масштабируется до прожиточного уровня: время на общение выдели, память потрать вспоминая, что там у конкретного клиента, а он тебе в ответ 100р, да и ту постарается зажать
Причем не по схеме "- А сделайте нам сайт на джумле", а по схеме "- А сделайте нам сайт, современный? - Ни слова больше! Это как раз наш профиль, современный сайт на современном движке! Новые времена требуют новых решений!".
Я давно уже заметил, что часто новые технологии не взлетают, потому что косные программисты привыкли к старым. Зачем менять что-то? Привычная технология, известно, какие проблемы, как их решать, есть наработки. Проще клепать проекты как пирожки (по низкой себестоимости) по схеме, которую за 10 лет вылизали и отладили.
Я бы сказал, что новая технология взлетит, если она может (в широком понимании) делать то, что не может делать старая.
А жаловаться на "косность"... Недавно была статья про вопрос "А зачем?". Вопрос, который бережёт здоровье. И который вы сами задали. И не ответили.
Немного не понял второй абзац. Про какую статью вы говорите, кто его задал?
Спасибо, да - статья в тему. Тогда отвечу здесь (ну вот по той ситуации, которую я имел в виду).
Проблема заказчика и программиста часто похожа на проблему врача и пациента. Пациент не знает, что он хочет. Даже хуже - он не может знать, так как не хватает компетенции. Врач скажет, что надо рентген - он пойдет на рентген. Скажет, что надо клизму - сделает клизму. И кроме случаев, когда пациент умирает по ходу лечения, можно его как угодно раскручивать, навязывать ненужные услуги (ну... отчасти может полезные, не вредные, но явно не слишком-то нужные, особенно, с учетом цены).
Теперь, возвращаясь к IT технологиям. Клиенту нужен простой сайт-визитка (чтоб нам проще было пример понять). Ему могут прописать целый сервер с Linux/Apache/MySQL/PHP, и либо пусть он его сам админит (конечно же нет), либо любезно согласятся его обслуживать сами. Клиенту не скажут, что вообще-то можно его сайт сделать статическим, и он будет быстрее работать, лучше индексироваться гуглом и точно не взломают. Не скажут, что в джумле с набором из 15 модулей-плагинов в среднем раз в два месяца обнаруживается уязвимость и надо хотя бы раз в неделю проверять это. Не скажут, что вообще теоретически возможны SQL Injection (в то время как для статического сайта этой проблемы в принципе не может быть).
Если говорить в контексте той статьи про "а зачем", то может быть понятнее рассмотреть ситуацию наоборот. За точку отсчета берем простой статический сайт-визитку (набор HTMLек и картинок), и затем оцениваем вариант - а начнем хостить его на настоящем линуксе, с настоящим MySQL, c модным PHP движком Joomla с плагинами. Где каждое слово в этом предложении на самом деле означает еще и некоторые доп.затраты на содержание и поддержку.
Теперь, возвращаясь к IT технологиям. Клиенту нужен простой сайт-визитка
Это только одна сторона вопроса.
В общем (более распространенном случае) клиенту нужно автоматизировать свои бизнес-процессы. И он очень хорошо знает всю логику этих процессов. И может ее внятно объяснить. А вот реализация этой логики "в железе" - это уже задача IT.
Клиент сегодня удовлетворится статическим сайтом, а завтра ему срочно-припадочно понадобится прикрутить туда БД и расчеты в реальном времени, потому что у его конкурента такое появилось.
Привычная технология, известно, какие проблемы, как их решать, есть наработки. Проще клепать проекты как пирожки (по низкой себестоимости) по схеме, которую за 10 лет вылизали и отладили.
"Как будто это что-то плохое" (с) выше
Ну вот я - фанат "новых статических сайтов" (jamstack).
Они быстрые (быстрее не бывает)
Они столь же функциональные (слава миру JavaScript и API)
Они безопасные (попробуйте взломать статический файл, типа png или html)
Они жрут мало ресурсов
Они отлично работают даже при большой нагрузке (например, черная пятница, когда толпы покупателей ходят по магазинам)
Они не требуют поддержки (статическая их часть). Дешевле в обслуживании. (сравните, что будет с магентой или вордпрессом с плагинами через 3 года)
Конечно, всему свое место, я не сторонник идеи "через 20 лет не будет ни книг, ни газет, ни театра, ни кино - одно сплошное телевидение". Однако, большинство типовых сайтов-визиток - вообще очень простые для jamstaсk (на нем так-то можно хоть ozon делать, reddit AFAIK на jamstack подходе реализован). Это же безумный оверкилл держать сервер, на нем СУБД (с базой объемом 50 кб) и при каждом открытии странички перерисовывать ее (каждый раз получая одинаковый результат). Но этот безумный оверкилл кому-то делать привычнее, вот он и делает. К тому же, за CMSкой и настоящим сервером нужно следить, это еще денюжки ежемесячно (в отличие от хостинга на cloudflare, который вообще бесплатен).
Охохо... Начнем, помолясь...
JAMstack — зачем, почему и за что
Что такое Headless CMS и почему за ними будущее
Да я чего.. думал, что традиционный сайт - это html страничка, типа там
<font size> <font color > и все такое... А оно вон как обернулось.. Ж8-()
Видимо я все пропустил...
Да, человечество куда-то ушло не туда, во всякие cgi на perl, потом PHP, потом Python, Ruby, всякие бэкендовские фреймворки, и вот возвращается назад, к статичным HTML страничкам, которые отрендерил один раз, и через два года отрендерил ее снова, когда адрес офиса поменялся, а не несколько раз в секунду :-)
Но теперь все недостатки прежних технологий (падающие снежинки на новый год, шпионаж за пользователем, выскакивающие чат-поп-апы), в общем, все болезненное наследие этого долгого путешествия можно реализовать через статичные странички в javascript.
Эти все странички хороши, до тех пор пока вам не надо хотя бы форму обратной связи сделать.
Чем плохо использовать для обратной связи электронную почту или телефон?
Чем плохо использовать для обратной связи электронную почту или телефон?
Тем, что многие не пользуются электронной почтой почти совсем (а редко кто так и вообще совсем), а также тем, что многие не любят говорить по телефону с незнакомыми, не любят говорить по телефону вообще или у них плохая связь и им просто неудобно говорить чисто технически. Если эти подмножества пересекаются - а будьте уверены, они пересекаются, то вы получите некоторое число тех, кто с вами не свяжется из-за того, что избегает по личным причинам или имеет чисто технические причины избегать предложенных вами вариантов связи. Возможно, вам все равно. А возможно вы так потеряете клиента - не единичного "странного", а вполне ощутимый процент от вообще всех.
Чем плохо использовать для обратной связи электронную почту
Например, тем, что многие без особых разбирательств отшивают письма, которые пришли не от "магистральных" провайдеров вроде Yahoo или Gmail.
Сейчас мало у кого вообще есть электронная почта.
Да хоть погоду в реальном времени показывать и авиабилеты продавать. (только это уже чуть сложнее чем визитка). Для того и есть API (буква A в JAM). Либо сторонний API, либо свой, но API делает именно минимальную функцию. Как вариант - на CloudFlare есть "воркеры" для некоторых простых задач (вот та же форма обратной связи). Если реально нужна именно форма обратной связи - скорее всего этот объем даже бесплатно будет на CF.
Для примера - большинство туториалов по SSG рассматривают легкий новичковый пример - персональный блог с комментариями (Настоящие комменты с регистрацией, антиспамом, тредами - через API от Disqus и подобных сервисов). Но хостить можно так же на CF или GitHub, много где.
Сравните два сайта - на одном сайте API оформляет покупку (если кто-то что-то покупает. Если смотрит товары - никакой API не дергается), а все остальное - статика. А на втором - "джумла", каждая страничка генерится, делается куча SQL запросов и от самого движка и от дюжины плагинов (некоторые из них с уязвимостями).
Вот для оформления покупки нужно исполнять код - его и используем (возможно внешний), а для просмотра товаров - не нужен, там и не используем. Правильная схема.
Убедиться, что крошечный API с несколькими методами работает безопасно - достаточно легко. Ну и пишутся несколько методов - быстро. Убедиться, что 27(!!) мегов CMSки (плюс еще плагины от неизвестных людей - пусть не злоумышленников, но просто джунов или разгильдяев) работают безопасно - невозможно в принципе.
Вы "воюете" не в ту сторону. Я возражал не про 27 мегабайт против 27 килобайт, а про то, что как только у вас появляется что-то кроме статики, у вас тут же появляется вектор атаки. Где-то же API живёт. Площадь "сюрфейса" ниже, но не исчезает.
Убедиться, что крошечный API с несколькими методами работает безопасно - достаточно легко.
Это в идеальном мире так. А в настоящем крошечный API с несколькими методами начинает мутировать и жирнеть довольно быстро, как только (если) из сайта-визитки с формой связи он начинает мутировать в Интернет-Магазин. Появляется аутенфикация, авторизация, оформление покупки, и куча других методов...
Ну и бонусом, посмотрел бы я на контент-менеджера, которому надо пересобирать каждый раз всю статику чем-нибудь на Руби или, что веселее, на Node.js (кек), вместо использования CMS.
Даже небольшой интернет магазинчик детских рюкзаков, который я поддерживал, имел около 10 000 карточек товара.
Конечно, все проблемы с "динамикой" (вроде "кончилось место на диске" или "упала база" или "сделали ошибку на бэкенде") - остаются. Мне кажется важным количественное изменение, потому что 27кб API в самом деле легче 27мб от большой CMS. Причем сложность аудита растет экспоненциально, и проверить CMS у нас не в 1000 раз сложнее, а в триллион (за счет того, что проблемы могут быть не в самих компонентах, а в их взаимосвязях, "между ними" как бы).
Еще одно отличие JAMstack подхода (скорее идеологическое, организационное, не совсем техническое) - это использование микросервисов и разных отдельных API, часто сторонних. Может ли быть ошибка в своем модуле авторизации? Конечно! Сегодня написали, через 2 года постепенно 99% ошибок вычистили. Может ли быть ошибка в аутентификационном API Auth0? Тоже да! Только эти 2 года уже прошли, гораздо больше прошло и испытали их тысячи разнообразных клиентов и хакеров. И скорее всего там ошибок нет, а если и есть - они их сами пофиксят. Ну и если у вас база в одном микросервисе, оформление заказов в другом, аутентификация в третьем, поиск по базе в четвертом, а какие-то пользовательские настройки в пятом - то даже если вы сделаете огромную дырищу в сервисе пользовательских настроек - через нее не дотянутся до базы заказов или базы пользователей (в отличие от традиционного подхода, где все яйца и все дырки в один MySQL кладут, и даже код, который отвечает за светлую или темную тему сайта теоретически может базу слить).
Нодовские приложения мне самому не нравятся ужасно, и жирные они. Огроменные просто, куча каких-то модулей.... (но звезд на гитхабе у них много - наверное, кому-то нравятся). Я через hugo собираю. один бинарь и в нем все. Простой демо-сайт ( https://shinhub.ru/ ) из 1000+ шин (я его немного подзабросил сейчас), первый раз собрался за 11 секунд. Ужасно долго. А вот пересборка (когда файлы уже в кеше):
mir ~/repo/shinhub $ hugo
Start building sites …
hugo v0.104.3-58b824581360148f2d91f5cc83f69bd22c1aa331+extended linux/amd64 BuildDate=2022-10-04T14:25:23Z VendorInfo=gohugoio
| EN
-------------------+-------
Pages | 1037
Paginator pages | 0
Non-page files | 0
Static files | 2064
Processed images | 0
Aliases | 0
Sitemaps | 1
Cleaned | 0
Total in 549 ms
Полсекунды. Терпимо. :-)
Но я с вами согласен, что если мы немного добавляем сложность, то и надежность-защищенность становится не аболютной, и стоимость сопровождения не нулевой.
Вот для оформления покупки нужно исполнять код - его и используем (возможно внешний), а для просмотра товаров - не нужен, там и не используем. Правильная схема.
Правильная, но нерабочая. При просмотре товара нам надо показать, что товар уже недоступен, например (только что купили последнюю штуку). Нам надо показывать разные цены в зависимости от группы пользователя (для оптовика цена ниже). Нам нужна динамическая цена в зависимости от выбора пользователя - он хочет купить или одну штуку, или упаковку из 6 штук, или упаковку из 12 штук. Нам нужно показывать предупреждение о дополнительных документах, если пользователь из Канады. Это только то, что сходу вспомнил, а на деле в екоммерсе таких штучек намного больше.
Верно. Решений тут много разных. Иногда даже на философские мысли наталкивает - например, можно обновлять данные сайта (в HTML или JSON) раз в год-день-час-минуту. Но ведь последний товар может и за эту минуту быть куплен? Выходит - даже это не решение? И тут наступает прозрение - так ведь данные в браузере - всегда устаревшие! -) Всегда не на 100% надежные. (Так же как и в жизни - глазами мы видим прошлое, т.к. скорость света конечная). Пока страничка генерировалась, пока грузилась в браузер и рисовалась, пока посетитель из соседней вкладки в эту переключился, пока думал, покупать или нет, пока с женой советовался, пока цены на других магазинах сверял, пока оформлял покупку - строчка "остался 1 шт" может и устареть.
Так что, код покупки в любом случае должен перепроверять и предусматривать вариант, что юзер (или мошенник) захотел купить то, что уже кончилось.
Нужно ли решать эту проблему? Насколько часто она случается (или теоретически возможна, но пофиг на самом деле)? Мне кажется, иногда может быть так, что стремление к идеалу не нужно.
Но, допустим, нужно. Тогда как бы я делал:
Простая функция API "дай остатки на складе по такому-то товару" (может не цифрами, а много / мало / очень мало / нет). Если прямо совсем хотим задуриться по актуальности данных - можно даже API с вебсокетом поднять и в реалтайме показывать: осталось 120 штук... 119.... 118...
Нужна таблица цен, параметры для скидок (при опте, для премиум-покупателей итд). Табличные данные можно выдавать JSONом или даже в страничке параметрами вшить. Логику - через JavaScript на фронтенде. У юзера достаточно мощный браузер, чтобы посчитать цену при `if(n > 6)`.
Общий принцип - все что может делать фронт - пусть он и делает. Все реальные вычисления занимают ничтожное время (какая-нибудь красивая анимация может занимать куда больше). Бэк делает только контроль (есть ли товар на складе в момент покупки, действительно ли юзер - оптовик, если покупает по оптовой скидке ).
Если страничка большая и сложная (как на Озоне) и API запросов много - группировать их и все что можно отправлять одним сложным запросом (он сразу выдаст и цену товара, и сколько на складе). Например, один API запрос на сервер товаров (все о товаре) и параллельно один API запрос на сервер рекомендаций (купите к огурцам еще и водки или молока). Что имеем: 1) Страничка (возможно с плейсхолдерами, как на ютубе или в хороших маркетплейсах) отрисовалась почти мгновенно 2) Все данные подтянулись тоже быстро (ибо забрать немного данных и выплюнуть их - это быстрее, чем забирать много данных, рендерить и выдавать). 3) Те запросы, которые можно делать параллельно - сделались параллельно. За 0.2 секунды пока собирались данные о товаре попутно за 0.1 секунду другой сервер уже выдал рекомендации. общее время 0.2, а не 0.2 + 0.1.
Идея в том, чтобы статически рендерить то, что можно (но не обязательно рендерить то, что нельзя) и выносить максимум возможной логики на клиента. В каких пропорциях - тут уже по ситуации, под проект (может быть сегодня решили так, а через месяц после запуска - переиграли). Но это именно гибкость, в отличие от "все CMS сгенерит" и максимум возможных плюшек для юзера и для гугла.
Переносить все цены для групп пользователей на фронт нельзя, так как при таком раскладе пользователь может увидеть то, что ему видеть нельзя. Более того, мы как-то делали екоммерс для оптовой продажи медицинского оборудования и там целиком странички товара надо было скрывать от людей, которые не предоставили документы (лицензии). То есть банально проверяем - если юзер из неподходящей группы, то бекенд отдаёт 404.
Пока страничка генерировалась, пока грузилась в браузер и рисовалась, пока посетитель из соседней вкладки в эту переключился, пока думал, покупать или нет, пока с женой советовался, пока цены на других магазинах сверял, пока оформлял покупку - строчка "остался 1 шт" может и устареть.
Это понятно, что во время оформления заказа бекенд будет остатки проверять, делать резервацию и всё такое прочее, я целенаправленно говорил о представлении каталога, а не о процессе заказа, в котором заморочек в 10000 раз больше. У нас задача стоит - при обновлении странички показать, что товар больше недоступен и кнопку заказа сделать серой. В классическом подходе - мы либо сбросим кеш для всей страницы продукта, либо сбросим кеш для блока "Добавление в корзину" для данного продукта.
В случае JAMstack, если я правильно понимаю, мы либо опросим API, либо перегенерируем всю страницу целиком. И то, и другое, мне кажется рабочей версией, вопрос в трудности.
Как известно, в компьютерных науках есть только две сложные проблемы – инвалидация кэша и именование переменных ?.
То есть банально проверяем - если юзер из неподходящей группы, то бекенд отдаёт 404.
А почему не 403-то?
Ну если все так заколдованно - то да, только через API, проверяя аутентификацию итд. Но это редкая ситуация. Чаще магазины заинтересованы, чтобы наоборот всем донести информацию "эй, у нас чайники по 2000 рублей!". Даже на рекламу тратятся, чтобы не скрывать эту информаци, а пихать ее везде :-)
Для JAMstack есть, как мне кажется, типовая анти-задача - это "личный кабинет". Там очень много бэкенда-апи и мало что можно пререндерить (только общую структуру страницы). Его можно сделать на джемстеке и даже там от него есть небольшой плюс:
Страничка профиля все равно отрендерится быстрее (а вот гидрация чуть времени займет)
API для бэкенда (который проверит аутентификацию и выдаст JSON) - все равно чуть проще. Но уже почти предельно приближается к радиционному бэкенду.
Но все таки, это тот крайний случай где по эффективности все падает до традиционного SSR. Зато какие-то другие части этого же сайта вполне себе могут работать эффективнее чем в SSR подходе - повышая рейтинги для SEO, делая сайт быстрым, респонсивным, снижая стоимость хостинга и успешно справляясь с высокими нагрузками.
Ну если все так заколдованно - то да, только через API, проверяя аутентификацию итд. Но это редкая ситуация. Чаще магазины заинтересованы, чтобы наоборот всем донести информацию "эй, у нас чайники по 2000 рублей!". Даже на рекламу тратятся, чтобы не скрывать эту информаци, а пихать ее везде :-)
Ну там больше про то, что "у нас чайники по 2000 рублей, а для некоторых групп пользователей - по 1300 рублей, но вот конкурентам об этом знать не нужно". И такие заказчики с колдовством - через одного.
Поэтому у нас основной подход - статика с динамическими вставками контента через API. В кеш страницы целиком кладётся описание товара, атрибуты, метаданные (всякие там ключевые слова), картинки на CDN. А цены, размеры, остатки - через API для каждого пользователя инжектятся в плейсхолдеры.
Ну так IT на разработке и DevOps не заканчивается. Нужны люди которые могут сверстать простой сайт, посадить шаблон на джумлу / вордпресс, добавить пару кнопок и скриптов – и это такое же IT.
Просто не особо понял смысл примера, что все усложнилось? Ну да, все стало сложнее, изменились и требования к продуктам и разработке, вполне закономерно.
Да ну нахер эти ваши куберы, ансамбли с композиторами до кучи!
Я его понимаю. Это примерно как "почему для того, чтобы развести костёр, я должен увешать дерево разноцветными флажками, дождаться полночи, три раза пропрыгать вокруг него на одной ноге, напевая "Марсельезу" на инуитском языке задом наперёд, окропить его святой водой, и срубить топором, окроплённым кровью девственницы — когда я всю жизнь просто собирал кучу веток и поджечь их!"
(Примерно то же самое у меня сейчас происходит, когда оказалось, что драйвер (драйвер, Карл!) для сего девайса написан на Electron и требует для работы пол-гига памяти!)
И я тогда задавался вопросом: а как насчёт того, чтобы сразу меня допустить к команде, чтобы меня там сразу спросили про мой опыт, а я спросил про условия, и если мы друг другу нравимся, приступить к техническому скринингу, просто чтобы проверить, что я не соврал?
Ну вот у нас так было когда я пришел (в 17-м году) и так есть сейчас (весной собеседовали кандидата). Ну разве что когда я собеседовался, народа побольше было, сейчас - руководитель управления (сам разработчик в прошлом) да пара-тройка разработчиков-сеньоров. Но суть та же - чем занимаемся мы, чем занимался кандидат. Просто поговорить.
Даже технического скоринга нет, есть три месяца на обучение с наставником (вроде как "испытательный срок", но чтобы кто-то его не прошел - такого не вспомню).
HR занимается только предварительным отбором (готовит пачку резюме на рассмотрение и потом уже ведет отобранного кандидата за ручку к рабочему месту (в широком смысле слова).
Но у нас текучка крайне низкая, найм достаточно редкий ну и прочие прелести в виде "дремучего легаси", "кровавого энтерпрайза" и "нерелевантного опыта" (поскольку очень узкоспецифичная платформа и стек).
Т.е. можно предположить что там, где нужно не отсеять как можно больше малолетних долбо, но нанять человека и закрыть позицию, все делается "как надо".
Сразу уточняйте, что у вас экзотические мэйнфреймы с не менее экзотическими языками программирования.
Ну не без этого :-)
Но процесс найма - именно тот, что снится в розовых мечтах :-)
Ну не без этого
Так это уже само по себе неслабая такая воронка отбора получается. Не так много рискнут податься на вакансию, в описании которой около нуля знакомых по только законченным IT курсам слов, а кто рискнет - тех вменяемый HR отстрелит на подлетной траектории в почти стопроцентном количестве.
Дело даже не в IT курсах. Вкладываться во что-то редкое это всегда больший риск. Условный разработчик на React, случись что, через пару месяцев найдет себе другую компанию на +/- ту же должность – не возьмут в первой, третье или девятой, так возьмут в десятой, хотя бы потому что их сотни, в крайнем случае есть еще и фриланс – специфический, но хотя бы существующий. А когда у тебя три потенциальных работодателя на всю страну, шансы, что однажды тебе придется сменить стек или профессию многократно повышаются, и повезет, если еще момент будет удачный, а не когда тебе 55 а ты внезапно снова "новичок".
Джунов берете?? Нет??? ну так о чем и речь
Интерны тоже бывают, но реже. Иногда да - программы оплачиваемой стажировки для студентов старших курсов и выпускников. Как правило, это "стажер на полставки" (и половина рабочей недели). На полгода (хотя бывает что если все хорошо пошло, то и раньше могут предложить переход на полную ставку в штат).
Любой, кого берем сначала будет джуном. Я туда пришел в 52, с опытом 25+ лет и как минимум одним очень крупным проектом, поднятым с абсолютного нуля, за спиной (не считая еще нескольких проектов поменьше). И при этом первые полгода был джуном.
Просто скорость роста для людей с опытом разработки будет выше чем без него.
Т.е. можно предположить что там, где нужно не отсеять как можно больше малолетних долбо, но нанять человека и закрыть позицию, все делается "как надо"
Я далеко не молодой дядька, работу ищу исключительно в рамках своего опыта, но когда я в последний раз ходил по собеседованиям, то мне пришлось с ноября по апрель потратить, чтобы найти компанию, которая хочет "нанять человека и закрыть позицию", а не сношать мне мозг.
Но это половина беды, больше всего меня удивило количество невменяемых работодателей, которые хотят нанять разраба с опытом на зарплату школьника без опыта. Неоднократно сталкивался с компаниями, где эйчары пытались закрыть свой KPI, нагоняя людей на собеседования, не предлагая даже какой-то конкретной вакансии, соответствующей моему стеку.
В ИТ после 40 всё становится очень сложным при найме. Кто-то считает оверквалифайд, кто-то слишком старым, кому-то кажется что будут конфликты с модно-молодежным тимлидом, кто-то считает что старую собаку новым трюкам не обучишь и в этом есть свой резон.. проходил не по одному разу.
Пока спасает желание и опыт умения учиться чему-то новому. Каждое новое место работы - по сути свой стек инструментов, технологий языков даже ..
Сию вот нашел время таки залезть по уши в компилятор го, точнее даже в его эскейп- анализ.. вот, теперь размышляю: может склонировать какую ветку да побаловаться шаловливыми ручками старого лисапедиста, в пальцах которых сидит полное понимание фразы "стоимость машинной команды", ещё со времён Минск-222М и 15всм-5..
В ИТ после 40 всё становится очень сложным при найме
Что вы такое пишете, вот тут https://habr.com/ru/news/785570/ в комментах имеют совсем иное мнение, рассказывают сказочные истории, как они будут с удовольствием работать и развиваться до 100лет, как все их знакомые без проблем находят работу в 60лет и т.д.. Люто сливают карму любому возражающему и продвигают свое мнение как единственно верное.
Подобную клоунаду всегда так ржачно наблюдать на хабре, когда кучка ботов способна заткнуть всем рот и все покорно пишут то, что одобрено.
теперь размышляю: может склонировать какую ветку да побаловаться шаловливыми ручками
Вам еще не надоело тратить свое время на сомнительное хобби, которое хранится кучкой цифрового мусора в дальнем углу жесткого диска? Или вы с той целью, чтобы потом отвечать на вопросы потенциального собеседователя, который спрашивает о тонкостях работы компилляторов?
В 50лет я хочу просто работать, за деньги, а не вот эту всю дрочку организма вместо отдыха, чтобы доказать какому-то очередному клоуну, что я достоин работы в их гнилой конторе с костыльным проектом.
Вам еще не надоело тратить свое время на сомнительное хобби, которое хранится кучкой цифрового мусора в дальнем углу жесткого диска?
Какой интересный тезис))
А что "не сомнительно"? Танчики клеить? Перфоратором пытаться аннигилировать стену с соседями? Затеять "банный долгострой"? Попытаться собрать все выпущенные в мире воблеры?
Вся суть хобби в процессе, а не в результате ;)
Если занятие приносит человеку удовольствие, то в чём проблема? Плюсом - действительно держит мозги в тонусе, вполне себе профилактика деменции))
Не знаю как там у вас или других, а в ИТ пришел на первом курсе НГУ ещё. И хорошо помню то, первое ощущение по сию: "вот оно, то самое, чем буду заниматься оставшуюся жизнь". Низкий поклон Ершову за вхождение и обучение на первом этапе.
Это моя работа, мое хобби, увлечение, может и пафоснее - предназначение.
А деньги что платят .. просто бонус, признание, примерно как оценка в школе..
Ваши пассажи увы, мимо кассы. Совсем.
В ваших словах один сплошной пафос. В чем смысл всю жизнь заниматься чем-то одним? Это как гречкой питаться всю свою жизнь и игнорировать другую еду.
Лично я не сторонник таких хобби, где нужно выполнять сизифов труд. Для меня результат приносит значительно большее удовлетворение, чем процесс. Обычно это опыт в какой-то новой для себя сфере, а не продолжение рутины, которой занимаешься каждый день на работе. Иногда я просто хочу отдыхать, в бане, на природе, в кино, а не превращаться в биоробота, который ишачит на дядю за идею.
Для меня результат приносит значительно большее удовлетворение, чем процесс
Иногда я просто хочу отдыхать, в бане, на природе, в кино
Каков для вас результат от отдыха в бане или на природе?
ишачит на дядю за идею
Вы не правильно поняли. Для человека сам процесс нравится. Как для вас отдых на природе. И идея тут не при чем.
Мне вот тоже нравится разработка. Естественно, не джейсончики между микросервисами гонять (слава богу, такого у меня нет, а если и предложат даже за х2 от того что сейчас имею - откажусь на 146%), но решать "задачки со звездочкой" (чего у меня лично сплошь и рядом). Вот кому-то шарады-головоломки нравятся, а мне вот это вот.
А когда внезапно за это еще и неплохо платят и периодически за ушком почесывают (это так, неожиданно, сверх регулярных бонусов, ну и сумма такая приятно-ощутимая):
Вам сегодня должна прийти премия за особый вклад в развитие и оптимизацию в части оптимизации процедур и проверок [...]
Ценим ваши усилия в этом и других направлениях вашей работы, неравнодушное отношение и подход!
Спасибо!
то вообще отлично.
Оптимизация, к слову, нетривиальная была - пришлось ум наморщить.
Бывают задачки где приходится разбираться "а как это вообще там внутри работает" (речь не о фреймворках и библиотеках, естественно, а о каких-то системных потрохах с которыми нужно реализовать надежную, удобную и предельно эффективную работу).
Речь об этом. А не о том, чтобы "страдать ради всеобщего блага и за светлое будущее".
Спасибки, опередили. Ну .. с джейсончиками тоже приходится повозится порой. Вот из вчерашнего:
После беглого ковыряния в эскейп-анализаторе Го, примерно стало понятно как заставить его меньше выбрасывать в кучу и лучше инлайнить разное.. тот самый логгер из моей единственной статьи - упс. Рост производительности на 30%. Мелочь, а приятно. В рекомендациях Убера (много где странслированы как феншуй к разработчикам) много чего есть, но .. не всё, не всё.. ;)
Вывод в stdout .. казалось бы. А вот .. долго не мог понять откуда тупизм и, как оказалось, добавление лишнего перевода строки в сообщение замедляет вывод логера почти на 50% .. в два (Карл!) раза.. упс.
Бенчмарки на го .. ой .. то ли статью забабахать (жаль пишу плохо) .. "ноль аллокаций" - да щазз протяжно. "наш логгер быстрее стандартного в хренелиард раз" .. ага-ога.. включите вывод файла и строчки и/или название функции откуда вызвано, добавьте время к сообщению, да попробуйте вывести в тот же stdout .. становится куда как веселее. А выводить в NULL оно да, шустро. ;)
Кстати, походу эскейп-анализатор принимает пессимистические решения по причине упрощенного отслеживания датафлоу в вызовах. По идее не так уж сложно и поправить. Но .. по большому счету надо дополнять язык чем-то, что может упростить жизнь оптимизатору.
Извините, но уж как умею. Впрочем, тут за меня ответили вполне грамотно. Разве что дополнить ещё одним приятным моментом: когда сделал дело и ушел в другое место, а лет так через 10 встречаешь коллегу совершенно случайно на улице, а он тебе: -"Помнишь, ты делал .. в 1986-м? Твоя программа проработала у нас до 2001 года и умерла вместе с последним экземпляром машинок. Не, ничего не переделывали, не добавляли .. а зачем, оно же работало штатно".
У меня таких - несколько историй.
Ага, было как-то...
Году в 91-м был эпизод - контора, где тогда работал, купила пару алфавитно-цифровых табло. Но купили "срук" без документации. Только дискета с демонстрационной программой.
Короче, мне была поставлена задача написать для них софт управляющий. Пришлось заниматься реинжинирингом и "колоть" демопрграммку на предмет протокола.
Ну сделал, все заработало. Потому уволился оттуда. А лет через 5 уже, в фидо, обрашается парень - ты для табло писал программу? Ну я. А исходники не сохранились - протокол посмотреть?
Не помню уж, то ли исходники нашел, то ли просто протокол рассказал на словах... Но вот такое было
У чела призвание и любимое дело, которым он занимается уже больше половины жизни. А у тебя просто работа. Вот и вся разница. Знаю я много таких. Они когда на пенсию выходят, им интересно в огородике цветочками заниматься а работа чисто формальная. Это не плохо и не хорошо. Просто разница между призванием и чисто формальной работой.
после 40 всё становится очень сложным при найме
Вне ИТ области думаю еще сложнее все. В финансах всевозможных впечатление что возраст как-раз в плюс идет.
Я далеко не молодой дядька, работу ищу исключительно в рамках своего опыта
Я занимался этим в 52 года. И достаточно быстро понял что "в рамках своего опыта" я буду искать работу до морковкиного заговения. Посему, когда предложили (сами вышли на меня и позвали на собес) работу в банке - пошел. Хотя изначально эту сферу вообще не рассматривал для себя.
Да, пришлось "переквалифицироваться". Но обнаружил, что опыт разработки (общие подходы и понимание общих принципов) везде примерно одинаковые. И что опыт разработки многопоточных и распределенных систем, который накопился в разработке микроядра системы мониторинга инженерного оборудования зданий на одном языке и одной платформе, вполне себе может быть применен в разработке систем параллельной обработки больших объемов данных в банке, на совершенно другой платформе и другом языке. Не 1:1, но общих принципов, приемов и подходов достаточно много. Ну и просто умение писать быстрый, "прозрачный" и эффективный код от языка и платформы не зависит.
Ну в вашем банке это видимо обычное дело, лет 5-6 назад они меня приглашали на собеседование, на должность С++ разраба, найдя резюме. Я уж не знаю, то ли там реально такие спецы работают, которые с нуля учат плюсы, то ли вашей эйчарше не хватало соискателей для выполнения своего KPI, уточнять не стал, отказался.
Мне другое странно, зачем звонить с подобными предложениями человеку, который имеет не такой уж редкий стек и опыт, и уж тем более не готов пойти за зарплату джуна, которая чуть выше кассира в пятерочке. С тех пор я даже не пытался открывать резюме в Екб, дикость сыплющихся на него предложений переходит все границы разумного.
Автору стоит почитать про Индию подробнее, может оказаться что там, как и в РФ, не все ходят "в ямку на улице" и греются мыслями о величии. ИТ там отнюдь не такое отсталое как вы пытаетесь это показать. Даже опустим за скобки что вы скорее всего смешали в одну кучу с Индией Пакистан, Сирию, Турцию и Иран :)
Просто выглядит это в тексте максимально незрело.
пробыл в Индии месяц в 2018, так как хороший друг с универа индус. ну не сказал бы что у них там дигитализация повсеместная XD покрытие 3g было неплохое, на этом все. друг работал кстате на unilever пару лет, хотя сам инженер мехатроник. сам по работе постоянно сталкиваюсь с "инженерами" из unilever, accenture, cognizant итд. ну не могу сказать о высоком уровне компетенции этих ребят. они же набирают всех подряд из технических универов, кто хотя бы имеет в дипломе слова B.Sc или B.Eng. за последний год с учетом >100k увольнений в США и так как большая часть там индусы которые в айти посильнее шарят и многие возможно вернулись или вернутся, то да сейчас возможно ситуация будет улучшаться, но это все равно не мгновенно будет происходить. ну и да, по сравнению с Индией, Пак Сирия Турция и Иран вообще дно :D
Нашёл кое-что про Индию
1) Почему словосочетание «ИТ-нация» особо популярно в бедных странах третьего мира вроде Беларуси и Украины?
2) Почему мировые лидеры — США и Европа — не делают ставок на IT-nation?
3) Почему во всем мире только одна Кремниевая Долина?
4) Почему Индия, будучи ближе всех к идее «ИТ-нации» имеет ВВП на душу населения в $1.5К, а, например, не-айти-страна Испания — $30К?
5) Почему в Индии так много разработчиков? Ответ на этот вопрос нашелся на Quora:Слабое производство: Если посмотреть на Индию крупным планом и сравнить с другими странами, то окажется, что в Индии почти нет конкурентного производства. Конечно, в этом вопросе есть подвижки, но это очень длительный процесс и он едва ли заметен.
Большое количество инженеров: Хотя в Индии и нет толком производства, многие родители отдают своих детей учиться на инженеров и врачей.
Большое количество учебных заведений: Пожалуй, единственное налаженное производство, которое есть таки в Индии — производство студентов. Индийские родители выбрасывают огромные суммы денег на обучение своих детей. Поэтому по всей Индии можно встретить огромное количество разнообразнейших учебных заведений.
Нехватка инженеров / ученых на Западе: Уже пару десятилетий как инженерия и наука не очень популярны на Западе. Поэтому местным компаниям приходится искать специалистов в других странах.
Замените "Индия" на необъятную и смысл сохранится. Так с чего бы автору демонстрировать такое высокомерие? Напомню, что за границами дефолт-сити все еще полно людей использует уличный туалет и ведро, говоря образами автора.
Вы видимо с индийцами ИРЛ не сталкивались. Вроде бы, технологически сортир в деревне близок к ним, но культур-мультур различие при этом имеется, и западного человека (и русских я в этом плане отношу именно туда) оно шокирует. Грубо говоря туалет в российской деревне - это будка из досок, у будки есть дверь, а дверь запирается на шпингалет.
Туалет в индийской деревне - это не будка, и двери там нет. И вот эта разница и шокирует, что люди какают как собаки. Причем не в исключительных случаях - а вообще, в целом.
Я понимаю, что для многих авторов подобных статей это первый серьезный кризис, но вы столкнулись с небольшими трудностями и уже встали в позу "лапки вверх, мы сдаемся". Посмотрите на своих коллег 50+ возраста и постарайтесь понять, как они прошли и бум доткомов и кризисы 2008 и 2014 годов (при этом остались в профессии), вместо написания очередной статьи "все пропало".
Если пройтись по содержимому, то вызывает удивление, как бекенд разработчик не знает что такое вакуум в постгре и не слышал даже краем уха про ULID. ИМХО вы просто расслабились на волне оголтелого найма прошлых лет, когда знание синтаксиса языка уже позволяло найти работу.
На проектах ниже среднего вакуум приходится делать очень редко. ULID тоже скорее всего не понадобится.
Поэтому могу и не знать.
И изучаются эти инструменты достаточно быстро опытными разработчиками.
Вакуум - дело больше для DBA, а вот ULID неплохо было бы знать.
За 10+ лет даже не слышал ни разу про этот ULID, хотя про vacuum знаю
Аналогично не слышал, сейчас почитал.... примерил на все свои прошлые проекты, вдруг бы где-то этот ULID пригодился сильно. Нет, нигде. Хорошо, что раньше я о нем не слышал - меньше мусора в голове. Потребовался бы - я бы нагуглил или в тостере, stackoverflow спросил.
У нас применяется его аналог (uuid_v7), и довольно широко.
Кратенько:
если у вас есть uuid, то он (ниже 7) не очень сортируемый по дате создания ключа, и нужно поле created_at
если у вас INT AI, то тоже нужно поле created_at
Вот, коротко и понятно :-) Нужно ли знать uuid_v7 глубже этого коммента? Прочитаешь полную спецификацию, напишешь несколько программок с ним, посмотришь, как он реализован внутри, напишешь свою версию uuid_v7 и через 5 лет (когда все подзабыл) будешь на том же уровне, как человек, который прочитал этот коммент, вспомнил, что есть какой-то хитрый uuid, который сортируется по времени, загуглил, и вот через полчаса знания у обоих одинаковые.
Прочитал про VACUUM (не работаю с postgres), так вот в бытность работы с MS SQL как разработчику очень часто приходилось работать с аналогичными вещами, типа обновлением индексов, поскольку вопросы производительности от клиентов валятся на программистов.
чем это лучше uuid_v7?
Делал вакуум еще в 2003м году. Размер проекта не показатель.
Имхо тяжело работать с постгрессом и не знать о нем.
(при этом остались в профессии)
Классическая ошибка выжившего. Они остались, а много тех кого смыло и они теперь не коллеги 50+.
Именно. Остались те, кто успел дойти до определённой ступени и на ней усидеть. Всех, кто ниже, попросту отсекло
мне кажется, что термин "отсекло" чрезмерно мрачный для множества техспецов, с возрастом успешно пересевших в административные кресла всё того же самого ИТ
Пирамида смерти выживших айтишников - я тоже в ней и делится впечатлениями нет желания - даже после "пива". Псевдо техно круговерть - уже давно не смешна. Что говорить - все операционки - это окаменелости динозавров. На техно марс мы так и не полетели и сады там не расцвели. Помню пролог и аду в начале 80х - и веру в великий прорыв . Прошло 40 лет - хехе и хаха- не то слово каким будущее IT оказалось.
Посмотрите на своих коллег 50+ возраста и постарайтесь понять, как они прошли и бум доткомов и кризисы 2008 и 2014 годов
Коллеги этого возраста заходили в IT в 90-х. И 08-14-е гг ими были просто не замечены как "что-то особенное".
А в 90-е особо писать было некуда. Да и некогда.
как бекенд разработчик не знает что такое вакуум в постгре и не слышал даже краем уха про ULID
Ну я вот не слышал... Видимо, не настоящий бэкенд :-) Много чего другого слышал, а вот этого не слышал. Стек другой.
Согласен, тоже не слышал про ULID, ну вот сейчас прочел, понял. Но если не буду применять - через год уже забуду, и вряд ли вспомню что это надо подучить к собеседованию. Мне кажется знание подобных вещей не показывают реальные способности человека.
Скорее всего у автора собес был на проект, где шарят в постгре и вообще в перфомансе БД. Платят в таких местах хорошо. Но они не особо хотят платить чуваку, который не в теме и непонятно, разберется ли. Ну а автор сам в ситуации не разобрался и выставляет интервьюеров неадекватами. Но всей правды мы не узнаем.
Ну если это непосредственно относится к стеку заявленному на собеседовании - тогда согласен, спросить можно.
Скорее всего у автора собес был на проект, где шарят в постгре и вообще в перфомансе БД
Далеко нет. Это была просто букмекерская контора, лол. Не какой-то там огромный финтех. Как выяснилось, они всё это спрашивали, потому что понаписали лабуды и упёрлись в производительность, задудосили базу запросами или типа того. В итоге часть собеседования буквально строилась на том, чтоони искали разраба, который в карьере сталкивался с теми же техническими траблами, что и они сами
Я подобный подход к найму считаю идиотским. Если собрать всех на свете разработчиков и спросить, по каким причинам у них грохнулась система, а потом собрать всё сказанное в кучу, то там будет миллиард самых разнообразных вариантов, вплоть до того, что кот запрыгнул на клаву и сделал форс-пуш в мастер, который потом подхватил автодеплой. Я помню, какой-то чел писал, как очень долго дебажил какой-то goroutine leak, который возник из-за какого-то минорного обновления. Но вместо того, чтобы, пофиксив, забить и выкурить косяк, он пошёл в интернет и долго смотрел changelog'и, чтобы понять, какая ж именно версия всё загубила и почему
Что касается ULID и пр., то я потом с этим вопросом подходил, как уже упомянуто в статье, к разрабу из крупнейшего мирового банка, затем ещё к нескольким людям, в том числе сеньорного уровня. Никто не знал, что это такое. Но чел там вообще гонял меня по самым разным малоизвестным паттернам и прочей фигне. То ли он просто фанатик, который тащит в проект всё, что он может найти в статьях индусов с Medium и что кажется ему клёвеньким, то ли это какой-то запущенный случай CV driven developer'a
они искали разраба, который в карьере сталкивался с теми же техническими траблами, что и они сами
Но при этом вы же пишете
Основная претензия людей состоит в том, что на собеседования спрашивают вещи, которые не относятся к реальной работе
То есть спрашивают абстрактно - плохо. Спрашивают конкретно по потребности - тоже плохо.
то я потом с этим вопросом подходил, как уже упомянуто в статье, к разрабу из крупнейшего мирового банка
Как бывший разработчик крупнейшего российского банка скажу, что размер банка слабо коррелирует со скиллом разработчиков. Nothing personal, само собой.
Но чел там вообще гонял меня по самым разным малоизвестным паттернам и прочей фигне
Кому и кобыла - невеста. Кому и pubsub - малоизвестный паттерн. Опять же nothing personal, просто пример. В целом по описанию это все же не похоже на клоунский собес. Пацаны решают свои проблемы, ищут разраба со 100% матчем по стеку - их право.
Я гоняю по таким вопросам чтобы понять кругозор человека. Ваш знакомый в банке - вообще не показатель.
Нужно понимать что git flow может задержать ваши деплои на неопределённый срок, vacuum не во время даст таймаут на косарь запросов, а по autoincrement ID можно достать косвенную конфиденциальную информацию перебором. И выход тут GUIDv7 / ULID / TYPEID, где каждый со своими недостатками.
Если не знать такие вещи, то на уровень сеньор-помидора бекенд / фуллстек - претендовать нельзя (можно там, где всем пофиг на качество, но это будет не global level title, а внутри этой богодельни).
А про литкод и алго-дрочево - согласен. Будто травма детства, а теперь отыгрываются)
Если не знать такие вещи, то на уровень сеньор-помидора бекенд / фуллстек - претендовать нельзя (можно там, где всем пофиг на качество, но это будет не global level title, а внутри этой богодельни).
А что, есть какой-то международный документ/стандарт, в котором прописано, кто такие есть джун, миддл, сениор? Прямо как разряды сварщиков? Спросите об этом N человек, и получите N разных мнений, иногда противоречащих друг другу
![](https://habrastorage.org/getpro/habr/upload_files/be0/254/a53/be0254a53ce85352e7c3507d131c2785.png)
Я не слышал про стандарты, просто выражаю своё мнение по требованиям к себе и своим коллегам.
Вообще-то они есть, ну.. были во всяком случае: программист 3, 2, 1 категорий, старший, ведущий.. все они в моей трудовой не по одному разу..
Это просто штатное расписание.
Я пришел сразу на должность ведущего разработчика (наши градации - разработчик; старший разработчик; ведущий разработчик; главный разработчик), хотя по уровню "здесь и сейчас" был фактически джуном (в данной конкретной области на данном конкретном стеке).
Сейчас - "консультант направления по разработке". Потому что в "архитекторы направления" не захотел (там слишком много разговоров и согласований, на разработку уже времени не остается), а должности "самый главный разработчик" тут нет, но руководство вот прям захотело повысить еще выше главного. И вот кто я теперь? Суперсеньорпомидор?
Все эти лычки условны. По мне так хоть клизмой обзовите, только в ..пу не суйте. Важно с кем работаешь и чем занимаешься. Ну и как твой труд оценивают. А уж как называться дело вообще тридесятое.
Да это понятно. Чел спросил за "стандарты", ответил то что было в трудовой по должностям во времена СССР: переход, особенно в позднем и пост- происходил через аттестации, а не просто "кому-то там, что-то зачесалось где-то".
Когда вернулся в НГУ, достаточно быстро стал "ведущим" .. позже (бюджет мал, своих много) трижды пытались понизить на аттестациях до хотя-бы старшего, безуспешно. А это - "гос", там от категории сильно зависел .. множитель к зряплате. К-т или 8 или 13, что называется "ощутите разницу". :)
Цифры может и иные, точных давно уже не помню..
В коммерческих конторах, где есть штатное расписание, все проще. Для каждой должности есть вилка по з/п. Если сотрудника хотят поощрить - поднимают з/п. Уперлись в потолок вилки для должности - поднимают должность (иногда плюсом новая должность - более высокий грейд - больше всяких дополнительных плюшек).
Ну или поднятие должности может быть связано с изменением должностных обязанностей. У нас, в частности, это происходит когда разработчик переходит в архитекторы (главный разработчик -> архитектор направления).
Традиционный цеховой/гильдейский подход. На самом деле, не самый плохой вариант. Таксзть, грейды по аджайлу)
Нужно понимать что git flow может задержать ваши деплои на неопределённый срок,
нужно понимать что мозг работает по принципу раздражения. есть проблема - мозг ее решает. когда ты решал проблему деплоев пару лет назад, то не вспомнишь разницу git flow от других, если ты конечно на ночь каждый день не повторяешь это аки отче наш.
а по autoincrement ID можно достать косвенную конфиденциальную информацию перебором.
можно, но не всегда она торчит наружу. а если торчит, то может закрыться ролями и доступами. если уж нет, тогда можно и про uuid подумать. любой технологии нужно обоснование ее применения.
Если не знать такие вещи, то на уровень сеньор-помидора бекенд / фуллстек - претендовать нельзя
а можно весь список, пожалуйста, чего можно а чего нельзя? или он где-то есть а мы не знаем?
Настоящий сеньор-помидор долден уметь сформулировать принцип подстановки Лисков не в терминах классов, объектов и наследования из ООП, а в терминах гомотопической теории типов ))
можно, но не всегда она торчит наружу. а если торчит, то может закрыться ролями и доступами. если уж нет, тогда можно и про uuid подумать. любой технологии нужно обоснование ее применения.
Косвенную конфиденциальную информацию не закрыть доступами, на то она и косвенная.
нужно понимать что мозг работает по принципу раздражения. есть проблема - мозг ее решает. когда ты решал проблему деплоев пару лет назад, то не вспомнишь разницу git flow от других, если ты конечно на ночь каждый день не повторяешь это аки отче наш.
Я не про мозг, а про профессионализм, зачем решать задачу, если можно сделать так, что задачи не будет.
а можно весь список, пожалуйста, чего можно а чего нельзя? или он где-то есть а мы не знаем?
Не буду вам мозг раздражать)
Ну вот мне стукнуло 50 и как-то перестали звать на собесы, я бы и рад работать , так не берут. Какой кризис, у меня вроде нет, тогда у кого, как остаться в профессии если тебя в нее уже не берут.
Я тут ниже коммент написал. Если Вы достаточно рискованны и авантюрны - попробуйте.
В наших краях не принято указывать возраст в резюме и крайне рекомендуется этого не делать по ряду связанных с законами причин.
Так Hr все равно спросит сколько вам лет, пиши не пиши.
Опять же, в наших краях (а это примерно половина земного шара от РФ) такие вопросы задавать незаконно. HR может увидеть, услышать возраст и сделать выводы, но вопросы про возраст задавать на интервью не будет.
А вот на хахантере обязательно надо указывать годы учёбы в ВУЗе. Из которых легко вычисляется возраст, по крайней мере его нижняя граница. Не указать нельзя. Остаётся врать? Но тогда получится что ты наврал будущему работодателю, что тоже как бы плохо.
Посмотрите на своих коллег 50+ возраста и постарайтесь понять, как они прошли и бум доткомов и кризисы 2008 и 2014 годов
Дот комы не застал, кризисы 2008 и 2014 прошли с улучшениями по зп, развитию и интересным проектам. Благодаря смелым для меня и на тот момент идеям (удаленка на мск / зарубеж). В новом кризисе 2022 пока подобных идей нет.
А куда они деваются? В менеджеры уходят?
Т.е. программисты как героинщики - умирают молодыми?
Я кстати работал на нескольких европейских проектах, и там процент возрастных сотрудников (40+) значительно выше, возможно наш рынок все еще идет с лагом в 7-10 лет
Кто-то когда-то приводил сравнение со спортсменами и проститутками. (¬‿¬ ) Я думаю, основная причина этого в том, что раз в ~5 лет происходит обновление стэков технологий, знания кардинально устаревают, приходится переучиваться. Айтишник с опытом в 20 лет - это совсем не то же самое, что и врач с таким же стажем. У такого разраба большая часть опыта - это просто мёртвый груз с каких-то там бородатых времён, который теперь будет интересен только каким-нибудь data hoarder'ам. Flash, J2ME, Java EE, Perl - кому-то сейчас будет интересен человек, заставший это? И вот в условном пятилетнем цикле у HR'a стоит выбор между молодым и старым соискателем, знающими один и тот же актуальный стэк. Итог немного предсказуем
Ну и второстепенные причины: возрасте 45+ вряд ли так сильно будет интересно в пятисотый раз штудировать все эти стэки, апишки, либы, фрэймворки и прочее. Да и кранчить над "интересными проектами" тоже не интересно
Ну как знать, довелось мне поработать однажды с дядькой 74 лет. Башка у него варила при его 50 летнем опыте разработки получше чем у многих 30 летних, он видел буквально всю историю IT с бородатых времен и смерть десятков, если не сотен технологий, всегда было очень интересно с ним обсудить любой инженерный вопрос. Легко входил в любые новые технологии с ноги, а бекграунд решения проблем такой, что объяснить мог все что угодно для собесов, от олимпиадных задач и ассемблера до того, как он контроллеры для ракет программировал и какие адовые баги тогда решались. Ну так вот, он уволился, вместе со многими, и уже через неделю работал на новом месте, с его же слов опять, никогда проблем с работой не имел. И я уверен, компании, которые ценят огромный опыт в сочетании с еще активным мозгом, будут драться за такого специалиста, я бы по крайней мере стал. И наоборот, там же доводилось работать с людьми, которые очень сильно просели в опыте разработки в виду того, что долго просидели на одном месте или просто пинали балду, а потом столкнулись с тем, что собеседования пройти не могут. В общем это больше от человека зависит, чем от возраста
Легко входил в любые новые технологии с ноги
Но зачем в них входить, если ты заранее видишь, как оно умрёт (относительно скоро)?
Мне в этом плане интереснее живые языки учить. Была бы возможность, выучил бы штук 20 =)
И наоборот, там же доводилось работать с людьми, которые очень сильно просели в опыте разработки в виду того, что долго просидели на одном месте
Они там не "просидели". Они там работали. Но современное айти - это не про работу. Это про прокачивание скилла в хайповых технологиях чтобы через годик-другой слинять куда-нить с повышением. А всё гавно за ними потом разгребают вот те самые которые "просидели", ога.
Это вы с врачами лихо загнули!
Не помню кто сказал что "сейчас примерно каждые 10 лет нам приходится выбрасывать на свалку все наши знания по устройству иммунной системы человека, и учить всё заново" А есть ещё онкология. Про дантистов я вообще молчу. Там чуть ли не ежегодно новые технологии появляются.
Ценность разработчика не в знании какого-то фреймворка - это как в той байке про столяра от которого требовали умение работать с ореховым деревом.
Ценность в понимании как надо, а больше даже как не надо делать в том или ином случае. В умении быстро понять суть задачи и быстро увидеть наиболее оптимальный путь ее решения. Человек без опыта сначала сделает, потом получит отлуп на нагрузочном тестировании и начнет переделывать. Человек с опытом сразу сделает как надо.
У меня есть предположение, что возрастные коллеги просто "растеклись" по рынку, потому что их количество в 90-х годах было в разы меньше, чем сейчас. Тогда отдел ИТ в банке мог состоять из 20-50 человек. Сейчас они насчитывают сотрудников тысячами
Знаю одного программиста 1С.
Самоучка, начал работать по специальности в 60 лет. Сейчас ему 70.
Мне 61, моему коллеге по прошлогоднему месту за 50, сию в соседней группе есть 55, но много и молодых.. нормально всё. Трудимся, ваяем, при необходимости присмотр нужен конечно, из рекомендации: -"хороший разраб, но нужен присмотр. Стоит только отвернуться и ваши импортированные библиотеки будут заменены самописным по". ;)
Большинство тех, с кем работал в 90-е, до сих пор работают по специальности. Десятки людей, всем по 50-70+ сейчас. Мне 60, полет нормальный. За последние 4 года пару раз менял место работы, особых проблем не было. Тимлид, разработчик, местами девопс.
Зависит от того, в какой сфере работаете. Если там, где все определяется знанием модных фреймворков - это одно. Если это система на специфической (и мегадорогой) платформе, ворочающая за сутки терабайты данных в десятках тысяч параллельно работающих процессов - это немного другое.
У нас вот возрастной состав очень пестрый. Есть и молодежь, но есть и люди под 60. Более того, среди "главных" и "архитекторов" практически все 40+ как минимум.
Хм, я за предыдущие 2 года нанял трёх программистов за 40. Самому старшему сейчас 48 уже. Хотя мне самому меньше 40.
Сейчас мне 41 и меня собеседуют мальчики младше меня.
Ну, может, в этом пренебрежении и загвоздка. Вам эго ущемляет, что вас собеседуют люди младше вас?
Сколько народа влилось в сферу за прошедшие 20 лет?
Каждые 5 лет кол-во программистов удваивается. Т.е. сейчас их в 16 раз больше, чем 20 лет назад. Если допустить, что из тех, кто был 20 лет назад, половина всё ещё программирует, то от общего кол-ва их будет примерно 3%
В каких вы конторах работали?
Про возраст сильно зависит от конторы. В каких-то "потогонках" спецом берут только молодняк. В других, высокотехнологичных, берут людей с опытом. Если контора клепает сайтики - там конечно нет высокого возраста. Если контора разрабатывает электронику - там обязательно будут водиться "зубры".
Я не знал, что такое вакуум в постгре, но оказывается это как например OPTIMIZE TABLE в MySQL. Так что это херовый вопрос для собеса.
До позавчера тоже не слышал, что в Постгрес есть вакуум.. с 2011 все на мускуле да мариях-дыбэ.. ;)
они прошли и бум доткомов и кризисы 2008 и 2014 годов
Я в 2008 ушел из из тестирования в разработку. По моим ощущениям в тот кризисный 2008 год в разработку на джуна брали всех, кто хоть как то может программировать, а в тестировщики тогда брали всех, кто изъявил желание.
В России не было никакого бума доткомов и кризисов 2014 года.
вы видимо не там жили
Очевидно, я жил в какой-то не той России. И Украине, очевидно, то же. В 2000 году рынок IT в этих странах был на уровне плинтуса.
ладно, не буду провоцировать.
Мы говорим о 2000 годе, когда процессы в РФ и Украине были примерно сходны.
Как сейчас помню сентябрь 2008 года.
Заходишь на hh.ru, а там на всю IT сферу открыта лишь 1 вакансия и то только потому, что её забыли скрыть. Все компании приостановили набор сотрудников "до прояснения ситуации".
Будем ныть или просто будем делать свою работу, по возможности хорошо?
П. С. Не обвиняю автора в нытье, просто вопрос в никуда.
То нас мало
То нас много
Определились бы уже
Есть замечательный термин – невидимая рука рынка. Логично, что у большинства ИТшников нет экономического бэкграунда и мало у кого просто есть интерес к базовым принципам экономики.
Так вот, как и эта статья, как и большинство других, со всеми этими стенаниями и "плачами Ярославны", что раньше вот в ИТ было хорошо, а сейчас плохо, как и тейки про "в ИТ не нельзя войти" (спойлер – на самом деле можно и нужно, особенно если к этому лежит душа), и про дичь на собеседованиях и тысячу откликов на одну позицию – это все и есть то самое саморегулирование рынка. Рынок вычищает из себя тех, кто не может (не хочет) адаптироваться и это нормальный и естественный процесс. Чем сильнее меняются условия вокруг рынка, тем более заметна реакция рынка на них.
С этого можно гореть, сокрушаться, но самое правильное – не обращать внимание и просто идти своим путем, Вы не в силах на это повлиять. И отдельный привет тем, кто считает, что можно заставить работать рынок по их правилам, поэтому обсуждают / предлагают / хотят как-то его дополнительно регулировать – требовать дипломы, заводить какие-то реестры, требовать находиться где-то в определенном месте и т.д.
Рынок вычищает из себя тех, кто не может (не хочет) адаптироваться
Адаптироваться к чему? К гонянию JSON'ов между базой и клиентом? К рисованию формочек с помощью модного фрэймворка? Рынок отфильтровывает не тех, кто не может адаптироваться, а просто тех, кто попадётся под горячую руку. Отбор-то искусственный полностью. А не естественный
Вы на ситуацию глобально посмотрите просто. Речь не в конкретных задачах, от фирмы к фирме они могут сильно отличаться, как и требования к кандидатам, собственно, как и размер вознаграждения. Если брать одну конкретную вакансию, то да – отбор искусственный. Из 200 откликов сто процентов можно найти хотя бы одного кандидата, который закроет потребности бизнеса после анбординга и дообучения, при этом не будет соответствовать требованиям к вакансии и процентов на 40. Потому что они [требования к кандидатам], в большинстве своем, избыточны, – и тут я с вами согласен. А если в общем посмотреть, как устроен весь этот рынок, как проходит найм, кто нанимает и куда, то это все происходит естественно, так как отвечает простым экономическим постулатам о спросе и предложении.
Адаптироваться к чему?
К реалиям текущим. 2-3 года назад брали джуном за желание быть разрабом, умение что-то простое написать и знание ООП. Сейчас от джуна хотят как от мидла тех же лет, при этом обязателен коммерческий опыт.
Это выкинет с рынка многих людей( как на вашем скриншоте из статьи). В странах с более крепкой экономикой люди могут уйти в другие сферы без сильного удара по уровню доходу, а у нас разница между менеджером, учителем, врачем и разработчикам слишком большая, что и подталкивает людей идти на курсы, обещающие им рост в доходе за полгода-год. В итоге это привело к огромной конкуренции на позиции начального уровня (параллельно из-за всех событий и спрос на них упал), часть из них станет (и уже стала) мидлами и будет давить на других мидлов и рынок. В итоге и зарплаты не будут расти (а могут и сократиться), и требованиям к мидлам будут становиться жестче - сроки, количество тасок, количество фреймворков. И бизнес, который платит эти деньги их не берет из неоткуда, все очень взаимосвязано.
Поэтому все в итоге вернется на круги своя – когда в индустрии останутся в большинстве свои только те, кто кто сюда приходил за интересом, а не только за деньгами. Спадут доходы, но все равно будет достаточно для просто комфортной жизни. И это нормальный процесс, цикличность. В итоге потом будет новый виток хайпа в ИТ. Может какой-то дотком 2.0, или нейросети 2.0, а может что-то новое и более перспективное появится. И тогда понадобятся десятки и сотни тысяч разрабов для всего этого, а вместе с ними дизайнеры, маркетологи, писатели, художники, продажники – да все будут нужны, и будут закидывать деньгами, ибо бизнес может переплатить на разработке n-ое количество денег, когда уверен в оправданности выхода продукта и хочет как можно быстрее выйти на рынок.
Поэтому все в итоге вернется на круги своя – когда в индустрии останутся в большинстве свои только те, кто кто сюда приходил за интересом, а не только за деньгами
Останутся те, кто смог высоко пристроиться раньше остальных. А интерес - ну, это временное явление. Вчера тебе было интересно, сегодня ты просто отрабатываешь ЗП
Спадут доходы, но все равно будет достаточно для просто комфортной жизни.
Наверно, в это просто очень хочется верить что останется "достаточно". Я не вижу сегодня проблем платить сеньйору скажем 100К в МСК. А куда он денется? В сварщики пойдёт? В курьеры? Ну, кто-то плюнет и пойдёт. А остальная масса всё равно останется, т.к. нигде за пределами айти себя не видит и ничего другого не умеет. Все инженерные специальности так и живут, почему вдруг айтишники какие-то особенные?
От разработчиков (вместе со всей остальной командой) слишком высок мультипликативный эффект, довольно маленькая стоимость реализации и небольшие сроки.
Сравните с архитекторами и проектировщиками в строительстве. У них мультипликативный эффект сильно выше (пять человек спроектировали то, что потом будут строить тысячи, а использовать миллионы), но стоимость реализации (строительство) и сроки - выше на порядки.
Если на рынок выкинуть кучу "никому ненужных инженеров", то их будут подхватывать в тех сферах, где физически себе такого позволить не могли. И именно эти сферы станут "подпоркой снизу", которые не дадут зарплатам совсем уж скатиться к нулю.
Ну и самое важное - разработчики сейчас это оптимизация бизнес-процессов (в том числе и удешевление) - если бизнесу будет не до этого, то значит дела у бизнеса идут очень плохо и он думает только о выживании. Если это будет иметь совсем массовый характер, то проблемы будут сразу во всех сферах, очень крупные проблемы.
Сравните с архитекторами и проектировщиками в строительстве. У них мультипликативный эффект сильно выше (пять человек спроектировали то, что потом будут строить тысячи, а использовать миллионы), но стоимость реализации (строительство) и сроки - выше на порядки.
Ответственность сравнит не хотите?
Или архитекторы тоже могут в сопроводиловке написать "Ни за что не отвечаем. Строите на свой страх и риск. Мы старались всё проверить, но может рухнуть. Никакие иски по причине гибели под обломками здания или по причине любого другого нанесённого ущерба не могут быть поданы."? Или не могут?
Например переедет туда где платят больше?
Например переедет туда где платят больше?
Во-первых "переехать" это не на рыбалку с ночевой сгонять. Очень немногие способны этот процесс вывезти. Во-вторых, а куда? Везде в мире протекают те же процессы. Сейчас в Штатах и за 100К и в хвост и в гриву отымеют. Местных, граждан. А что такое 100К для Штатов? Ни о чём.
ровно ж наоборот) кто не смог освоить новый фреймворк / подход - тот и ушел. Полная аналогия с тем что для каких-то животных из-за наводнения или иных катаклизмов изменилась территория обитания и кто-то к ней приспособился а кто-то нет.
А вы умеете JSON'ы-то гонять? Там разные задачи бывают. Или это Выше Ваших Высоких Принципов? Тогда не удивительно что без работы.
Отбор-то искусственный полностью. А не естественный
Отбор простой: кто-то работает а кто-то рефлексирует что работы нет.
О, я недавно увидел интересную цитату с таким же посылом
"ИТ и цифровизация в каком-то смысле всегда инвестиции, поэтому взлетает и падает вслед за рынком"
БОльшая часть работы ИТ - не создание совершенно нового, нет. Деньги ведь платят за продукты, решающие проблемы бизнеса - улучшающие их процессы. Если у бизнеса нет возможности инвестировать в самих себя, в свои процессы, выделяя на это деньги - значит они и не будут увеличивать собственный штат разработки или не будут покупать внешние продукты.
Если подумать, то в обратную сторону тоже работает - если везде говорят что новых разработчиков нигде не берут (сразу скажу что я утрирую - как минимум непонятен масштаб ошибок выживших как со стороны нанимающих, так и со стороны нанимаемых) - то можно сказать что экономика находится либо в упадке, у бизнеса нет свободных ресурсов или же риски перевешивают возможную выгоду
Вы пишите про саморегулирование отрасли по экономическим законам.
А мне это все больше напоминает ситуацию с аграрной революцией в древнем Иерихоне 12 тысяч лет назад. Жили были там древние племена. Охотились на дичь, собирали дикоросы, крабов и мидий. Работа у них была интересная, а пища вкусной и разнообразной. Но как на грех росла в тех краях полба. Росла в том региона она сама по себе, как сорняк. И заметили они, что если эту полбу посадить, а потом собрать, то получится много еды. А ещё через некоторое время они заметили, что если сажать не абы как, а предварительно поработать, вспахать землю, боронить и т.п. то получится не просто много, а очень-очень много еды. И вроде бы всё супер. Но прошло совсем немного лет и оказалось, что труд крестьянина очень тяжел, а кушает крестьянин все меньше и меньше, т.к. всю еду забирают либо разбойники, либо те, кто защищает от разбойников. А потом все стало ещё хуже - перенаселение, войны, эпидемии, освоение малопригодные для земледелия земель, очень тяжелый труд, социальная иерархия, лишение крестьян продуктов своего труда, а потом и просто рабство. А как вернуться к охоте и собирательству люди уже и позабыли и так и остались крестьянами вплоть до промышленной революции через 12 тысяч лет.
Вот такая вот саморегуляция и рыночная адаптация к новым условиям, понимаешь!
Охота, собирательство....Романтика. И полное отсутствие стабильности. Еда у них возможно и была " вкусной и разнообразной". Вот только не каждый день.
"труд крестьянина очень тяжел". Ага. А труд охотника - просто прогулка. Ничего делать не надо.
На полбу они перешли не от хорошей жизни. А чтобы кушать каждый день. С гарантией.
Перешли не от хорошей жизни, несомненно, но после перехода всё стало ещё хуже. И в айти сейчас происходит то-же самое. В конце 70х годов самые дальновидные открыли новую отрасль. Они обнаружили, что можно один раз написать программу, а потом продавать её копии много-много раз. Это оказалось очень выгодно. Кто то посчитал, что каждая строчка кода игры Space Invaders принесла почти 10000$ прибыли. Это абсолютный рекорд в истории по прибыли с одной строчки кода. У других программ показатели были конечно похуже, но тем не менее доходы были очень высокие. (Также как у самых первых земледельцев в истории были горы зерна и не очень тяжелый труд). А потом заработать деньги написанием программ становилось тяжелее и тяжелее. Высокая конкуренция, open source, все более низкий порог входа в отрасль сделали свое дело. Программистам пришлось работать по рабовладельческим практикам аджайла и скрама, чтобы повышать и повышать производительность труда. Но продать продукт труда все равно стало сложно. Т.к. софт продать стало слишком сложно, пришлось идти на всевозможные ухищрения, продавать не саму программу, а доп. услуги к ней, оказание всевозможного сервиса или рекламы, а самые ушлые зарабатывают не на написании кода, а на том, что "учат" других как писать код. И это ещё не конечная точка, с каждым годом всё становится хуже и хуже.
Тут надо понять, что значит "хуже"? Кушать каждый день - хуже? А так, чтобы со всех сторон было лучше - даже не знаю, наверно не бывает.
В конце 70х годов самые дальновидные открыли новую отрасль. Они обнаружили, что можно один раз написать программу, а потом продавать её копии много-много раз.
Серьёзно? Обнаружили? А как вам ваша фраза "Они обнаружили, что можно один раз написать программу записать музыку, а потом продавать её копии много-много раз. " в такой редакции?
И это я не про грампластинки даже, а про перфокарты для шарманок :)
зарабатывают не на написании кода, а на том, что "учат" других
Прямо классика:
Кто умеет работать - работает.
Не умеешь работать - учи других, как нужно работать.
Не умеешь учить - учи других, как нужно учить.
Не умеешь учить как нужно учить - руководи.
Не умеешь руководить - правь.
Охотники-собиратели работали примерно 4 часа в день. В отличие от крестьянина.
И еда была каждый день - кроме каких-то экстремальных событий.
А мне это все больше напоминает ситуацию с аграрной революцией в древнем Иерихоне 12 тысяч лет назад.
Все было совсем не так.
А как вернуться к охоте и собирательству люди уже и позабыли
Вот оно как.
Есть замечательный термин – невидимая рука рынка. Логично, что у большинства ИТшников нет экономического бэкграунда и мало у кого просто есть интерес к базовым принципам экономики.
Hidden text
![Когда прочитал 2 книги по экономике и посмотрел серию лекций на ютубе Когда прочитал 2 книги по экономике и посмотрел серию лекций на ютубе](https://habrastorage.org/getpro/habr/upload_files/2e6/a87/2ac/2e6a872ac1d7a191eb4593dc4d5b1c52.jpg)
И отдельный привет тем, кто считает, что можно заставить работать рынок по их правилам, поэтому обсуждают / предлагают / хотят как-то его дополнительно регулировать – требовать дипломы, заводить какие-то реестры, требовать находиться где-то в определенном месте и т.д.
Это буквально то, что есть у большинства инженерных специальностей, врачей и юристов в США
Это буквально то, что есть у большинства инженерных специальностей, врачей и юристов в США
Не только у юристов. Тут читал какого-то релоканта (не IT), так вот человек пишет что в США тем же электриком или водопроводчиком по найму на дядю - эт завсегда. Но особых денег там не будет. А чтобы денег было побольше, надо самому стать "дядей" (типа наших ИП и мелких предпринимателей), который на себя получает заказы от клиентов и нанимает работяг-исполнителей. И вот тут уже нужна лицензия. Которая дается только при наличии сертификата об окончании каких-либо курсов (условно). Которые (неожиданно :-) стоят денег.
С этого можно гореть, сокрушаться, но самое правильное – не обращать внимание и просто идти своим путем, Вы не в силах на это повлиять.
Какой странный комментарий. Слово "профсоюз" слышали? Сценаристы и актеры в США могут влиять на свой рынок труда и диктовать условия работодателям — а мегаинтеллектуальные айтишники должны продолжать оставаться тряпочками?
Этот ваш саморегулирующийся рынок - не более, чем абстракция, слабо бьющаяся с реальностью, и опыт 30 лет жизни при этом рынке это наглядно доказал.
Вы еще про "эффективных менеджеров" вспомните.
А количество всяких курсов, готовых помочь таким людям, свидетельствует, во-первых, о крайне высоком спросе на такое, во-вторых, о том, что ничего особого в IT-знаниях нет и освоить их можно довольно легко.
"Я пробовал программировать с помощью ИИ"...."У меня не получилось, поэтому ИИ говно."
Нет, просто не умеете готовить. Практически каждый день использую ChatGPT в работе. Я Senior, если что, не джун. Серьезно ускоряет работу. Ну и да, иногда бредит. Иногда бредит сильно. Траты времени чтобы отличить бред от рабочих решений минимальны.
Мне тут недавно один любитель нейронок доказывал, что нейронки уже могут решать джуновские задачи, и можно переложить на них ту работу, которую самому делать не хочется.
А у меня как раз лежала задача переноса прошивки одного контроллера под другой. Исходная написана для AVR с Arduino SDK, перенести надо на RP2040 и его родной Pico SDK. Всё высокоуровневое, никаких танцев с регистрами, две с половиной библиотеки. Беглый гуглеж показал, что библиотеки с аналогичными вызовами есть под обе платформы. Так что сделать порт один к одному - буквально задача для джуна.
Товарищ и так, и сяк крутил задачу, и максимум, что нейронка смогла сгенерить - это однофайловый околоэкзампл с рекомендацией "ну вот как-то так, остальное реализуется аналогично".
Вот когда оно научится понимать смысл написанного, тогда может и будет полезно.А пока что от нее больше галлюцинаций, чем пользы.
Я и сам недавно пробовал решить джуновскую задачу с написанием функции для транслитерации. Не справился. Всякие дополнительные условия из стандарта(типа замены Е на yo или ye в зависимости от предыдущего символа) отказывается генерировать сразу. А не сразу - проще самому написать.
Если вам нужен джун - надо нанимать джуна, а не ИИ использовать. ИИ это ассистент, а не джун.
У инструмента есть область применимости, вы эту область не понимаете. К слову, я тоже не сразу понял.
А с чего это вы взяли, что я ее не понимаю? Человек мне продавал нейронку, как джуна. Я ему дал джунскую задачу, с которой нейронка не справилась. Это демонстрация того, что нейронка - не джун, как бы многим того ни хотелось, а просто чуть более продвинутый автокомплит.
А с чего это вы взяли, что я ее не понимаю?
Так вы сами об этом говорите:
просто чуть более продвинутый автокомплит.
Если для вас это чуть более продвинутый автокомплит, значит пользоваться вы инструментом не умеете и для чего он нужен - не понимаете.
Генерация бойлерплейтов и дописывание шаблонных алгоритмов - это буквально продвинутый автокомплит. Не надо возводить инструмент в ранг какого-то культа, нечего там особо понимать.
Да я ж с вами не спорю. В ваших руках это продвинутый автокомплит.
Градус снобизма в ваших ответах просто зашкаливает :)
Почему-то часто те, кому нейронки подошли в силу специфики работы, считают, что раз они не подошли другим - то эти самые другие просто не умеют их готовить. Мысль, что нейронка не может справиться с чем-то нестандартным - отвергается как еретическая, а высказавший ее клеймится недалеким луддитом. Не надо так.
Я рад, что нейронка успешно помогает вам писать шаблонный код. Пользуйтесь на здоровье.
Ну так у вас нейронка не способна справится с чем-то нестандартным, но вы рассказываете что так у всех, и на самом деле все просто пишут с ей помощью шаблонный код. А сноб тут я. ROFL.
Ну транслитерация это та еще тема... Приходилось задачку по ней делать... Два разных стандарта, разные замены в зависимости от... Еще и регистр:
ЯКОВ - YAKOV
Яков - Yakov
Я. - Ya.
И там еще куча всяких... Т.е. надо не просто замену по таблице, но с анализом что было до и что будет после.
Проблема ИИ в том, что по сути оно ищет решение среди того, что уже когда-то где-то было. Просто охват очень большой. Но вот придумать то, чего еще никогда не было оно не в состоянии принципиально.
Про поиск это же не совсем так. Вы вполне можете придумать задачу и ГПТшка даст на неё ответ. Не найдет ответ(вы же сами придумали, где ей искать?), а именно даст.
Конечно, даст она ответ на основе данных которые у неё есть, но это же не поиск решения среди готовых.
Вот я сейчас простую математическую задачу задал, абсолютно из головы.
![](https://habrastorage.org/getpro/habr/upload_files/cd1/26a/8de/cd126a8de54b4b7d66972a348b6882ee.png)
Понятно что это простая математика. Но простая математика - это точно не "поиск того что уже было".
Подобных задач на систему линейных уравнений в задачниках по алгебре за 7 класс - сотни. На них и училась. Ответ вполне в духе задачников.
То есть если человеку задать такой вопрос - он не будет считать, а вспомнит ответ из задачника?
К слову, GPTшка то именно что считает, а не ищет ответ в случае математики. В некоторых моделях можно посмотреть код, который она генерирует чтобы посчитать.
Ответ - нет, а вот схему решения - да. Знаю некоторых людей, которые не смогут решить эту задачу, потому что забыли как её решать (а когда-то сдавали высшую математику на отлично).
Это именно простая математика (как уже сказано).
Попробуйте ее напрячь придумать химический источник тока, обладающий той же удельной емкостью (количество запасенной энергии на единицу массы), что и жидкое углеводородное топливо, не теряющий емкость в интервале температур хотя бы до -50-ти градусов и имеющий скорость возобновления запаса энергии сравнимый с жидким углеводородным топливом.
На правильном ответе можно будет очень неслабо денег поднять.
То есть тот факт что человек на этот вопрос не может дать ответ говорит о том, что человек не дает ответ, а просто "находит похожий в своей голове на основе ранее изученного"?
Я же не говорю, что ИИ сейчас на что-то особенно способен(во всяком случае не в моих руках), я говорю что это далеко не "просто похожий ответ"
Про куриные ноги спросите, хороший был вопрос. «Сколько ног у человека, который съел куриную ногу?»
![](https://habrastorage.org/getpro/habr/upload_files/bd4/536/958/bd45369588ec4ee0bfdc4223aaa7d042.png)
Даже offline модель OpenChat 3.5 не испытала проблем с этим вопросом:
![](https://habrastorage.org/getpro/habr/upload_files/fa3/c70/6d0/fa3c706d0013c8abfe83f17ef90d396c.png)
А какой ответ вы ожидали?
![](https://habrastorage.org/getpro/habr/upload_files/b0b/845/60d/b0b84560d7a60e285590b172344772a0.png)
![](https://habrastorage.org/getpro/habr/upload_files/a56/79a/be2/a5679abe20a08ef768ebdfe25cc814b7.png)
![](https://habrastorage.org/getpro/habr/upload_files/693/988/680/693988680aec16c35b263e329549042f.png)
Восхитительный инструмент ;) Это бот из телеграма. Разумеется, ответы будут зависеть от формулировки вопроса и обучающей выборки. Спросите что-то заковыристое - сеть поплывет.
Ну и мое любимое:
![](https://habrastorage.org/getpro/habr/upload_files/86f/3c1/272/86f3c12728b918cf638800041cdaf040.png)
Можете проверить на других версиях, если хотите. Может быть, свежие модели уже дообучили, но это отличная демонстрация того, что GPT это не ИИ. Это, блин, языковая модель, генерирующая текст по весовым связям.
На самом деле, в самолетах действительно есть стоп-кран, и он действительно обычно красного цвета (можете погуглить фото). GPT4 выдает вполне верный ответ:
Стоп-кран (также известный как "fire handle" или "engine fire handle") в самолете — это устройство, используемое для прекращения подачи топлива, гидравлической жидкости и пневматического давления в двигатель в случае пожара или другой аварийной ситуации. В большинстве коммерческих и военных самолетов стоп-краны обычно имеют красный цвет, чтобы их было легко идентифицировать в критических ситуациях. Красный цвет является универсальным сигналом опасности и требует немедленного внимания, что делает его идеальным выбором для таких важных устройств управления.
Технически это не стоп-кран. В общем, правильность ответа зависит от обучения. Дообучили, молодцы.
Технически это может быть что угодно, но некоторые производители так и писали "СТОП-КРАН". Так что ответ бота на самом деле абсолютно точен, вопросы могут быть только к производителям-людям (но и к ним вопросов нет - это кран для экстренной остановки двигателей, кратко как раз стоп-кран) либо к формулировке на уровне "а что вообще означает <стоп-кран>"?
Не может, стоп-кран - это вполне конкретная деталь устройства тормоза.
Нейронка выдала ответ, который ей попал в обучающую выборку. Она не объясняет, что это сленговое название. Точно так же как нейронка из моих ответов выше галлюцинировала про разноцветные стоп-краны, потому что в выборке не было про самолеты, а было про поезда.
Мой посыл был в том, что нейронка - это не надежный инструмент. Она просто генерирует ассоциированный текст, который может быть как правильным, так и выдуманным, и не иметь ничего общего с реальностью. Независимо от версии, это все еще GPT.
Не может, стоп-кран - это вполне конкретная деталь устройства тормоза
На поезде. С чего вы взяли, что это название на самолёте должно обозначать тоже самое?
Она не объясняет
А она должна объяснять? Вы просили?
Я смотрю, до некоторых всё никак не доходит. Хорошо, я объясню еще раз.
Когда человек спрашивает про стоп-кран самолета, он либо задает пространный вопрос, потому что не знает этого, либо намеренно провокационный. В массовом сознании стоп-кран является именно деталью тормоза, это привычный стереотип, укоренившийся с детства. Поэтому в первом случае имеется в виду именно он.
Если бы на вопрос отвечал человек, то он бы объяснил разницу между стоп-кранами, и почему в самолете его принципиально быть не может в стереотипном смысле.
Что касается того, должна или не должна. Тут я еще раз повторю свой главный аргумент: нейросеть не понимает смысла, это просто генератор связанного текста. Она не осознает вопрос. Если вы плохо формулируете вопрос, или не знаете, как правильно его задать, то рискуете получить неправильный ответ, но нейронка вам об этом не скажет. Человек же поймет, что вопрос сам по себе какой-то странный, и вместо неправильного ответа задаст вам сам уточняющие вопросы.
Поэтому нейронка - это автокомплит, а не справочная система. То, что она сейчас выдала правильный ответ, совершенно не гарантирует, что ответы будут правильными всегда. Вам все еще придется самому заниматься факт-чекингом, потому что вы не можете полагаться на инструмент, который вам врет.
Давайте так - "в общении с нейронками следует избегать значений "по умолчанию"".
Вот вы говорите " В массовом сознании стоп-кран является именно деталью тормоза, это привычный стереотип ...."
А правильная фраза " В массовом сознании стоп-кран является именно деталью тормоза на поезде, это привычный стереотип..."
То, что она сейчас выдала правильный ответ, совершенно не гарантирует, что ответы будут правильными всегда.
Это на 1000% относится к любому человеку, чем нейронка хуже:)
в контексте авиации это не деталь тормоза. Это управляющий компонент аварийной остановки двигателя. В советской авиации эти рычаги называются именно «стоп кран».
Это общепринятое название для школы советского авиастроения, пример крайне неудачный
Кроме того gpt сети при генерации ответа должны выполнить некий объем вычислений чтобы получить правильный результат. gpt следует воспринимать как форму компилятора.
Для сложных задач потребуется длинный промпт и много много листов «автодополнения» прежде чем ответ будет получен.
Воспринимайте это как некий эмпирический закон, чтобы вычислить ответ на некий вопрос требуется затратить некое количество энергии(иначе np неравенство было бы уже опровергнуто).
Затраты энергии проявляются как число символов, которые выдала нейронка. Поэтому промпты для сложных задач должны заставлять нейронку затратить много энергии перед решением, или другими словами должны заставить нейронку напечатать полотна текста с ходом решения. Для очень сложных задач могут потребоваться сотни ответов сетки прежде чем решение будет получено
Это логично и интуитивно понятно из законов физики и информатики. Если бы это было не так, то gpt мог бы обращать хэш книги в книгу за один промпт, взламывать блокчейны и так далее
Кто понял о чём речь в этом комментарии сможет теперь правильно решить при помощи gpt задачу почти любой сложности(которую можно решить за обозримое время). Кто не понял продолжит пользоваться часто тупящей сеткой
в контексте авиации это не деталь тормоза
Я уже объяснил, в каком именно контексте мог быть задан вопрос.
gpt следует воспринимать как форму компилятора
Не следует. Компилятор выполняет однозначное преобразование. Что пишешь - то и получаешь. В случае нейросети процесс получения правильного ответа, при условии, что вы не можете получить правильный ответ, неочевиден.
Примерно такой, но это ГигаЧат:
![](https://habrastorage.org/getpro/habr/upload_files/1c6/b66/ff1/1c6b66ff1de15a486140a9e4d725f1af.jpg)
Но и ChatGPT тоже можно разговорить при желании:
![](https://habrastorage.org/getpro/habr/upload_files/573/f8c/048/573f8c0488220b8de09be6db2894afc4.jpg)
Тут даже постановка вопроса кривая: что значит "другая"? Ну то есть если вы хотите запутать LLM - у вас получится. Я весь топик объясняю, что с LLM можно работать и получать от неё адекватные ответы. Вы же доказываете что можно получить ответ не адекватный.
Да, надо запрос нормально формулировать, чтобы получить с большей вероятностью адекватный ответ.
![](https://habrastorage.org/getpro/habr/upload_files/46e/4e5/f1d/46e4e5f1d6f9b36298ca0230510ce46b.png)
![](https://habrastorage.org/getpro/habr/upload_files/07d/4bc/fcf/07d4bcfcf4d9ca4fb45e9b75bea3dfa7.png)
Задали вопрос криво, пришло уточнять. Тот же самый вопрос можно задать нормально, убрав лишний контекст и ответ будет получен с первого раза:
![](https://habrastorage.org/getpro/habr/upload_files/db3/7d5/66d/db37d566d429674298f18d52ba0c3dd0.png)
Это, собственно, и есть умение работать с LLM - нормально вопросы ставить.
Не удивляюсь, что при такой кривой постановке у пользователей получаются только простые примеры кода. А потом они доказывают, что LLM просто "продвинутое автодополнение" LOL
Если я правильно понимаю, ваше уточнение полностью сломало вопрос.
Вопрос не про то, сколько ног у человека растёт из задницы. И не про то, сколько у него осталось ног животных. Вопрос о том, сколько у него ног всего. Т.е. правильный ответ: три (две своих и одна свинная). И да, это вопрос с подвохом, но на него правильно отвечает, например семилетний ребёнок (только что проверил :) )
https://chat.openai.com/share/8855bf18-4475-440e-9f32-eb003bfa4409
У человека осталась одна свиная нога и две его собственные ноги. Следовательно, всего у него три ноги.
Ответ вообще говоря неверный, потому что в условии не сказано что в комнате только белые и чёрные люди
Ответ вообще говоря верный. А дополнительных факторов можно миллиард придумать. Если для вас эти факторы важны - добавьте их в условия задачи.
Формально - не верный. Спрашивается "сколько людей в комнате". Уточняется что среди людей в комнате есть и чёрные и белые. Но нигде не говорится что есть только чёрные и белые. А там ещё могут быть азиаты. Чистый "сферический конь в вакууме", + бесконечность к ответу.
Если спросить "сколько чёрных и белых людей в комнате" - тогда правильно.
придумать то, чего еще никогда не было оно не в состоянии принципиально.
Вы немного отстали от жизни.
"Программа на языке программирования Python, сгенерированная LLM'кой, дала решение, которое не было известно человечеству до этого. Более того, это решение лучше, чем найденные учёными за десятилетия "
А вы дальше жирного шрифта читали?
И вот если оставить этот цикл жизни крутиться на пару суток, дать смениться паре миллионов поколений — лучшая из оставшихся программа будет решать исходную задачу лучше мясных учёных (наверное). Но это не точно. Однако именно таким способом были получены ответы, названные «прорывными находками в области математики».
В итоге алгоритм искался эволюционным подходом с отсевом поколений. А дальше там есть рассуждения на тему стоимости генерации, тоже почитайте.
Для некоторых алгоритмов может быть приемлемо, но на вдумчивое написание кода все еще не похоже.
Я ответил на ваше утверждение "придумать то, чего еще никогда не было ", именно в такой формулировке
Что не так с приведённым примером именно в такой постановке -"придумать то, чего еще никогда не было "? По моему - условие выполнено, придумано. Результат на лицо. А было ли это божественное озарение или тупой перебор...
Сформулируйте по другому, тогда будут подбираться другие аргументы. И вполне возможно, что не подберутся.
Вас интересует процесс или результат?
Я не восхваляю нейросети, просто привел факт.
можно переложить на них ту работу, которую самому делать не хочется.
"ну вот как-то так, остальное реализуется аналогично"
В итоге нейронка переложила на программиста работу, которую самой делать не хочется.
Я думаю речь все же о том, что он за тебя не программирует.
Вообще тут как и со стаковерфлоу - возможно тебе не стоит перепечатывать код, который ты не понимаешь.
Но при этом сам ChatGPT великолепен.
Уж точно следующее поколение вспомогательных систем - персонализированный поиск.
Особенно для вопросов про детали библиотек или "Я это делал, но забыл, не помню методы и формулу этого алгоритма"
Аналогично. Кстати, по совету знакомых начал использовать GPT-4-Turbo - еще лучше, чем ChatGPT - длинные куски кода по сложным запросам пишет лучше, меньше косяков.
Но вообще имхо он не для архитектуры, а для небольших кусков с не очень тривиальной логикой.
Для небольших кусков. Для генерации кода. Для формул(вспомнить формулу, потом проверить её по гуглу). Часто использую для получения "наводки": То есть прошу развить тему, потом по контексту лучше понимаю что в гугле искать. С генераций конфигов хорошо справляется. Если нужно влезть в область в которой никогла не работал: например, надо было по быстрому расширение для хрома набросать, хотя я не веб программист ни разу, быстро это сделал за счет подсказок ГПТшки.
Вы просто нашли себе джуна, который не имеет всех недостатков мясного джуна.
Ваш навык чтения кода позволяет вам быстро замечать бред и либо исправлять самому, либо заставить этого безотказного джуна исправить ошибку.
Если же Джун найдёт себе такого джуна, то ему это мало поможет.
В-общем, вы как писатель, который диктует машинистке. Дело писателя - выдавать контент, а не заниматься его переносом на носители.
Ну и да, иногда бредит. Иногда бредит сильно. Траты времени чтобы отличить бред от рабочих решений минимальны.
Джун сможет отличить?
Чел, Я фронтенд разработчик и даже я знаю что такое VACUUM в postures?
Зато не будете знать какой нибудь MUUCAV, который спросят на собеседовании и кажется очень важным собеседующему и что все должны знать.
Ну я с бэком давно не работал, поэтому навыки теряются. Но я узнал про VACUUM из книжки по постгрес, которую читал в свободное время. А если ты бэкендер и это твоя среда и ты не можешь читать то что выходит за рамки вещей, которые реально используются, то это грустно
Одно дело читать статьи, это безусловно, полезно, а другое дело держать в голове map аббревиатур всех этих и что для чего используется, если сам не сталкиваешься с этим в работе
Ну если я правильно понимаю что делает VACUUM , то знать про него надо из своего опыта его применения, а не из книжки. Я так думаю.
(наверное, скоро у нас реально появятся специальные люди, которым будут платить, чтобы они вместо разрабов проходили собесы
Практикуется уже 3-4 года.
Если вас японский наниматель спросит о группе крови или иной личной информации, он имеет крутые шансы влететь на здоровый штраф. Блюдение подобной инфы - отдельный пунктик тут, иногда выходящий за рамки здравого смысла.
Мне однажды попался поехавший чел, который спрашивал
Что делает команда VACUUM в PostgreSQL?
странные вопросы о том, как внутри на уровне кода устроены индексы PostgreSQL
I feel your pain, bro, но не от всего сердца.
В последние годы уровень понимания работы баз данных среди бэкендеров упал драматически, видимо эту тему почикали из содержания всяких там курсов.
Задаю вопрос на собеседовании:
-Какие бывают индексы в постгресе?
Кандидат: индексы ... я могу создать индексы ... чтобы ускорить работу
- А что такое в принципе индексы?
Кандидат: Индексы ... это чтобы было быстрее
- Индекс - это таблица, протокол, микросервис ... или что?
Кандидат: Таблица!!!
- То есть мы используем одну таблицу, чтобы ускорить работу с другой, так?
Кандидат: ... нет!!!
( в этом месте кандидат мысленно закипает и уже по лицу видно как он готовит статью на хабр про то, как его завалили вопросами про low-level postgres )
А судя по резюме - компетентный миддл.
Про VACUUM я даже не осмеливаюсь спрашивать, такие древние тайные знания могут вызвать дух Ларри Эллисона. Ну или кандидат тоже посчитает, что я на него выдуманными словами ругаюсь.
А у меня вот такой диалог иногда бывает.
Предусловие: у кандидата от зубов отскакивают вопросы про хэшмапы
Сам диалог:
- Как устроен индекс b-tree?
- [Через пень-колоду все же выясняем, как он устроен]
- Ок, а чисто в теории можно сделать такой индекс, чтобы был быстрее b-tree? Чтобы искал за константу, а не за логарифм?
- .... Не, наверное нельзя.
А вы прям во время работы над проектом человека отправите контрибутить в PostgreSQL, чтобы он вам там реализовал более быстрый индекс, чем BTree, и вы потом стянули эту версию и развернули её у себя на серверах? Хотя в PostgreSQL есть Hash-индекс. Могли бы именно про него спросить, если так уж надо было для проекта
А то напоминает одну из приведённых в начале статей, где мужик отбраковывал кандидатов из-за незнания БАЗЫ
эм, так он и спрашивал про хеш индекс
у кандидата от зубов отскакивают вопросы про хэшмапы
Хоть одно и базируется на другом, hashmap в привычном понимании - это не буквально то же самое, что и HASH-индекс в PostgreSQL
Ну разумеется, индекс устроен сложнее - ему ж на диске храниться надо, а не в памяти. Но суть-то одна...
ну так и вопрос собственно на понимание ИДЕИ быстрого поиска по хэшу, и тут явно с пониманием где-то затык если хэшмапа ты понимаешь, а хэшиндекс никак
И даже так, сложность hasmap не является константой, а от O(1) в лучшем случае до O(n) в худшем.
Знаете, я как-то Senior backend с годами так 15 опыта, но поскольку я делал кучу всего, чтобы работало на малых и средних проектах, мне в индексы БД вникать не приходилось (т.е. я знаю, что там какое-нибудь оптимизированное btree или hash, но и только). Мне сразу застрелиться, потому что на собеседовании спрашивают кишки PostgreSQL, опять же, с которым работать не приходилось? (ну был у меня MySQL, так сложилось). Или компании рассматривают только людей, которые знают конкретно их стек "от и до"? Ну так таких не очень много, и искать на рынке сеньора, который идеально шарит именно стеке компании, можно долго.
Стреляться точно не надо
На собеседовании, конечно, сначала спрашиваю с какими базами человек работал, в каких чувствует себя уверенно. По ощущениям, среди junior/middle, которые работали с реляционными базами, где-то 4 из 5 работали в основном ( или исключительно ) с постгрес. У старших, понятно, разное бывает, это тоже учитываем
На самом деле мы не хотим спрашивать ни про какие "кишки", реально интересующие вопросы примерно такие: "Данные с какими характеристиками мы можем хранить в БД и как мы можем с ними работать". Но если задать настолько общий вопрос, то средний кандидат впадет В ЯРОСТЬ и опять таки нажалуется на процесс собеседования на хабре. Поэтому заходим с более прикладной стороны: сможет человек рассказать про то, что нужно, чтобы эффективно читать и писать в БД применительно к постгресу - отлично. Сможет рассказать в общем - еще лучше. Но в реальности лучше задавать вопросы поконкретнее.
я знаю, что там какое-нибудь оптимизированное btree или hash
Ну, собственно, мы бы поговорили про то, почему их 2 вида, а не один универсальный и если у кандидата на этот счет ментальная модель стройная ( а в самом идеале, еще и совпадающая с реальностью ), то и хорошо. А вакуум - бог с ним.
Сможет рассказать в общем - еще лучше.
Вот да, мне кажется, умение "рассказывать в общем" - как минимум отличный кейс на сеньора (а вот как оценивать мидлов с джунами не скажу, да)
Данные с какими характеристиками мы можем хранить в БД и как мы можем с ними работать
А как вообще отвечать на такие вопросы? Хранить данные можно всякие и работать с ними по разному. Понятное дело, что такой ответ хотя и формально верный, по сути ответом не является. Что тут ожидается? Я в полном недоумении.
А как вообще отвечать на такие вопросы?
В такой формулировке вопрос и не задают ( конечно же, слишком сложно, объемно и общо для собеседования ).
В конце концов, с практической точки зрения нам нужно уметь отвечать на вопросы типа ( например, в контексте постгреса ):
А мы можем записать в реляционную базу нереляционные данные? ( неоднозначно ... есть вот нереляционные расширения )
А текстовый поиск можем? ( да, но нет ... )
А бинарные блобы можем? ( ммм, техническая возможность есть ...)
...
Ну, и понятно, нам хотелось бы не просто хранить эти данные, но и эффективно с ними работать ( как? ) Знать ответы на память невозможно, конечно, но выработать интуицию, которая подсказывает, что лучше бы логи в базе не хранить, нужно. И лучше бы эта интуиция опиралась на знания, а не на заученные рецепты. Обсудить это в полном объеме на собеседовании не получится, но "потрогать" эти темы с помощью прокси-вопросов нужно.
А мы можем записать в реляционную базу нереляционные данные?
А в чем проблема? XML, JSON, Spatial черт знает сколько времени уже есть. Да в блоб можно что угодно записать. Можно и свое придумать при большом желании и наличии свободного времени. Вообще говоря современные реляционные базы данных давно не только реляционные.
А текстовый поиск можем? ( да, но нет ... )
В чем проблема? Full text search из коробки сто лет в обед. Можно и руками при желании.
А бинарные блобы можем? ( ммм, техническая возможность есть ...)
Аналогично, сто лет в обед.
Понятно, что в конкретном решении конкретной задачи будет много если, но на общий вопрос может быть только общий ответ, правильно?
Ну было дело, хранили логи в мускуле, что там проблемного?
"Бинарные блобы" - это примерно как "диск CD-ROM". Даже, наверное, хуже.
Исходя из презумпции адекватности, я бы не предполагал, что на общий вопрос ожидается конкретный ответ (но ответ может помочь оценить кругозор соискателя).
Признаюсь, не в курсе, как собеседуют джунов/миддлов (сам в профессию попал, когда были просто программисты/разработчики), но сеньорские собеседования обычно проходят в виде диалога, в котором контекст дополняется уточняющими вопросами, и не возбраняется задавать встречные.
Применительно к этой ситуации, ничего не мешает обозначить всю вариативность технологий хранения — schemafull/schemaless, механизмы обеспечения связности, транзакционность, отказоустойчивость, гарантии, уместность SQL/NoSQL-хранилищ в разных кейсах, etc. Пока я пробегаюсь по верхам, интервьюер с большой вероятностью сузит контекст, опираясь на что-то сказанное мной — попросит развернуть, уточнить, приведёт пример/задачку.
В реальности настолько общие вопросы задают нечасто, т.к. банально нет времени на подобные обсуждения. Самый общий вопрос, который я встречал — "в чём особенности написания многопоточных программ": за ним последовало 40-минутное обсуждение, в рамках которого и о мьютексах/атомиках поговорили, и о сисколлах/сменах контекста, и о высокоуровневых примитивах, и о тулинге).
В последние годы? Я такое вполне и в 2016-2018 помню. Да и иже с ним если он не понимает что такое b-tree, hash, gist, gin и прочие страшные слова, но если он знает как их использовать (да банальное что в индекс можно включить 2 поля и в какой последовательности лучше, или что хеш по лайк не особо работает), то он УЖЕ на голову выше многих.
Касаемо же вакуума хотел отдельно написать, но вставлю сюда же. Кмк тут больше из серии на то, чтоб понять что он осознаёт насколько сильная магия это. Иначе получим:
- что-то подтормаживает немного, а ты вроде пишешь коннекты к базе, почини
-гугл - "база тормозит" - запустить вакуум. На проде. На базе за терабайт, настроенной на регулярные обновления.
Indexes are a common way to enhance database performance. An index
allows the database server to find and retrieve specific rows much
faster than it could do without an index. But indexes also add overhead
to the database system as a whole, so they should be used sensibly.
https://www.postgresql.org/docs/current/indexes.html
Задаю вопрос на собеседовании:
-Какие бывают индексы в постгресе?
- А что такое в принципе индексы?
Самодурство обыкновенное...
Кому вы эти вопросы задаете и с какой целью? Разрабу на php? А у него есть хотя бы доступ к БД, чтобы создавать индексы под свои запросы и практиковать эту тему? В крупных компаниях, даже postgresql-разрабы зачастую не лезут в эти дебри, банально годами лепят код и очевидные btree-индексы. Всем остальным занимаются ДБА. Причем так было всегда, хоть 10, хоть 20 лет назад, а тут вдруг выискался великий умник, которому доверили собеседовать мидлов и занимается самоутверждением, как дитё.
Всем остальным занимаются ДБА
Вы так уверены, как будто это физический закон. У меня уже 4й проект подряд никаких ДБА нет. И разрабы живут по правилу "запрос в БД должен быть или оптимальный или его вообще не должно быть". Так что не обобщайте. Лично у вас нет нужды спрашивать про индексы - ну так не спрашивайте. А за других решать не надо.
Оптимальность запроса в PostgreSQL -- свойство темпоральное, зависит не только от структуры, но и от наполнения таблиц, а оно со временем меняется.
Вы так уверены, будто ваш опыт является адекватным и уместным на рынке. Сколько видел таких проектов, где есть БД и нет профессионального ДБА, там был полнейший бардак и не очень умное руководство.
Вы так уверены, будто ваш опыт является адекватным и уместным на рынке
Мой опыт просто есть. И он отвергает тезис, что всегда есть ДБА, который придет спасать чей-то корявый запрос.
Ваш опыт не имеет ничего общего с культурой разработки. Разраб, который одной рукой лепит формы, а другой сервера админит, не может быть полноценным специалистом.
Ваш опыт не имеет ничего общего с культурой разработки
Как же я рад, что искусство диагноза по аватарке еще живо.
сервера адимнит
Вот бы еще я где-то написал, что я сервера админил. Видимо, искусство телепатии тоже еще не утеряно. Спойлер: понимать устройство СУБД и "админить сервера" это немного разные вещи.
Пациент точно вменяемый? А если данные изменились в БД, то кто это должен отслеживать и заниматься анализом производительности? Оно само как-то сделается, когда разраб напишет мифический "оптимальный запрос"?
кто это должен отслеживать и заниматься анализом производительности?
Должен вот этот человек. Вы утверждаете, что человек с таким скиллсетом есть в КАЖДОЙ конторе. Ну могу только посоветовать снять розовые очки.
Да, чувак, который как-то админит окружение на проде есть везде. Всегда ли он шарит за перфоманс и т.д. - да нет конечно. Максимум скажет, что база CPU стала грузить на 80%. Дальше разрабы будут думать.
Не понимаю, что тут для вас стало открытием. Качественный DBA - это вообще-то дорогой и редкий спец. Для мелких контор и стартапов это просто нерентабельно. Для сберов всяких - уже другой разговор.
ДБА они не могут нанять, даже на четверть ставки, им дорого, а разраба, который не хуже ДБА шарит в БД, они могут нанять...
Один лишь гонор, про специалистов, которые пишут "оптимальные запросы". Но пока все не рухнет в очередной раз на проде, никто ничего не будет смотреть. И самый цимес, что смотреть некому, у всех лишь поверхностные знания по БД и куча своих задач по разработке.
Вы думаете я не видел таких контор? Мне смешно, с какой серьезностью вы это доказываете, как обычную адекватную практику.
ДБА они не могут нанять, даже на четверть ставки, им дорого, а разраба, который не хуже ДБА шарит в БД, они могут нанять...
вы это доказываете, как обычную адекватную практику
О, опять додумки и телепатия пошли. Или дислексия. Я не считаю практику адекватной, я просто говорю, что так бывает и довольно часто. Ко мне-то какие вопросы? Я сам никого не нанимаю.
По додумкам мне далеко до вас, где я писал, что ДБА есть в каждой конторе? Это у кого еще дислексия?
О чем этот гнилой базар? Практика не адекватная, приводящая к куче проблем, но нужно на ровном месте доколупаться до коммента, и возражать тому, что этим занимаются ДБА?
Про "довольно часто" какой-то пруф надеюсь будет?
Вкатиться, например, в проектирование беспилотников или робототехнику, не знаю.
Вот не сказал бы... Я железячник (микроконтроллеры, FPGA и т.п.). Там примерно то же самое, хотя до такого маразма как «Чем Git Flow отличается от GitLab Flow и GitHub Flow? Что делает команда VACUUM в PostgreSQL? Что такое ULID?» дело не доходит (хотя кто его знает, у меня не доходило, а как у других - х.з.). Для себя я сейчас решил следующее. У меня есть некая сумма, на которую я довольно скромно могу прожить год-два. За это время попытаюсь уйти в инди-геймдев. Что сейчас интенсивно осваиваю в свои 60+. Кстати прошу совета с чего начинать. Я сейчас изучаю непосредственно чистый Vulrkan (возможно опубликую здесь свой туториал, тот который тут уже есть мне не понравился) и движок Godot 4.
Вобщем никого ни к чему не призываю. Этот путь достаточно рискованный. Можно потратить время и силы, оставшись ни с чем. Тем не менее ищущим работу айтишикам мне кажется следует рассмотреть и такой вариант.
Многие мечтают делать игры. Я тоже когда-то уволился и потратил год на разработку игры для мобилок (для разогрева как я думал). Больше никогда не сунусь в геймдев. Ощущения от "делать игры" и "играть в них" нигде не пересекаются. Мысль очевидная на первый взгляд, но её нужно прочувствовать. Делать игры долго, тяжело, скучно, и неблагодарно.
Я никогда не мечтал делать игры. И не люблю играть, мне гораздо интереснее разрабатывать, особенно железо. Но деньги зарабатывать как-то надо. Желательно не дворником и не курьером. Почему бы не попробовать геймдев ???
Заработать в геймдеве – это известная шутка на профильных форумах и подкастах. Можно всю жизнь делать игру/игры и не отбить даже затрат. Если же речь про работу по найму в геймдеве, то зарплаты там в среднем сильно ниже.
Просто делюсь своим опытом. Решать, конечно, вам.
Какая глубокая и нестандартная идея лежит в основе angry birds ??? Какие идеи кроме три в ряд и прочего такого же окаменелого говна мамонта лежит в основе 99 процентов современных мобильных игр ??? Я хотя бы графику могу сделать конфетку. Сейчас обычно не делается даже этого. И ничего, платят ! И неплохо платят. Игра это на 99% ПСИХОЛОГИЯ. И только потом всё прочее, идеи в том числе. Или если уж очень хочется поизвращаться, есть такой сайт https://www.squidi.net/three/ . Я тут уже запостил видос. Гляньте и его и сам канал.
Какая глубокая и нестандартная идея лежит в основе angry birds
Как по мне, стрелять птицами-шахидами из рогатки в свиней очень неочевидная идея. Собственно, и к разработчикам она пришла по накурке.
Вся эта баллистика в 100 раз интереснее и вариативнее была в Worms. Только вместо птичек червячки. А если покопаться, то думаю миллион похожих игр уже было.
Интереснее и вариативнее != увлекательнее. KSP в десятки раз точнее/вариативнее чем Elite, а Elite - чем World of Warcraft. И где же мы сейчас. А сейчас мы в мире сессионок, где балом правит игра, родившаяся из карты для Warcraft 3.
Вся эта баллистика в 100 раз интереснее и вариативнее была в Worms.
Worms это же не просто баллистика, но тонны своебразного юмора в оформлении, в т.ч. озвучке. И сделано под полноразмерный монитор - порты на телефон смехотворно неиграбельны. То есть Worms это удачный пример относительно простой и ну никак не новой концепции (танковые дуэли со стрельбой через холм появились очень, очень давно), но с относительно неожиданной и, на мой вкус, более чем удачной оберткой. И на телефон портировать их нельзя - технически да, а вот практически играть в это уже невозможно.
А если покопаться, то думаю миллион похожих игр уже было.
Конечно. Но игрок видит визуальное оформление и игровую механику конкретной игры, а не то, что концепция игры появилась хорошо если в восьмибитную эпоху, а то и раньше, и что на этой концепции уже были написаны сотни игр для телеприставок и игровых автоматов.
Причем тут игрок и новизна концепции worms, я отвечаю на комментарий, что создатели не побоялись взять чужую чужую идею из worms, поменять червячков на птичек и заработали миллионы на игре с неуникальной идеей. Так что дело не в идее, можно брать angry birds менять птичек на кошечек и заработать миллионы за счет чего-то другого.
У Angry Birds и Worms общего приблизительно ничего. Почему "птицы" взлетели и озолотили создателей - вопрос не ко мне, я ответа не знаю.
Так что дело не в идее, можно брать angry birds менять птичек на кошечек и заработать миллионы за счет чего-то другого.
Кошечек вы это, не трожьте. А в остальном верно - меняете что угодно на что угодно, а зарабатывать миллионы идете на чем-то другом, потому что заработать на играх в принципе можно и истории успеха не хранятся в секрете, но только успешных игр единицы на бесчисленное количество не взлетевшего, не взлетевшего по огромному количеству разных причин, и поэтому не только не озолотивших разработчиков, а как бы наоборот не разорив их.
Дарю идею бесплатно: тараканы и тапок. Злобные тараканы, способны отгрызть кусок тапка, но тапок их прибивает. Шанс потерять тапок..
У Angry Birds и Worms общего приблизительно ничего.
Рогатка - ваш червяк, только стоящий на одном месте. Свинья - червяк противника. Птичка - граната, ракета, короче разновидность оружия. Наведение прицела в angry birds мышкой(я на пк играл), а в червяках клавиатурой, сила удара в angry birds левой кнопкой мыши, а в червяках пробелом. Если вам этого недостаточно, то я просто тогда не знаю, что для вас общее, вы, наверное, с клоном путаете.
Только вы забыли, что worms - это pvp-мультиплеер, а angry birds - головоломка-сингл.
Это, блин, совершенно разные жанры!
Во-первых причем тут жанр? Речь про идею. Во-вторых, если вы играли только в pvp режим это не значит, что в worms нет головоломки. В worms есть прохождение миссий, где нужно выполнять задания и голову там поломать надо посильнее чем в птицах.
Речь про идею.
Вот идея Worms. Заметно эволюционировавшая, конечно от первых танковых дуэлей, но полностью сохранившая концепцию: игроки по очереди стреляют в противника по баллистическим траекториям; задача поразить противника несколькими попаданиями, суммарный урон которых зависит от точности каждого попадания; в игре имеется препятствие в виде рельефа, который может служить укрытием, но который разрушается от попаданий, а следовательно любое укрытие лишь временное.
Если вам этого недостаточно, то я просто тогда не знаю, что для вас общее, вы, наверное, с клоном путаете.
Идеи разные. Концепции разные.
Scorch (The Mother of All Games) - Scorched Earth — Википедия (wikipedia.org). Из нее все идет...
Так вы "три в ряд" и не раскрутите самостоятельно. В данном сегменте рекламные бюджеты повыше бюджетов на разработку.
Точно с таким же успехом я не раскручу самостоятельно игру с любой, хоть сверхнестандартной и сверхоригинальной идеей. Ещё раз. Игра это на 99% ПСИХОЛОГИЯ. И только на 1% всё остальное. В том числе реклама.
Есть некоторые ниши в инди-геймдеве, где одиночки ещё вполне держатся. Первое, что приходит на ум - пошаговые варгеймы с гексами.
А пытаться войти на переполненный рынок мобилок... это заранее провал. Там проблема в том, что про вашу игру не узнает никто, так как в поиске она будет на 18 странице, куда никто не заходит. Игра может быть с супер-оригинальным геймплеем, вылизанной графикой и звуками, с идеальным балансом и "психологией", но что толку, если про неё никто не знает...
Как я понял (а эту тему я сейчас копаю очень серьёзно), там не всё так однозначно. Да, реклама безусловно вещь необходимая. Но можно и эти затраты несколько оптимизировать. Люди до сих пор как-то выходят в прибыль. Без нереальных затрат. Иначе этим бы вообще никто не занимался.
Могу вам рассказать, как на простом пинании мячика можно зарабатывать миллионы: просто пинай мячик, люби это делать, старайся это делать хорошо и тебя заметят менеджеры, ты станешь мировой звездой, ты станешь всемирно известным. Но сотни миллионов таких же как ты или даже более упорных - не станут.
Вот и весь ответ - кому-то просто везёт, а кому-то (которых в тысячи раз больше) - нет. Если вы собираетесь ставить на кон именно везение, то ей богу, в казино у вас шансы даже повыше будут.
Вы КОНКРЕТНО ЭТУ ТЕМУ КОПАЛИ ??? Непохоже... Иначе могли бы дать более толковый совет.
Из личного опыта:
Мобильный и "классический" геймдев -- совершенно разные миры, надо решить сразу, куда будете двигаться.
С "классическим" опыта у меня пока немного, но в целом тут очень важно понять вашу "ядерную аудиторию" и бить на то, что ей понравится. В идеале при этом осуществлять какой-то коммьюнити-билдинг, вот чтобы реально люди ждали вашего релиза как события. Логика в том, что как инди вы не условные "Ведьмака" или GTA пишете, а стало быть, рассчитывать на интерес ширнармасс не приходится. Журналисты сами писать про вас не будут, ссылками на летсплеи делиться не станут. Но можно найти ценителей условного симулятора трактора, которым оно и надо. Но продукт должен быть именно на ценителя и хорошо проработан. Вероятно, имеет смысл пообщаться с хорошим издателем.
В мобильном гейминге с in-app purchases у вас широчайшая воронка, где на выходе мало денег, поэтому:
Для начала ищете жанр и нишу, где деньги есть, но конкуренция не безумная. То есть "три в линию" и прочие паззлы довольно дохлая затея -- там не протолкнуться. А в жанрах менее популярных может и получиться, т.к. они большим фирмам по деньгам неинтересны, а вам хватит :)
Изучайте рубрики и подрубрики гуглплея. Ваша цель -- попасть в топ 5-10 хотя бы внутри жанра одной из категорий (то есть если категория "стратегии", вы смотрите, какие они в принципе бывают, и целитесь в топ среди "своего" типа). Ну да, и, естественно, ищете игру, где не надо тратить два года на разработку, что-нибудь компактное.
В идеале делаете так, чтобы название игры частично пересекалось с названием жанра. Angry birds очень плохое название с точки зрения app store optimization: его будут искать только те, кто знает. А вот какой-нибудь "clash" просто так вбивают. Оптимизируете текст для поиска по ключевым словам.
Делаете версию, в которой функциональности хватает хотя бы на три дня игры (а потенциально игра должна быть бесконечна), льёте рекламу и запускаете где-нибудь на локальном рынке, а дальше через инструменты смотрите приток юзеров и успехи монетизации. Если в первый день отсекается слишком много юзеров, воронка негодная: или делаете что-то другое, или чините так, чтобы не отваливались. При этом также смотрите монетизацию и сравниваете с другими играми категории (гугл это показывает). Надо попасть в верхнюю четверть, т.к. треша там много, и быть лучше среднего мало. Ну и смотрите, какие товары по факту продаются, а какие ничего не дают, и развиваете популярное.
То есть в целом тут ваша задача -- получить как можно больше нахаляву. В данном случае вы можете бесплатно "покататься" на популярности существующего жанра и сеттинга. Условно, "Робот-ниндзя-карате". Чтобы человек открыл интересный жанр и просто листая новинки увидел бы, или поиском обычных слов нашёл бы.
Да, наверно, добавлю ещё, что надо очень аккуратно балансировать инновацию и заимствование, своё и аутсорс. Если в игре важен саундтрек, заказываете у композитора, если что угодно фоновое годится -- покупаете на стоке. Аналогично с графикой. И аналогично с геймплеем и монетизацией: если вы понимаете, зачем делать так, а не иначе -- делаете, если не понимаете, копируете у других. Это касается элементов интерфейса, устройства туториала, способа управления. Грубо говоря, разрабатывая текстовый редактор вы не будете же придумывать нестандартные меню и клавиатурные сочетания. Тут работает аналогично.
Тогда уж, по такой логике, лучше становиться тик-ток звездой. Там тоже звезды не блещут образованием, интеллектом, сюжеты роликов гораздо проще любой оперетты... но тем не менее, дурачков на планете много, а успешных тиктокеров - мало. Людей, которые могут писать туповатые игры - тоже овер дохрена. Так что, по вероятности - куда выше шанс написать игру, у которой будет 3 скачивания в месяц, чем еще один энгри бёрдс.
Странно, мне недавно казалось что ембедед и микроконтроллеры, в связи с текущими событиями очень востребовано и там должны бегать бабки. Даже попробовал, месяц осваивал С++ по новой через столько лет перерыву, даже чего-то там сваять смог.. но блин, столько всего понаписал, документации ноль и чуть меньше, каждый микроконтроллер - всё, суши весла, читай даташит.. один Джетсон чего стоил.. только неделю качал СДК и читал доки, прежде чем перетащить написанное на его "куда"..
Не, сидеть по 20часов уже слишком сложно.
Я 40 лет это копаю, а не 20 часов. Со времён Электроники-60 и КАМАК. Ещё раз к началу статьи. Совершенно неадекватная процедура приёма на работу. И это ВЕЗДЕ. В том числе в эмбеддерстве. Мне лично эта хренота надоела. Нафиг. Станете скромнее, когда РЕАЛЬНО работать будет некому. А я вон хоть строителем могу, хоть токарем, если с играми не получится. Проживу как-нибудь.
Странно, мне недавно казалось что ембедед и микроконтроллеры, в связи с текущими событиями очень востребовано и там должны бегать бабки.
Ну, их там прибавилось, но все равно меньше, чем во фронтэнде и тем более финитехе. Я сноб и люблю очевидно полезные долгоживущие вещи, поэтому и сижу в этой лужице, а большую часть происходящего в IT считаю кэрроловским "бегом по кругу".
Даже попробовал, месяц осваивал С++ по новой через столько лет перерыву, даже чего-то там сваять смог.. один Джетсон чего стоил
После лет перерыва перечел ПДД, покатался вокруг дома, особенно много проблем было с болидом F1 :) ну не любят эмбедщики писать "подо все" и часто менять таргеты, потому что каждое новое семейство - это больше 1к страниц даташитов и аппнот, новый мк - пара сотен.
Я тоже когда-то уволился и потратил год на разработку игры для мобилок (для разогрева как я думал). Больше никогда не сунусь в геймдев.
Если не трудно, может опишете кратко свой опыт и почему такое отрицательное впечатление ??? Что не получилось ??? Вот гляньте видео. Человек сделал игру. Довольно неплохую. Денег она не зарабатывает и автор хочет её бросить. В видео его ошибки разбирает человек, достаточно успешный в геймдеве. И вообще канал отличный. ОБ УСПЕХЕ.
Каналы об успехе - это как тренеры личностного роста - ошибка выжившего. Популярные каналы об успешном успехе - ошибка выжившего в квадрате.
Ага. Только о неудачах смотреть не интересно. И не конструктивно. Ибо учиться там нечему и перенимать нечего. Гораздо интереснее (и полезнее !) смотреть про успешные игровые проекты. И учиться у них приёмам, как заставить игрока ПЛАТИТЬ. Это куда важнее чем игровая идея и качество реализации.
Не согласен, на чужих ошибках учится интереснее как раз, чем на своих. Я вот, например, иногда, про инвестирование смотрю и негативный опыт, которым делятся люди, очень важен.и ценен. Спасибо им за это
Если ты будешь узнавать о причинах неуспехов, то найдёшь таковых вагон и маленькую тележку. Вплоть до падения метеорита. Я бы сказал, бесполезное дело. Изучать истории успеха - полезно, но надо изучать их досконально. Понятно же, что "вставал каждый день в 5 утра, питался только зеленью и потому смог построить многомиллиардную корпорацию" - это наглая ложь
Смотрите - в вашу игру играет 10 миллионов человек, вы вложили в рекламу $50k, 1% из игроков вы убедили заплатить вам $1 и вот у вас уже $100k, за вычетом рекламы - $50k.
Или другой пример - в вашу игру играет 100 человек, рекламы нет, вы ОЧЕНЬ талантливо убеждаете 10% из них (нереально много) заплатить вам по $10 (и это тоже дофига) и вот у вас уже $100.
Извините за резкость, но это очень похоже на речь первоклассника, пытающегося в чём-то убедить профессора математики. Полагаете я всего этого ещё не продумал ??? Очень зря... Каюсь, я человек рисковый и авантюрный. Но НЕ НА СТОЛЬКО ЖЕ !!!
Полагаю, что говоря "А" принято говорить и "Б".
Вы настойчиво утверждаете, что изобрели серебряную пулю, которая заставит игроков ПЛАТИТЬ (причём с большой буквы), при этом считаете, что качество игры и всё остальное (включая рекламу и продвижение) - побочно.
Меня это сильно удивляет и, если пользоваться вашим сравнением, выглядит так - профессор математики изобрёл прорывное решение в транспорте, которое используя сверхпроводники на температурах от 100 градусов по цельсию позволит совершить настоящий переворот.
Профессор реально крут, очень поглощён своей идеей, прорабатывает её всё глубже и глубже, но не учитывает сущую малость - таких сверхпроводников в настоящее время не существует и не факт, что они появятся в обозримом будущем.
Можно так, а можно и по другому:
Смотрите - в вашу игру играет 10 миллионов человек, вы вложили в рекламу $100k, 0,5% из игроков вы убедили заплатить вам $1 и вот у вас уже $50k, за вычетом рекламы вы попали на $50k.
Будет у вас +50k или -50k это вероятностное событие. Шансы примерно 50% на 50%.
Сколько раз собеседовался (микроконтроллеры, почти чистый программист), но маразма не замечал. Были работы, которые или я не тянул, или название вакансии не соответствует требованиям, но чтоб задавали вопросы из условного hacker's delight - такого не видел.
Меня например однажды спросили, "что такое И ДВА И, и как бы я реализовывал это в FPGA". Я глаза вылупил... И только уже дома понял, что очевидно имелась в виду шина I2C. Маразм это или не маразм ???
Мощно, это рекрутер такое спрашивал или техспец?) По моему опыту, в более "вещном" производстве человек в теме уже на втором раунде, а часто и на первом.
А хрен его знает кто... Дело происходило в офисе. Так что явно кто-то из команды. Вообще сейчас я отказываюсь от собеседований, "живого кодинга" и прочего дерьма. Тестовое задание - пожалуйста. С остальным - досвидос без разговоров. Правда как понятно из моего первого коммента, сейчас я вообще отказался от поисков работы и хочу уйти в геймдев.
Ну... В 90-е отписался разрабам одной американской конторы, что была автором медицинского девайса, что они поступили криво обрезав у АЦП младшие разряды, а надо было усреднять бегущим экспоненциальным средним. На что получил ответ:
Да мы понимаем что такое усреднение, мы даже умеем усреднять в потоке "бегущие" значения, но мы не знаем что такое функция "экспонента", можно ли получить детали?
Бывает.. специалист подобен флюсу, полнота его одностороння (с) Козьма Прутков.
Ну как бы... С одной стороны плавали знаем. Много в своё время работал с американцами. И воздержусь озвучивать о них своё мнение. Тут всё-таки девушки бывают, а я человек стеснительный, чуть что краснею :))) С другой - "экспотенциальное среднее" на мой взгляд крайне неудачное название этого алгоритма. Так что могли и правда не понять. Особенно если не занимались цифровой обработкой сигналов (хотя странно для команды медицинского девайса) или на худой конец не торговали на форексе. Я бы всё-таки попытался популярно объяснить. Тем более сейчас с помощью jupуter это очень просто и очень наглядно.
P.S. Сорян, затупил. В 90-е не было ни jupyter, ни даже форекса. Но Рабинер-Голд вроде уже был. Они что, на самокрутки его пустили ??? Впрочем по собственному опыту общения с американцами, пожалуй уже ничему не удивлюсь...
Я сейчас изучаю непосредственно чистый Vulrkan (возможно опубликую здесь
свой туториал, тот который тут уже есть мне не понравился)
Очень интересно! Альтернативный туториал, жду!
Всё верно написано. Задача эйчара - найти 1 (одного) работника на 1 (одно) рабочее место.
Если на вакансию отзывается 1000 человек - значит, условия вакансии слишком мягкие, и их необходимо ужесточить.
Именно этот процесс мы и наблюдаем: если 15 лет назад устроиться джуном можно было, грубо говоря, освоив циклы, то сейчас джун должен быть знаком с приличным объёмом инструментария.
Дальше будет ещё хуже, потому что переизбыток рабочей силы только нарастает.
Дальше будет ещё хуже, потому что переизбыток рабочей силы только нарастает
А как же песни про демографическую катастрофу и вымирание?
Демографическая катастрофа никак не противоречит безработице и отсутствию денег
А как же песни про демографическую катастрофу
Восемь миллиардов и ни малейшего намека на замедление темпов роста - вот это и есть демографическая катастрофа.
вымирание
Вымирают виды, ставшие жертвой безудержного роста населения, требующего такого же безудержного роста посевных площадей и поголовья скота - их, площади, неоткуда взять иначе, как уничтожая леса и целые экосистемы, вне которых биологические виды не выживают, что растения, что животные. Вот это и есть вымирание.
Вымирают виды, ставшие жертвой безудержного роста населения
Меньше 2.1 ребенка на женщину - привет, вымирание (https://ru.wikipedia.org/wiki/Список_стран_по_суммарному_коэффициенту_рождаемости). А во всех странах 1 мира сейчас рождаемость меньше 2, да и развивающийся мир подтягивается - вон, в Китае и Индии уже меньше уровня воспроизводства.
Вымирают виды, ставшие жертвой безудержного роста населения, требующего такого же безудержного роста посевных площадей и поголовья скота
Чего-то я туплю. Это про кого написано?
Население Земли без Азии и Африки давно сокращается, через лет десять будет сокращаеться просто без Африки. Население выросло в четыре раза за сто лет, с двух до восьми миллиардов. Двенадцати миллиардов оно скорее всего не достигнет никогда.
Статистика выпускников ВУЗов говорит об обратном. Никто не сидит без работы, очереди за стажерами ещё с 3 курса.
https://www.rbc.ru/society/07/06/2023/647f5b7a9a79474923510d27
Основная претензия людей состоит в том, что на собеседованиях спрашивают вещи, которые не относятся к реальной работе, а сами процессы найма крайне затянуты.
Да, соглашусь. К сожалению, многие вообще слабо понимают, что они ищут. Как по мне, достаточно базы и оценки человека в принципе. Но массовые собеседования - тоже работа. И получается, что скорее всего имеет две стороны, с каждой из которых очень много малокомпетентных людей. Но ... с другой стороны, я как архитектор могу не знаю туевой хучи деталей отдельно взятой технологии по очевидным причинам. Но когда я был разрабом, лидом и т.д. - ну знал достаточно до фига. Тут даже помнится любая новая фишка была своего рода "вызовом" - блин, я не знаю, как так, надо срочно разобраться. Поэтому для "узкой" специальности возможно и стоит ожидать глубоких знаний.
Просто из личного опыта, многие кандидаты срезаются еще на далеких подходах к глубине :) Поэтому это повод разобраться подетальнее :)
Другой кейс, который хотелось бы осветить - невероятно длинные процессы технического скрининга
Это скорее свойсто "работорговцев", которым надо продать "голову" на аутстафф. Там да, минимум два внутренних, потом пару внешних, а может и больше.
Наверное, я сейчас получу кучу камней в свой огород, но IT - это сейчас сфера примерно из того же разряда.
Скорее только на уровне джунов. Ну или мидлов, так как определенная "инфляция" рангов тоже может иметь место быть.
Все эти LeetCode-задачи на собесах, странные вопросы о том, как внутри на уровне кода устроены индексы PostgreSQL, задача сложить 2 числа без использования оператора сложения или вообще любая ерунда
Ну опять же, и да, и нет. Программист - это все таки сотрудник, который работает головой, ну как минимум высокого уровня. Если вы на это смотрите, как на ерунду - возникает вопрос, а может вы завтра и на таску посмотрите, как на ерунду :) Вам не интересно решать задачи? Ну такое ... вы же сами пишете, что там еще много кандидатов. Значит надо чем-то отличаться
ИИ может выполнять несложный копирайтинг и подготовку самых базовых промо-материалов, им заменяют специалистов первой линии техподдержки, но не разработчиков.
ИИ может банально помогать, хотя могу точно сказать, что бесплатный ChatGPT 3.5 врет безбожно. Но как минимум подкинуть идеи или просто красиво разложить фразу в пять предложений - почему бы и нет. Я пользуюсь нечасто и результат честно говоря так себе, но если ловлю какой-то затык - могу и спросить с перепроверкой потом в нормальных источниках
Ну, во-первых, все жалобы на собесы сегодняшнего дня поступают в основном от миддлов и выше ("я кучу проектов поднял, а теперь я должен знать про какое-то там DP, которое ни разу за все годы применять не пришлось"), во-вторых, вы слишком недооцениваете количество на рынке миддлов. Более того, вчерашние джуны тоже становятся миддлами.
Значит надо расти дальше, либо менять рынок приложения усилий. Сорян.
И моё мнение в целом такое, что вся энтерпрайзная разработка с этими её фронтендами, бэкендами, куберами и пр. нынче не является особо перспективным делом.
Ну такое. Блин, ну честное слово. Вы, я, другие - работаем за деньги. Меняем время на деньги. Энтерпрайз - это то место, где денег много, и они всегда готовы вкладываться. Конечно бывают кризисы и все такое, но в такие моменты многим плохо. Но там есть бюджеты, иногда (не всегда конечно) дорогие новые технологии и большие интересные проекты.
Про заводы и все остальное. Все намного проще. Вы получаете пропорционально added value к продукту. Чтобы added value был большим, надо быть более технологичным, так как просто работать усерднее и больше не канает. ИТ является такой нишей, но надо понимать, что в ИТ платят много не всем, а только те компании, которые в свою очередь берут много за свои услуги. Остальным - сорян, мы не в совке, тут единой ранжировки всех по разрядам нет. С заводами все еще хуже. С чего рабочему, который работает руками платить много? Если легко заменить, всегда найдется мигрант либо китайский завод в 10 раз больше, который выпускает продукцию банально дешевле. Если вы там крупный инженер, или еще кто - тогда да. Но для этой позиции тоже надо много учится, и часто еще со школьной/университетской скамьи. И так везде.
Как определить I-shaped, T-shaped, π-shaped специалиста, если не задавать ему много вопросов, большая часть из которых будет не по теме?
В данный момент для работы достаточно I-shaped, но предпочтение обычно отдают T- или π-, зачастую с пересмотром зарплатной вилки в большую сторону.
π-shaped специалиста
Простите темного, но π-shaped специалист это разве не тот, который "в резюме он Лев Толстой, а на деле -. простой"?
Это мы ещё не дошли до m-shape.
Речь вовсе не про резюме. Собеседование - не экзамен с проходным баллом.
Много вопросов задается лишь для составления "портрета" кандидата. Собрав картотеку таких портретов, работодатель, как в тиндере, делает свайп влево или вправо, определяет матч. Никогда точно не узнаешь, что именно ему понравилось, а что нет, точно также, как он не узнает, почему кандидат может отказаться от офера в пользу другой компании - слишком много факторов.
Собеседование это именно аналог экзамена. И либо оно успешно, и есть оффер на сумму которая устраивает, либо оно провалено.
Собеседование не аналог экзамена, а аналог свидания. Проверяется не с одной стороны соответствие формальным требованиям, а обе стороны решают, подходят ли они друг другу со всеми выявленными достоинствами и недостатками.
Это уже следующий этап. Торг по зп и за плюшки начинается уже после условной тех части, покрайней мере в большинстве случаев.
Но вы же не согласитесь работать в какой угодно организации у какого угодно начальника самодура? Даже если вам предложат за это ЗП, плюшки, печенюшки и даже какаву с маслом?
Собеседование это в том числе процесс смотрин на собеседующего, на то какие вопросы он задаёт и как обосновывает целесообразность этих вопросов. Помню один собеседующий сильно извинялся, что даёт задачки с литкода, честно признался, что ему стыдно, но он понятия не имеет как проводить собеседования и ничего лучше не придумал. В принципе произвел приятное впечатление.
Если мне положат оклад 20к долларов, мне будет все равно какой там начальник.
В общих чертах конечно вы правы. Но все же в первую очередь отбор идет со стороны работадателя. Гораздо чаще отказывают сотруднику, чем отказываются от оффера. А если мы говорим про джунов, то там любой оффер это счастье
Да, сейчас рабочие и работодатели в неравных условиях. Теперь собеседование - это экзамен для соискателя. Но если условия, процессы и т.д. будут воистину кончеными, то я и сам не захочу идти на такую работу. Ну просто реабилитироваться потом после выгорания - а надо оно мне?
Что делать
Авторов и выходцев разного рода курсов игнорировать полностью, эта ниша должна быть уничтожена. Главным пунктом в каждой вакансии должна стоять способность к самообучению кандидата, а не перечисление дюжины библотек на JS.
Выводы на спорных тезисах всегда спорны. Тем не менее есть один тезис с которым я согласен: да действительно индустрия настолько популяризовалась что в ней появилась масса "левых" людей.
"Левых" читай как "профнепригодных" по той или иной причине, не обязательно по причине неумения отличить гитлаб флоу от гитхаб флоу, или отличать логарифмы от квадратов. А, скажем, занимающихся резюме-драйвен девелопмент. Почему так - ниже будет.
Тезис этот затронул не только соискателя, но и работодателя. То есть не только многие люди которые программируют не умеют программировать правильно, но и многие люди решающие кадровые вопросы не умеют их решать правильно.
Порог входа в команду ориентированный на отсев по формальному признаку ничем не лучше на выходе чем творчество чат гпт. То есть настоящую задачу он не решает. Тут звучал вопрос "зачем напрягаться". Ну вот затем. Настоящая задача команды разработки это разработка и поддержка продукта. На этапе поддержки продукта рано или поздно возникает точка Ж (стоимость поддержки > стоимости переделывания), которую желательно отодвинуть как можно дальше. Связанная с ней кадровая "настоящая задача" состоит в том чтобы поддерживать команду способную отодвигать точку Ж вперед по оси времени. Этот момент нельзя убрать. Можно только отсрочить.
Состав команды всегда не константа, а поток. Состояние продукта это не константа, а поток. Если представить себе что из текущего значения потока команды мы можем сделать некоторое преобразование и применить его к текущему состоянию продукта, то результатом будет следующее состояние продукта. И эти эмиты идут постоянно. Какие бы методики и методологии вы не использовали все это надо или поздно приводит к деградации.
Если простыми словами - команда которая ищет не человека который ей подходит для работы над проектом, а ищет того который умеет проходить много секций тех-скринингов обрящет человека который умеет проходить много секций тех-скринингов. Это не коррелирует напрямую с его полезностью продукту и остальной команде в данный момент. То есть может и повезти с полезностью. А может и нет. Как в анекдоте про блондинку и динозавра.
И это не последствия февраля 22-го. Это было раньше и повсеместно и будет дальше и повсеместно - недопонимание методик техногигантов, которые буквально забрасывали любой проект деньгами и "универсальными" инженерами, то есть людьми отбираемыми по принципу наличия у них общей академической подготовки в области компухтер саенс, не вдаваясь в подробности продуктов, ведь если что его всегда можно похоронить, часть людей уволить, а формальных топ-перформеров закинуть в другой (они ж универсальные).
Вот такая вот хурма. Но вы знаете что? Я работаю в индустрии с 2002-го года, когда мне мои же одногруппники из универа говорили что "это не нормальная работа" и "ты упрешься в потолок по бабкам". И ни на что ее не променяю, потому что мне нравится и процесс и результат моего труда. Даже если она вернется в "то" состояние. Чего, я уверен, не будет. Слишком мы привыкли к автоматизации всего и вся в жизни. И рано или поздно, я уверен, наступит спад популярности курсов и установится баланс. Очень хочется надеяться что за счет того что подрастет доход в других, подчас более социально значимых профессиях.
А вы стрелочку поверните. В какой из вышеперечисленных категорий сорокадвухлетний айтишник с ускоренных курсов учителей/хирургов/пилотирования будет не левым? :) Вам вообще сама идея этих ускоренных курсов не кажется бредовой? Читали бы вы внимательно - поняли бы что никто не охает и в спортлото не пишет. Сегодня оно так. Завтра по-другому. Кто-то бегает туда-сюда за длинным рублем, кто-то работает свою работу и ей доволен. Я вообще за все хорошее и мимо всего плохого. Так что бесполезно на меня повышать буквы.
А сейчас они ахают, откуда в сфере столько "левых людей" и почему теперь каждый попадает на собеседованиях под раздачу.
Умные люди живут по принципу "деньги любят тишину". Но это не про айтишников с низким социальным интеллектом. И даже сейчас, до сих пор, попадаются дятлы "я сеньйористый сеньйор, кругом одна перхоть, моей восстребованности и зарплате ничего не угрожает.". ПОКА может и не угрожает. Но подрастут сегодняшние джуны, прошедшие жесточайший ествественный отбор... Вот ещё в тему https://habr.com/ru/articles/787694/comments/#comment_26413700
И рано или поздно, я уверен, наступит спад популярности курсов и установится баланс.
О да! И установится он тогда, когда статьи о перенасыщении рынка наберут критическую массу. Жду даже книжек на тему "Почему стать дворником сейчас выгодней, чем IT-шником".
Потом, ещë громко пукнет потенциальная разработка средствами AI. Когда окажется, что развитие этой технологии слишком преувеличивали. И, думаю, лет 5 спокойного рынка с нормальными ценами и умеренным ростом нас ждëт. Минимум, 5 лет.
Единственный минус: будет жëсткий дефицит джунов. А за ним - дефицит мидлов. И, к нашей старости за молодого сеньора компании будут готовы отдать всë.
Единственный минус: будет жëсткий дефицит джунов. А за ним - дефицит мидлов. И, к нашей старости за молодого сеньора компании будут готовы отдать всë.
С добрым утром, он уже СЕЙЧАС есть. Вакансии на мидлов закрываются вдвое-втрое дольше (да и те со значительной вероятность того что через месяц выяснится - человек не тянет), нормальных джунов - найти в принципе невозможно. Не то чтобы их стало меньше (наверное), но их просто нельзя отыскать в потоке вкатунов. Это кстати та самая причина по которой теперь джунов ни кто и не ищет.
Очень долгое время рынок IT пытался накормить всех. Даже тех, кто не особо умеет программировать. Отношение к качеству кода было крайне терпимым. А это негативно сказывается на уровне специалистов. Появились сеньоры, которые не умеют работать с линтерами, не знают паттерны проектирования или не применяют их. Во многих компаниях практиковали отказ от критики. Не от обвинений, а именно от критики. Сейчас, выжившим в этих условиях командам, требуются специалисты, готовые обеспечить критику кода, архитектуры, процессов. А их нет.
С другой стороны, в США компании увольняют айтишников тысячами. Не удивлюсь, если в России вскоре обеспечат условия для миграции IT специалистов, оставшихся без работы на Западе.
С другой стороны, в США компании увольняют айтишников тысячами. Не удивлюсь, если в России вскоре обеспечат условия для миграции IT специалистов, оставшихся без работы на Западе.
Это в России через 2-3 года начнутся массовые увольнения айтишников. Отечественное айти полностью повторяет те же процессы что и в США.
В 2008 - 2009 тоже были массовые увольнения в IT. Что же касается бизнес-процессов, то это надо подвергнуть критике. Сейчас Россия находится в особом положении. Мы вынуждены строить собственное производство и собственную сферу услуг там, где раньше могли воспользоваться импортом. Плюс, текущая ситуация на Западе страны, называемая трëхбуквенной аббревиатурой, чисто теоретически (сами понимаете, что нельзя конкретизировать) может определëнным образом отразиться на демографии. А это уже особые условия.
Сейчас Россия находится в особом положении.
Всегда, перед любым кризисом говорят "а сейчас всё по-другому, поэтому кризиса не будет". Рухнет нефть, бюджеты (гос и корпоративные) затрещат по швам. И первой под секвестр пойдёт как раз надуманная в своей важности айтишечка.
Ага, ага. В 2022-м году слышал эту историю, что к концу года русские помрут от голода, холода и отсутствия западной техники.
С другой стороны, в США компании увольняют айтишников тысячами. Не удивлюсь, если в России вскоре обеспечат условия для миграции IT специалистов, оставшихся без работы на Западе.
Да, я прям так и вижу, как тысячи айтишников из США прутся в страну, где платить им будут в несколько раз меньше, а для доступа к соцсетям нужно ставить какие-то там VPN'ы. К тому же, в России тоже профицит айтишников, при чём и без кучи мигрантов
Очень долгое время рынок IT пытался накормить всех. Даже тех, кто не особо умеет программировать. Отношение к качеству кода было крайне терпимым. А это негативно сказывается на уровне специалистов. Появились сеньоры, которые не умеют работать с линтерами, не знают паттерны проектирования или не применяют их
Большинству бизнесов, заказчиков и т.д. надо всё БЫСТРО БЫСТРО ШОБ КО ВЧЕРА БЫЛО СДЕЛАНО. Какое ещё при таком раскладе качество кода? Люди бы и рады писать буквально в академическом стиле, как Фаулер завещал, но на такое просто никто не выделит времени
Тем не менее, иностранцы переезжают жить в Россию. У нас есть определëнным преимущества. Например, у нас дешëвая электроэнергия, лучше качество Интернет соединения. Из-за этого, общее качество GUI web- проектов лучше. Иностранцы ценят доступность эко-продуктов в России. У нас более открытый доступ к лекарственным препаратам. Даже, к антибиотикам прошлых поколений. А что до дохода, то хочу напомнить: у нас налоги платит работодатель. Как и медстраховку, как и пенсионные отчисления. У нас дешевле отопление, при том, что зимой в домах температура может быть и 23 градуса тепла в мороз. Доступный спорт, множество экологически чистых (безлюдных) мест для отдыха и путешествий.
По-моему, уже давно развенчан миф о дикой России, в которой не хотят жить цивилизованные иностранцы. Хотят. Я недавно в родной деревне афро-француза видел. Уверен, его и его соотечественников в России может смущать разве что регулярное мытьë с мылом в горячей воде. И отсутствие полчищ крыс на улицах городов.
Хотя, разумеется, про крыс я утрирую: мыло и горячая вода - вот наше стопроцентное преимущество перед Францией. Ради этого можно оставить в прошлом и баррикады, и Марсельезу.
Ещё забыли добавить что там негров линчуют.
иностранцы переезжают жить в Россию
Кто, таджики? И что, среди них прям много айтишников? Или вы их собираетесь сгонять не на стройки, а на КУРСЫ ОТ ГУРУ ПИТОНА? Про все вкусности, о которых вы написали - я не был в западной Европе даже как турист и слишком мало знаю о жизни там, мне сравнить не получится. Но я что-то не вижу миграции в Россию каких-нибудь немцев, французов, голландцев, швейцарцев и др. Даже чехов и словаков нет. СМИ ничего подобного тоже не регистрируют. Про доступность лекарств я промолчу, многие необходимые мне после февраля 2022-го стали стоить дороже или пропали с полок, их заменители менее качественны. Антибиотики многие продают исключительно по рецепту.
Я недавно в родной деревне афро-француза видел
Полагаю, это был марокканец
мыло и горячая вода - вот наше стопроцентное преимущество перед Францией
Упасть и не встать. Мне кажется, вы кремлебот. Миф про грязную Европу давно развенчан.
Ну конечно. Ведь в вашем розовом мире любой, кто не почитает святую Европу и не ругает грязную Россию - кремлебот. Тем не менее, вы окормляетесь на русскоязычном Хабре, что вас не смущает. Видимо, цивилизованные иностранцы не сильно жалуют вас на Reddit.
Ведь в вашем розовом мире любой, кто не почитает святую Европу и не ругает грязную Россию - кремлебот
Европа не святая. США - тем более не святые, ну вот ни капельки. Россия - тоже нифига не святая, но ей ещё и управляют престарелые придурки, из-за чего она постоянно наступает на очевидные грабли и теряет все потенциалы, накопленное богатство, развитие и установленные международные отношения
Вы сейчас почти повторяете мантру некоторых российских чиновников о том, что надо привлекать айтишников из Китая. А как насчёт того, что многие российские айтишники и сами свалили в Китай? И мне тоже когда-то уже после февраля 2022-го пару раз писали рекрутэрши из Huawei. Ну да, миллионы китайцев только и ждут, чтобы оказаться ghosted после 7 раундов литкода в российском FAANG'e. Мечтайте
У вас опять какая-то подмена ожиданий и реальности. То у вас вдруг оказывается, что собеседование проходило на джуна, то вдруг европейцы и американцы резко превращаются в китайцев. А вы точно айтишник? Может, вы ещë и найдëте мою цитату, где я, якобы, говорил о приглашении в Россию айтишников из Китая? Или, хотя бы, расскажете, какая логическая связь существует между увольнениями айтишников в США и вашим резким переобуванием в Китай?
Вам минусов мало или что? Зачем вы продолжаете? Никто вашу правоту признавать тут не собирается
А вам? Восстановить карму - не проблема на Хабре. Проблема - это странно заплюсованный новорег seniorjoker, который жалуется, что его не взяли джуниором потому, что он не знает, как работает СУБД. При этом, сам он так не скромно рассуждает о том, что нравится западным айтишникам, а что - нет.
Впрочем, это проблема сообщества. Если хотят читать нытьë стажëра, который не в курсе что такое MVCC - это их выбор.
Ну и, сообщество Хабра - не ваш личный легион.
Но я что-то не вижу миграции в Россию каких-нибудь немцев, французов, голландцев, швейцарцев и др.
Ну, в следовых количествах есть, достаточно на фестиваль "Пир,сыр,мир" сьездить к Сироте - там регулярно пасутся перебравшиеся из Франции фермеры.
у нас налоги платит работодатель
Из собственных доходов, надо полагать?
Да. Из доходов компании. Работодатель тратит около 145% на сотрудника. Зп + налоги + взносы. Налоги + взносы составляют около 45% от зарплаты. То есть, если сотрудник получает 100 000 в месяц, то работодатель платит около 145 000 самому сотруднику, налоговой, ФСС и ПФР (сейчас объединились).
Если айтишник заключает договор как ИП, то при УСН будет 8% + взносы + траты на бухгалтерию и бизнес-структур. Но, менее 45%. По патентной системе и договору самозанятости не подскажу.
Просто, в большом числе стран, работники сами платят эти налоги и взносы. То есть, если в России применить эту схему, то работник мог бы получать 145 000 рублей, но после вычетов у него оставалось бы 100 000 на руках. Чисто гипотетически, разумеется.
По факту работодатель платит налоги работников из заработанных ими же денег, а не своих, уменьшая на соответствующую сумму их зарплату.
Поэтому непонятно, что в этом будет такого привлекательного для потенциальных иммигрантов.
Это другая система налогооблажения: сумма до вычета налогов превышает сумму после вычета. Плюс, из-за этой системы могут отличаться траты на жильë, хорошие продукты и т.д..
Я встречал достаточно иностранцев в России. Да, это не трудовая миграция. Случаи единичные, но достаточные. На Западе тоже не слабая пропаганда, и люди часто оценивают риски поездки в Россию. Кто-то считает, что у нас медведи ходят по улицам. Кто-то, что у нас полиция лупит людей палками. Однако, есть те, кто, например, имеет русские корни. Встречал однажды такого канадца. Скажем так, уровень жизни россиян он оценил.
ГВС, насколько я знаю, во Франции нет. А если и есть, то далеко не везде. Легенды о французах, которые споласкиваются без мыла - это старый и далеко не кремлебот ский анекдот. Да, климат там мягче, чем в большинстве городов России. Но уровень жизни у нас вполне привлекательный.
И потребность в IT сейчас есть лет на пять, если санкции не снимут. Я просто не могу сильно об этом говорить. Поищите инфу про ситуацию с SAP, например.
Т.е. вы хотите сказать, что если вдруг ставка ЕСН вдруг (гипотетически) понизится, то ваша з/п автоматически повысится? Так вот - нет. Это работает только со ставкой НДФЛ.
Естественно, что при формировании ФОТ ЕСН учитывается, но прямой автоматической связи тут нет.
И, кстати, отчисления в ПФР снижаются для работников с з/п выше определенного предела (около 150тр) т.к. количество пенсионных баллов начисляется исходя из этих отчислений, но не может превышать 10 в год. И вот эта предельная сумма з/п, которая дает 10 баллов в год и есть тот порог, дальше которого отчисления в ПФР фиксируются. Т.е. что 170тр, что 250тр - в ПФР будет отчисляться одинаковая сумма (не в процентах).
Да. Из доходов компании.
Какая умилительная подмена понятий! Доходы компании откуда берутся?
Просто, в большом числе стран, работники сами платят эти налоги и взносы.
Поэтому в тех странах не удается навешивать лапшу на уши электорату и перекладывать многие "социальные" траты с больной головы на здоровую - все, а не только бизнес, понимают что такое налоги, поэтому у всех, а не у только бизнеса, может возникнуть неприятный вопрос, куда и на что идут их налоги.
О, я почти 9 лет работаю как ИП. Жена в штате. IT отрасль позволяет мне кормить достаточно большую семью с детьми. И жить довольно неплохо. И я вижу те деньги, что я плачу налогами, взносами. Я видел врачей, которые отказывали мне в больничном, при том, что я отрывал от сердца деньги, чтобы оплатить свою медстраховку. И, скажу честно: устроившись на белую зп, я почти расслабился. У этой системы налогооблажения есть множество плюсов. Если, конечно, ты получаешь нормально. Каждый айтишник - это маленький бизнес. Он получает, как владелец шаурмячного киоска до оплаты расходов. Он может фанатеть от жизни за границей. Не скрою: я бы хотел жить в Испании. В Барселоне, чтобы болеть за местную команду по футболу. Но мне многого не хватало бы.
Но, речь не об этом: айтишники - это маленький бизнес в одном индивидууме. Это проявляется не только в доходах, но и в самоорганизации, в дисциплине. Мы занимаемся тайм-менеджментом. Мы повышаем нашу эффективность без пинков от батьки-руководителя. Мы ищем пути созидания. И мы - разные. Кто-то уезжает в Европу, кто-то - в Тайланд. Кто-то остаëтся. Я не понимаю, какого фига отдельные щеглы полуайтишники берут на себя обязательства судить тех или иных. Да, в Европе и США не всë мëдом намазано. Как и в России. Не нужно кричать, что ваши коллеги из этих стран не захотят ехать в Россию. Россия - нормальная страна по уровню жизни. Прекратите проецировать свои амбиции на коллег. Уверен, что среди нас есть те, кто хотел бы жить в холодной Исландии, или на душном Экваторе. Другие предпочли бы пустыни Северной Африки или постоянно омывающмйся кровью и нефтью Аравийский полуостров.
Фантастическая подмена понятий - это когда вы пытаетесь проецировать на всех коллег ваше желание жить там, где вам трава кажется зеленее.
Но, речь не об этом: айтишники - это маленький бизнес в одном индивидууме. Это проявляется не только в доходах, но и в самоорганизации, в дисциплине.
Я нахожу этот тезис, мягко говоря, довольно спорным. Уровень непонимания бизнеса средним (в смысле среднестатистическим) айтишником отлично виден в статьях и комментариях на Хабре. Это не минус такому среднему айтишнику, тем более что в своей профессии он может быть прямо звездой и быть объектом заслуженного уважения коллег и нанимателей. Бизнес - это совсем другой род деятельности, не лучше или хуже, просто мало кому подходящий по темпераменту и в котором мало кто добивается успеха. Ну а в ситуациях преобладания коррупции, сращения крупного бизнеса, криминала и власти, само слово бизнес в отношении таких конгломератов приводит к искажению и девальвации термина. В общем нет, не согласен. Маленький бизнес в одном индивидууме - это фрилансер, таких немало и, как ни странно, некоторые предпочитают вернуться на постоянную работу на кого-то, где кто-то извне создает рабочее место, дает работу и продает ее результаты чтобы из части заработанного оплатить свои агентские услуги, а из оставшегося выплатить оговоренную зарплату. И это несмотря на потерю самостоятельности и подчинение чужому распорядку начиная от распорядка дня.
Возможно. Бизнес - он разный. Но повышение своей эффективности в IT - это, собственно, то, что отличает большинство выпускников курсов от тех, кого отрывают с руками и ногами. Если честно, об этом должны быть статьи на Хабре: как использовать метод помидора, как начать заниматься спортом, как выгодно использовать своë ДМС? Как писать код нонстопом? Как учиться писать код под линтеры? На что обращать внимание при ревью? Как выбрать быстрый путь решения проблемы? Как оставить время на чтение книг и решение лит-кода (привет деду Мартину с его Идеальным программистом)?
Кризис? Кризис был всегда. Я не помню жизни без финансового кризиса. IT прекрасно развивалось все эти годы с падением в 2008-2009 годах. Но, в целом, график найма в IT всегда полз вверх. Человечество не может без IT. Просто, не все айтишники готовы осознать своë призвание. Свою обособленность. И очень многие люди мечтают загнать нас в рамки. Сейчас, многие из них заканчивают курсы и хотят войти в IT. Не войдя, ещë больше мечтают загнать нас в рамки. Доказать, что мы - такие же работники на дядю. Наверное, когда воины в железном веке нападали на соседских крестьян, среди последних ходили разговоры о том, что воины не обрабатывают поля, и, несомненно, помрут с голода без крестьян. Однако, пара разорëнных деревень быстро возвращала балаболов в чувства. И современное развитие IT ни чем от этого не отличается. Разве что, рандомный айтишник ещë не может собрать робота-убийцу для донесения своей позиции до граждан. Но, слышал, над этим работают.
С добрым утром, он уже СЕЙЧАС есть. Вакансии на мидлов закрываются вдвое-втрое дольше (да и те со значительной вероятность того что через месяц выяснится - человек не тянет),
Ерунда. Научитесь искать людей, научитесь проводить собесы, тогда у вас всё будет в порядке. Нет никакого дефицита толковых спецов. Просто ваши собесы одобряют тех кто лучше всего умеет проходить собесы, а не работать.
Вся надежда на третий вариант. Когда из IT уйдут деньги, программирование снова станет уделом увлеченных гениев, как было двадцать лет назад.
Не совсем согласен, 20 лет назад уже было явно понятно что средняя зарплата в программировании будет прилично больше общей средней и перспективы у отрасли растущие. Вот ранее, в 90е , это было не так очевидно.
Однокурсник в лучшей ИТ-компании нашего города получал тогда 30 тыс. руб., а доллар был 30 руб.
Это вы в подтверждение или опровержение? Так 1000 долларов в 2004 было прямо хорошо, вот только что прогуглил - средняя по РФ тогда меньше 7 тысяч рублей. И да в 2004 это была прямо хорошая зарплата в районе уровня мидла в Питере, но там дальше с каждым годом росло все заметно. Эх, были времена.
Это в пример. Правда, из 2008 года.
ооо, так 2008 и 2004 это тогда "две большие разницы" были. У многих возрастных, работающих в РФ 2008 чуть ли не топ зарплаты в долларах, как ни прискорбно.
И да, для 2008 30 тыщ. было немного уже.
С учетом инфляции это ±2 тыс $ (в переводе из тех $ в нынешние $), что соответствует текущим ±180 тыс. руб.
Я не экономист, поэтому ориентируюсь только на собственное субъективное ощущение. Тогдашняя зарплата программиста не вызывала у меня желание променять на нее свою зарплату ассистента на кафедре, потому что не слишком от нее отличалась. А сейчас программист получает примерно 10 зарплат доцента в месяц.
Это уже локальная специфика. В большинстве стран средняя ЗП программиста не сильно лучше ЗП других профессий.
Я к тому что кажется это не ЗП программистов драматически выросли, а ЗП других специальностей драматически упали в РФ.
ЗП в отрасли зависит от того, сколько там крутится денег в целом.
ЗП в IT у нас в значительной степени определялись тем, что очень многие работали на западный рынок где уровень ЗП в принципе выше. В отличии от многих других отраслей, работающих исключительно на рынок внутренний.
Сейчас западные рынки закрываются и ЗП в IT неизбежно падают т.к. рынок становится больше внутренним чем внешним.
20 лет назад они точно таковыми не были. "Прилично больше общей средней" имел какой-нить языкастый продаван в Эльдорадо или вахтовик с Ямала. У меня знакомый бросил админство и пошёл в таксисты. Что-то вырисовываться начало только в 10ые. И то очень точечно. Фронтенд, жава-финтех. А какие-нить Cи-микроконтроллеры как не видели никаких денег, так и не увидели. Говорят только сейчас у них что-то начинает наклёвываться.
Что начинает?
Наклёвываться.
Наклёвываться
Да ладно, это же производство - кому еще нужны контроллеры, кроме как конторам-разработчикам каких-то устройств? Разработали, сторговались с китайским "подвалом" насчет производства - все, дальше в дело вступают продажники. И только уже от успехов продажников зависит, понадобятся ли разработчики следующей модели в принципе.
Однозначно наклёвывается. Мне сейчас часто стали прилетать вакансии (на резюме, никак не связанное с разработкой электроники, ну да ладно). Там 200 тыр вполне часто обещают. Это, конечно, ещё не ИТ-шный уровень, но и с давешними 40-50 уже не сравнить.
И да, сугубо гражданская тема там вполне присутствует.
200 нынче это топ айтишный уровень. Требований за отдел и все мозги на собесе высушат. Притом это для Москвы.
Низнаю :) Мне недавно предложили 320 на руки. Java + немного React, опыта у меня 3 года, на собесе "просто поговорили" без какой-либо сушки мозга. Тема - гражданский завод, работать удалённо.
Я не особо верю в мульёны, о которых вещают успешные блогиры, но на 400-500 вакухи иногда пробегают, правда там и требования/опыт побольше.
Я с вами серьезно, а вы словами играетесь...
Ну, очевидно что для войнушки нужно много разннобразных девайсах с разннобразными микроконтроллерами внутри.
Не совсем согласен с мнением. Если речь про VACUUM или индексы - это утрирование - ок. Если же кого-то действительно удивляет знание таких вещей - скорее всего вы занимаетесь разработкой, где решаются простые задачи, например создание сайтов на тильде. Про кубернетес и энтерпрайз вообще не понял немного, а есть какой-то другой вариант разработать что-то большее, чем hello-world? У вас задача - написать устойчивое приложение на 100к юзеров дейли, 99% SLA и чтобы пики нагрузки нормально обрабатывать (autoscale) и все красиво чтобы было и хорошо, с метриками там, логами, это как решается? Монолитом? А патчи вносить будем наверное через `ssh nano logic_file.py`. Может я не так понял, поясните
Писать надо корректно, тогда вопрос "высокой нагрузки" или отпадет сам собой, как уже показывал:
Микрофреймворк ПХП 7.4 на xore2duo 2ггц и 1гектаре оперативы вытягивает 2500 запросов в секунду на одном ядре, куда вам "выше"?
Или дойдет, что любой "монолит" можно масштабировать вертикально, если с умом и гарантировано не имеет сетевого оверхеда.. не всё то плохо, что вышло из моды, как например бизнес-логика на хранимках в СУРБД.. тоже исключает много оверхеда.
Иное дело, что Истина, как всегда, посередине и проектировать архитектуру приложения надо с умом..
Если вариант поместить все в монолит и хранимки будет работать - то почему бы и нет. Но, как мне кажется, зачастую современная архитектура внутри компании не позволяет решать вопросы таким образом, потому что данные нужно отправить в одно место, потом в другое, принять из третьего, и чтобы все это работало без single point of failure
Микрофреймворк ПХП 7.4 на xore2duo 2ггц и 1гектаре оперативы вытягивает 2500 запросов в секунду на одном ядре, куда вам "выше"?
Что есть "запрос"? Что по нему делается? А если по запросу надо сделать выборку в несколько тысяч строк из 5-ти таблиц в каждой из которых от нескольких десятков до нескольких сотен миллионов записей? Потянет оно "2500 в секунду"?
Не поверите, но у нас сервера IBM Power E980. Каждый сервер это
• 120 SMT8 процессорных ядер Power9
• RAM - 12Тб
• Storage - 400Тб на SSD
штатная загрузка - 50-60% В пиках (например, перед НГ) до 90%
И это не микросервисы. Хотя и не монолит. Система "многопользовательская" - много модулей (десятки тысяч), каждый отвечает за свою логику. И (в общем случае) работает в отдельном изолированном задании (job). Они могут между собой обмениваться информацией (например, через "конвейеры" на пайпах или системных очередях), но в целом изолированы друг от друга. Каждый модуль может разрабатываться, дорабатываться, тестироваться и внедряться независимо от других.
Это было тестовое сравнение промеж Zend, Yii2, Laravel и вот такой микроподелкой на древнем компе с 1 гектаром оперативы и core2duo под Nginx + php-fpm в один поток.
Тестовая задача: MVC сайтик, принимает запрос, диспетчеризация в контроллер, вызов модели с 1 запросом в мускуль (по pkey отдай небольшой текст) и рендеринг view с форматированием.
Микрофреймворк: сбор параметров запроса в ассоциативный массив (uri, get,post,cookie - в кучку), рекурсивный диспетчер (модуль-группа-контроллер), метрики (память, время), ассеты (css, js), layouts, sql на PDO. Суммарно 6 классов и тройка файлов, включая стартовый index.php .. Дополнительно для env=dev выдавал на страничку скрытый div с отладкой и профилированием запроса. Можно было открыть в браузере и посмотреть чего делалось и сколько потратилось.. Диспетчер мог после себя вызывать и стандартные фреймворки. Собственно и делался как постепенная замена для сайта на zend2 в свое время..
Выкладывал на ussr.monster сайтик с инструкцией из 10 страничек как писать подобный сайт на этом микрофреймворке (по сути самоописание) .. думал потом чем-нибудь полезным наполнить, но .. так и було заброшено, ибо не придумалось ничего. А платить просто так за хостинг - зачем?
Из тестированного самый шустрый - Yii2 с показателем 192 запроса в сек. Остальное хуже, цифирь уже не помню. Сильно хуже..
Про кубернетес и энтерпрайз вообще не понял немного, а есть какой-то другой вариант разработать что-то большее, чем hello-world
Ох уж эти любители впихать всё в кубернетес. Ответ: другой вариант есть. Не использовать кубернетес. Например, для БигДаты и всяких Спарков. Да и даже для РСУБД в пром-окружении. Им от ваших куберов не очень хорошо.
Есть. Вот у нас
27 тыс. программных объектов
15 тыс. таблиц и индексов базы данных
Более 150 программных комплексов
Занимает более 30 Терабайт дискового пространства
В день изменяется более 1,5 Терабайт информации в БД
За день выполняется более 100 млн. бизнес операций
Одновременно обслуживается более 10 тыс. процессов
Докеры-кубернетисы? Не, не слышали. А зачем они?
Отказоустойчивость, как догадываюсь обеспечивается тоже.
Занимает более 30 Терабайт дискового пространства
В день изменяется более 1,5 Терабайт информации в БД
У вас действительно изменяется каждый день 5% всей имеющейся информации?
В среднем - да. Сами смотрите - несколько сотен миллионов бизнес-операций в сутки проходит. А это платежный документ, проводка, полупроводки, мультивалютная проводка и т.п. Это не считая всяких клиентских данных, рассылки уведомлений, регулярной отчетности и т.д. и т.п.
Плюс к тому
Ежедневно в АБС выполняется процедура закрытия банковского дня (EOD), в которой выполняется обслуживание всех без исключения сделок и бизнес сущностей.
В процедуре закрытия дня производится более 500 миллионов изменений в БД, при этом eё длительность составляет около 4 часов.
Там и пересчеты лимитов, начисление процентов и т.д. и т.п.
Банк это не просто счета-проводки, но огромное количество самых разных бизнес-сущностей.
Все равно не понятно. Каждый день меняется 5% информации. Получается, что хранится история примерно за последние 20 дней. А куда девается вся прежняя история?
О какой истории речь? Откуда 20 дней?
Вот есть баланс по счету. У него нет истории. Хранится текущее состояние в таблице счетов. Но меняться оно может столько раз, сколько вы пользовались этим счетом. Но кроме счетов еще огромная куча информации которая хранится, обновляется.
В банке же огромное количество процессов работают одновременно и далеко не все связаны с платежами.
Взять те же списки росфинмониторинга - террористы, экстремисты и прочие злодеи-бармалеи. Там несколько сотен тысяч персонажей, у каждого несколько имен, паспортов и прочих данных. Росфин регулярно присылает свежие версии. Мы их принимаем и раскладываем по своей базе (сравнивая что было, что стало, что добавить, что удалить, что изменить) - там в базе порядка 20-ти таблиц и более 80-ти индексов только по этим спискам. Потом надо сравнить всех наших клиентов со всеми персонажами списков, найти совпадения и построить т.н. "стоплисты" - кто из клиентов по какому признаку совпадает с кем-то из персонажей списков. Там тоже - что было, что стало - добавить, удалить, изменить. И даже если сегодня не было свежей версии списка, все равно надо выбрать клиентов у которых были какие-то изменения в данных и проверить их - что там с совпадениями (т.е. в той или иной версии эта сверка прогоняется каждый день и каждый день могут быть обновления в стоплистах). И это только маленький кусочек работы банка.
Есть всякие уведомления. Типа есть клиент, у него к счету привязана его карта и еще карта на имя жены. У клиента истекает срок действия паспорта (по возрасту). Надо послать уведомление что через столько-то дней паспорт станет недействительным и будет заблокирован. И ему и жене его послать. И сделать отметку в таблице что уведомление послано. Эта процедура каждый день прогоняется (на самом деле их там с десяток разных).
Есть огромное количество всякой служебной информации - различные логи (да, они тоже в таблицах БД хранятся) и т.п. Там глубина хранения ограничена, но все равно туда постоянно что-то пишется (и мониторится сопровождением).
Есть всякие рабочие таблицы куда идет временная служебная информация по всяким процессам. Оно долго не хранится, но пока процесс идет, туда постоянно что-то пишется, меняется и т.п.
Выписка - это отдельная тема. Там да, там платежные документы, они хранятся. Но тут подробностей не знаю - где, как, сколько хранится. Я с платежами не работал (я больше по клиентским данным и комплаенсу) кроме как комплаенс-проверки в рамках контроля платежей, но там работаешь с конкретным платежным документом который тебе передали. Что с ним потом происходит я не знаю. Что-то на ленту скидывается, что-то на резервные сервера, тут просто не в курсе.
Это вообще огромная система, тут много команд работает, каждая по своему направлению (система расчетов, комплаенс, клиентские данные, тарифы, лимиты, зарплатные проекты, пластиковые карты...) И в БД постоянно что-то пишется, читается, изменяется... Охватить все это одним взглядом и рассказать как оно все целиком работает малореально.
И да, у нас сейчас порядка 50млн клиентов. И с каждым связан длинный такой паровоз всякой информации - счета (которых может быть от 3-5 у обычного физика до нескольких десятков если не сотен у крупных корпоративных клиентов), карты, клиентские данные - там одних адресов может быть штук 6 разных видов, документы, контакты, всякие доверенные лица, держатели карт и бог весть что еще. А еще всякие риски, запреты и прочее и прочее. И все это не статично - то кто-то паспорт поменял, то телефон изменился, то адрес то еще что-то...
Те данные что привел, это скорее оценка от сопровождения, которое мониторит все процессы, нагрузку на сервера и т.п.
Я вот другого "боюсь" , что куча "реально крутых биокиборгов" в it на волне хайпа залетело. Они бы, например, в ином случае бозоны открывали или мега-бизнес создавали, а теперь с ними приходится конкурировать за "хлебные" места.
ИИшечку можно напрячь отвечать шизофазией на шизофазию (Назовите пять плюсов и минусов role_name. Ваши планы на 10 лет? и прочее)
«Юристов сейчас, как собак нерезаных», — это выражение уже стало притчей во языцех.
Вот-вот, в 2003 году, когда я закончила школу, так говорили все. И я поступила учиться на программиста. А теперь так говорят о программистах, и я начинаю жалеть, что бросила музыкальный колледж, куда поступала для общего развития несколько лет назад. Наверное, диплом хорового дирижера мне бы и то больше пригодился в жизни, чем мой совершенно бесполезный диплом программиста.
Я хотел в мед поступать. Был бы сейчас имплантологом, открыл бы свою практику. Всяко лучше чем в 35 в очередной раз доказывать на собесе что ты знаешь как работают индексы btree.
Неистово плюсую. Правда, я с самого начала хотела быть именно программистом - придумывать алгоритмы, писать код, - и если бы повернуть время вспять, то все равно выбрала бы ту же профессию. Но она меня никогда не кормила и сейчас по сути не кормит. Программист - это состояние души...)
Я когда в старшых классах перебирал варианты, в том числе немного думал о меде. И мне мама сказала - в меде так тяжело учиться, ужас как тяжело. И я сразу отбросил эту мысль. Гы-гы ирония оказалась в том, что в итоге я отучился на Физтехе (МФТИ). И я не знаю, как там в медах, наверное действительно тяжело, но думаю, что всё таки не настолько адски тяжело как на Физтехе.
И это уже не говоря о том, что после института пришлось осваивать профессию программиста почти с нуля, т.к. очень много учили физике и математике, но собственно программирования было мало.
Я не думаю что в меде было бы тяжелее чем в МФТИ. Были у меня знакомые троечники в школе, списывали у меня биологию. Поступили в мед и закончили даже. Я думаю состоявшиеся itшники головой умеют шурупить, значит скорее всего медицинское образование им тоже дастся.
Аналогично. Тоже физтех, только УПИ (минсредмашевский тогда еще факультет). Физмат база на уровне физфака универа + спецкурсы. Программирования не было от слова совсем - 2 семестра вычтехники зачетом, написали на бланке программку на фортране, отнесли девочкам на ВЦ, потом забрали распечатку с результатом работы. Вот и все программирование. Сказал бы кто тогда что буду разработчиком - долго бы смеялся.
Из доступных "компьютеров", которые можно было руками пощупать - Искра-1256. Кто-то даже пытался для нее писать программку для "ядерно-физического и теплогидравлического расчета реактора", но не сильно успешно - даже нулевую итерацию посчитать у нее мозгов не хватало.
Первый комп, на котором писал что-то осмысленное (обработка экспериментальных данных) - уже после института в 88-м, СМ-4. Первая персоналка - в 89-м PC/XT. Ну там еще ДВК-3 была, но не прижилась как-то.
Первая персоналка - в 89-м PC/XT. Ну там еще ДВК-3 была, но не прижилась как-то.
Попал в эти годы в геофизический институт, там семейство ДВК было в ходу. Математику программисты писали на Фортране, взаимодействие с железом на Ассемблере, а мы простые железячники отладку делали в машинных кодах. PC/XT в начале почему-то не зашло, что-то связанное с прерываниями, а дальше я уволился.
Серьезная математика (то же машинное моделирование методами молекулярной динамики) писалось на фортране под Эльбрус (еще тот, советский) - сама машина была в ИММ (Институт Математики и Механики), у нас был терминал от нее и выделялось машинное время под наши задачи. Но этим отдельная группа занималась, я там не участвовал.
На все остальное - PC (СМ-4 к тому времени совсем помирать начала). В основном обработка экспериментальных данных - статистический и регрессионный анализ. Там объемы данных были невелики, PC вполне справлялась с этим. Собственно, это, что я тогда писал главным образом.
Уволился в 91-м, дальше уже много чего всего было, но это другая история.
Для того чтобы постараться найти плюсы, опишу другую концепцию. Для того чтобы сосикатели находили более конгруэнтные для себя рабочие места, а работодатели более подходящих сотрудников, перебор должен идти медленнее при прочих равных. Но это в целом повысит уровень счастья и эффективности. Все будут на своем месте.
Недавно спрашивали на собесе по джава как работает ассемблер для какой-то там операции. Ассемблер? На собесе по джава?! По голосу 50+, перед вопросами рассказал о команде, обосрав всех коллег, включая с других отделов и бывшего джависта, на место которого ищут. Мол, молодежь не чтит то и то.
Не понимаю, в каком мире живут люди, кто спорит с автором. Опыт 13 лет, на хх.ру откликаюсь на вакансии - из 50 откликов только одно приглашение на интервью. Резюме не менялось за годы. 3-4 года назад примерно половина изъявляли желание общаться при тех же вводных. Имхо, рынок действительно перенасыщен.
Пора фиксить прибыль и в деревню кроликов растить
Нынче курочки и яйца в цене..Даже тут не угадаешь "стек" (
Полтора года от закладки яйца будущей несушки в инкубатор до вынимания первого яйца из под этой самой несушки. При полном отсутствии гарантий что она выживет до своей окупаемости.
Потянете при нынешних горизонтах планирования? И уверенности в ставке ЦБ?
ИИ может выполнять несложный копирайтинг и подготовку самых базовых промо‑материалов, им заменяют специалистов первой линии техподдержки, но не разработчиков.
Решения на основе LLM моделей - это ассистенты и крайне полезные, если понимать как они работают. По тому же gpt4 есть ряд сильных работ, которые достаточно четко описывают как от него добавиться результата. Нытье в стиле НЕЗАМЕНИТ МЕНЯ РОБОТ - очень глупо. Учитесь пользоваться, иначе джуны со скиллами обойдут вас в ближайшие годы на раз два. Так как обучаться новому с ними проще, а мозги у них пластичнее. Полезная статья https://platform.openai.com/docs/guides/prompt-engineering/six-strategies-for-getting-better-results и исследование https://cdn.openai.com/papers/gpt-4.pdf на почитать
В пользу последнего также говорит количество разработчиков ПО из Индии — страны, которая буквально утопает в нечистотах.
? какое высокомерие. Прошу любить и жаловать калифорнийский пейзаж, где все фаанг гиганты:
![](https://habrastorage.org/webt/uu/wc/8r/uuwc8rdylox5j1qgtz0toyeqjka.png)
Тут весь вопрос не в количестве мусора, а в скорости его уборки.
Ну а индусы...Это такие ребята, для которых процесс важнее результата. Не важно, что пол после мытья может быть грязнее чем до. Зато все видели, что пол мыли. И он - вымыт!
Ну и в порядке вещей тщательно подмести дорожку от дома до калитки, собрать весь мусор и выкинуть. За калитку. Там уже не моё.
А может количество мусора объясняется тем, что это развивающаяся страна с наибольшей популяцией в размере > 1.4 млрд человек? Всё у них будет замечательно с мусором, дайте им немного времени.
А программисты и инженеры у них уже есть замечательные и в бОльшем количестве, чем в СНГ. Плохих тоже больше. Только если вам попадались плохие, не думайте что все такие, а то велик шанс зазнаться.
Ну и в порядке вещей тщательно подмести дорожку от дома до калитки, собрать весь мусор и выкинуть. За калитку. Там уже не моё.
Узнаю ряд дачных товариществ Псковской и Ленинградской областей. Или это про Индию было?)
Правда хочу сразу отметить, что в указанных областях тоже ситуация уже сильно лучше, чем было 5-10 лет назад.
Прошу любить и жаловать калифорнийский пейзаж, где все фаанг гиганты:
Ну так, можно вывезти индусов из Индии в GBay Area, но нельзя вывезти Индию из индусов.
Среди бомжей и нарков на улицах кали количество индусов почему-то стремится к нулю...
На H1B сколько-то дней на поиски новой работы, потом депортация.
А как там технически происходит депортация? Тебе по (бумажной) почте приходит уведомление что ты подлежишь депортации, после чего ты сам являешься в депортационный офис, тебе страшно грозят пальчиком и депортируют?
Просто, судя по ужосам о нелегальных мигрантов, которые нам тут рассказывают, ради выдворения отдельного индийца никто спецоперацию ФБР устраивать не будет и он может спокойненько продолжать жить нелегалом. Официально работать при этом будет (наверно) затруднительно, а вот бомжевать - милости просим! :)
Что мне не даëт покоя в чтении этой статьи? Вот, вроде, всë правильно... Но, если копнуть глубже, то та же команда Vacuum - это часть механизма MVCC в постгре. И знать об этом механизме сеньор, работающий с постгре, обязан. Об ULID впервые слышу. Литкод на собесах не гарантирует знания и понимание - только то, что соискатель решает задачки литкода. Честно говоря, недавно менял работу и мне лично задачки литкода не попадались на собесах.
Вообще, в статье со многим можно согласиться, и со многим - поспорить. Например, когда я искал работу, у меня не было ни недостатка в жирных офферах, ни передышек между собесами. Поэтому, даже не знаю, как относиться к подобным заявлениям, что рынок сейчас отказывает не только джунам, но и более квалифицированным специалистам. При том, что с самого начала статьи вы ставите под вопрос некоторые вещи, которые входят в минимальные компетенции (Vacuum для постгри).
Скажем так: когда я начинал в IT, мы работали за еду. Мидлы, с которыми я сейчас работаю, сплошь говорят о том, что когда они начинали, им давали деньги просто так. И такой период, действительно, был. Из-за него, рынок перенасытили курсами разработки. Но, большинство людей, которые идут на курсы - это люди, которые хотят лëгкие деньги. Я начинал работать тогда, когда перспективы в IT делились примерно так: 70% вероятности, что ты будешь собирать сайты в веб-студии, 20% - что ты пойдëшь на фриланс, где сидишь без денег от заказа до заказа, 10% - что ты пристроишься в хорошую фирму получать большие деньги. Или, хотя бы, средние. Я шëл в IT и Web не потому, что там круто платили. Наоборот, в то время студии клепали сайты на заказ, и интернет-магазин был самым сложным продуктом, который выпускали даже и не всё студии. На фрилансе было не так много заказов, и между ними можно было реально сидеть без денег. Люди из фриланса шли в веб-студии потому, что последние гарантировали ежемесячный доход. Я шëл туда потому, что мне нравилась эта работа. Мне нравилось разделение GUI на JS+HTML и бэкенда на скриптовом языке. Нравилась необходимость изучать больше технологий, чем разработчики десктопных приложений. Поэтому, когда я гляжу на современный IT рынок, единственная вещь, за которую я уважаю коллег, пришедших с курсов, или просто ворвавшихся в IT - это регулярный буст зарплаты. Они готовы требовать от работодателя больше, работая меньше (или хуже). Поэтому, людям, которые работают больше и лучше, работодатель готов платить ещë больше. Если даже не наглеть, то буст зарплаты, как минимум, опережает инфляцию. Важно просто любить то, что делаешь и развиваться.
И знать об этом механизме сеньор, работающий с постгре, обязан
Забыл упомянуть - то собеседование было на джуна...
Честно говоря, недавно менял работу и мне лично задачки литкода не попадались на собесах.
Это по нынешним временам уже аномалия. Примерно 8 месяцев назад была статистика, что ~48% дрочат людей литкодом, и их число с каждым днём только увеличивается. Какой у вас стэк и в какие компании вы собеседовались?
когда я начинал в IT, мы работали за еду
Я за вас крайне рад, потому что сегодня начинающим даже грошей не платят
Забыл упомянуть - то собеседование было на джуна...
Как быстро меняется контекст вашего повествования. Что ещë вы нам забыли сообщить? Что знакомый из банковского сектора, который тоже не знал про vacuum, стоит в окошке на кассе?
Какой у вас стэк и в какие компании вы собеседовались?
Достаточно большой стек. Если в общих чертах, то python для Web (бэкенд) на различных фрэймворках. Только коммерческой разработки 9 лет. И ещë несколько лет работы в Web-студии на другом стеке. Долго перечислять всë, с чем я работаю. А компании называть не хочу.
Я за вас крайне рад, потому что сегодня начинающим даже грошей не платят
А вы думали, что этот поезд будет ждать всех пассажиров?
И знать об этом механизме сеньор, работающий с постгре, обязан.
Об ULID впервые слышу
Вы нам не подходите. Потому что наш сеньор считает что вы обязаны это знать!
Наслаждайтесь.
Я далеко не во всем согласен с автором, но вот это:
«Юристов сейчас, как собак нерезаных», — это выражение уже стало притчей во языцех. С середины 90-х по середину 00-х эта специальность была крайне престижной и учили ей много где. Юристов буквально штамповали. Шли туда в основном по наставлению родителей, или те, кто понятия не имел, чем им вообще в жизни заниматься. Аналогично с экономистами.
Наверное, я сейчас получу кучу камней в свой огород, но IT — это сейчас сфера примерно из того же разряда. Сидит человек, не знает, во что ему податься, на завод не хочет. Сидит себе просто за компом и втыкает в мемы. И видит, что есть сфера, где надо пыриться в монитор и что‑то печатать, и за это будут платить деньги. Он решает, что это ему подходит, и идёт учиться на эту специальность. Ну или просто не хочет быть вышеописанным юристом и экономистом, поскольку знает, что их и так хоть жопой ешь. А информатика и программирование кажутся более лёгкими для освоения, чем биология, химия, физика или рисование (это, кстати, действительно так).
истинная правда. В ВУЗах огромный набор на айти-специальности и огромный же недобор (и, как следствие, низкий средний балл) на специальности сугубо технические - из близкого мне электротехника, электромеханика, мехатроника, электроника, гидравлика, механика (наверняка и другие специалисты в своих сферах это видят). Причина именно в дико раздутом хайпе - зумеры с родителями искренне верят, что, отсидев 4 года в бакалавриате и написав диплом, они сразу будут иметь непыльную работенку и получать тысячи долларов, при этом ничего не делая (а во всех рекламах и проспектах IT подается именно а-ля "пара часов за компом в день - и ты миллионер"). Плюс всякие "электроприводы", "наноэлектроники" и "гидравлические приводы" звучат непонятно, сложно и страшно (особенно, когда в школе единственное, на чем заострялись - дрессировка на сдачу ЕГЭ), а вот "сидеть за компом" - это всякому понятно и вроде несложно. Плюс непонятно откуда взявшееся, но распространенное мнение о том, что айтишник - интеллектуальная и техническая сверхэлита, и по умолчанию разбирается буквально во всех областях техники. Полная аналогия с экономистами и юристами в конце 90х-начале 2000х. В итоге мы получаем перегретый рынок с кучей низкоквалифицированных низкооплачиваемых специалистов (все же для того, чтобы быть хорошим программистом, нужно иметь соответствующий склад ума - я вот программистом себя никогда не назову, у меня в свое время были дикие проблемы с пониманием ООП, хотя, например, ТАУ, электродинамику и электромеханику я понимаю почти интуитивно) и с диким дефицитом выпускников в областях т.н. "реального производства", которых не заменить ИИ и на которых малореально переобучиться с посторонних специальностей (с того же IT). Причем, судя по разговорам с бывшими коллегами в Германии и других странах, у них тоже сложилась такая картина.
и с диким дефицитом выпускников в областях т.н. "реального производства", которых не заменить ИИ и на которых малореально переобучиться с посторонних специальностей (с того же IT). Причем, судя по разговорам с бывшими коллегами в Германии и других странах, у них тоже сложилась такая картина.
Это и есть будущая элита. А кто сейчас ломится в айти, это реально очень глупые и недалёкие люди.
А количество всяких курсов, готовых помочь таким людям, свидетельствует,
во‑первых, о крайне высоком спросе на такое, во‑вторых, о том,
что ничего особого в IT‑знаниях нет и освоить их можно довольно легко.
Скорее это говорит о том что страждущим продают воздух. Легкость освоения мнимая, глубины знаний не получается, ничему толковому и полезному на таких курсах не научат. Знаний человек не получит, специалистом не станет.
Вот отработав по специальности лет 5 как раз и получишь опыт и знания.
Существует недостаток 1С-программистов. Питонистов и фронтендеров сейчас как собак нерезаных. Там в основном и происходит такой цирк на собеседованиях.
А я прихожу к выводу - одни других стоят. Когда по одну сторону читеры то по другую - циники и отморозки. Все очень естесственно, как борьба щита и меча. Идиотские вопросы на собеседовании должны быть, ведь это эмуляция реальных условий работы. Главное чтобы все это было лишь средством (инструментом) каких-нибудь высших побуждений, что автоматически вызывает уважение, желание сотрудничать и мотивацию.
Статья - просто очередное нытье на "неправедливость жизни". Вакансии тем не менее на ХХ растут почему-то. В начале 2023 года на моем стеке было 3300 вакансий, то в ноябре 2023 года 4400. Сейчас 3900, но сейчас опять же начало года.
На каждую вакансию 1000 откликов, но почему-то они не закрываются. Автор, задай себе вопрос "почему"?
Рынок сам себя очистит от халявщиков, войтишников, неудачников, лентяев и других темных личностей как это было с юристами. Сейчас рынок юристов очистился и количество кандидатов и вакансий пришло в норму.
Большая часть отвалится сама собой через пару лет после того как и не смогут найти работу и пойдут в другие отрасли.
Есть подозрение, что не все вакансии на НН реальные. У HR есть прием публиковать вакансию просто чтобы рынок мониторить, но не реальную позицию закрыть.
Равно как и 100500 резюме на ХХ фейковые. Особенно в ИТ. + многие найдя работу не закрывают свое резюме. У многих резюме открыто, но стоит статус "не ищу работу". и т.д. и т.п.
А количество вакансий все равно растет и они не закрываются. Это объективный факт. Да, может быть, среди них есть фейковые. Но есть и настоящие. Так же на одну вакансию может требоваться 1-3-5 разработчиков.
У нас сейчас ищут разработчика. Было 5 собеседований на январь. Ни один кандидат не подошел на позицию мидл разработчика при том что у нас зп выше рынка (финтех компания)
А количество вакансий все равно растет и они не закрываются.
Что лишний раз подтверждает что никто никого на самом деле не ищет. И так справляются. Но на всякий случай удочку закидывают, авось прикольный кто клюнет, пригодится.
У нас сейчас ищут разработчика. Было 5 собеседований на январь. Ни один кандидат не подошел на позицию мидл разработчика при том что у нас зп выше рынка (финтех компания)
Вы и февраль, и март искать будете. И июнь и июль. А чо б не попривередничать когда работа не стоит.
Что лишний раз подтверждает что рынок не стоит, а развивается. Не знаю будем искать или нет. Набирали осенью еще + 2 резработчика (middle/senior джунов на беке в команде у нас нет т.к. проект сложный, один фронт джун чтобы кнопки красить) + 2 тестировщика + 2 аналитика (1 на замену уволенному). Т.е. +5 человек.
Вообще работаю в данной компании 1.5 года. При мне приходило около 15 разрабов. Из них удержалось 5. Остальные по скилам не выдержали испытательный срок из-за низких показателей KPI.
Вообще работаю в данной компании 1.5 года. При мне приходило около 15 разрабов. Из них удержалось 5. Остальные по скилам не выдержали испытательный срок из-за низких показателей KPI.
Да тут ещё и признаки потогонки и соковыжималки. Спецы по возможности наведут справки и обойдут стороной. Пойдут устраиваться только desperate.
конечно, работаю так как антон назаров завещал)))
у неудачников всегда причина найдется :)
Хороший расклад темы. Подробно и по сути.
У ИТ ещё достаточно потенциала роста. Но прутся сюда действительно все кому не лень.
Даже у кого это не сильно на исходные данные ложится. Все хотят денег, но не все хотят работать.
Т.е. ты одобряешь все эти неоплачиваемые стажировки на 3+ месяца?
Почему неоплачиваемые? Это где неоплачиваемые?
У нас вот если стажировка, то полгода и оплачиваемая. Т.е. человек оформляется на половину рабочего времени (обычно это для студентов старших курсов). Оплата там, конечно, невеликая, но она есть.
Или "испытательный срок" - первые три месяца после приема на работу. Фактически - обучение. Там полная ставка, отпуск, квартальные бонусы - все с первого дня отсчитывается. Кроме ДМС и НС - они оформляются по окончании испытательного срока.
Неоплачиваемого не должно быть. Как я считаю.
По первому - непонятно что там с оплатой. Явно что ее нет не сказано.
Второе... Вообще какой-то "плач Ярославны для баяна с оркестром".
У нас вот так В марте очередной набор будет.
Попасть на стажировку можно, если вы учитесь на бакалавриате или в магистратуре. Подать заявку могут также выпускники, которые окончили вуз не более 2-х лет назад. Важно, чтобы вы могли уделять стажировке от 20 часов в неделю.
Оплата фиксированная и зависит от количества часов. При работе 30 часов в неделю — 37 500 ₽, 40 часов в неделю — 50 000 ₽. Оплата указана до вычета подоходного налога.
Студентов, которые покажут лучшие результаты, пригласим на работу в Альфа-Банк.
Бывает что просто открывают вакансию стажера на полгода по 20 часов в неделю (полставки). Был как-то в команде такой - выпускник радиофака, опыта ноль, но очень способный. Поначалу тяжело, потом как прорвало. Короче, уже через 4 месяца ему предложили заканчивать маяться фигней и перейти в штат на полную ставку "старшего разработчика". Сейчас уже "главный разработчик".
По первому - непонятно что там с оплатой. Явно что ее нет не сказано.
Текст скинутой вакансии:
Длительность стажировки - 3 месяца;
Стажировка не оплачивается;
Ну тогда откликаться на такое - ССЗБ (Сам Себе Злобный Буратино).
А что, у новичков есть большой выбор? Ну кроме откровенного вранья в резюме и на собесе, конечно. Если бы на рынке было достаточно более качественных альтернатив, над такой вакансией бы только посмеялись. Но она появилась, я видел, как люди её смотрели. Очень много наверняка откликнулось, ибо вариантов нет. Вот такой теперь рынок. О чём я и написал в статье
Забавно. У нас в компании не спрашивают, что такое ULID (кстати, погуглил, спасибо за наводку), но что такое VACUUM в Postgres у любого претендента на должность Senior разработчика и выше — спрашивают, и я знаю, почему.
Например, потому что без знания что Postgres — версионная БД, и особенностей, которые из этого вытекают, человек может сделать UPDATE на 100 миллионов записей одним запросом, и таким образом раздует таблицу так, как будто в неё добавился миллион новых строк. И тогда даже VACUUM ситуацию не исправит, и скорее всего нужно будет устраивать дополнительные пляски, чтобы это раздутие устранить. А место в хранилище — штука ценная, и с ним нужно обращаться аккуратно.
Если же он будет понимать эти нюансы, то напишет скриптик, который будет делать UPDATE не одним запросом на 100 миллионов записей, а, скажем, кусочками тысяч по 50, между которыми будет делаться тот самый VACUUM. И это скорее всего поможет избежать ненужного раздутия.
Джуну или возможно даже мидлу, работающему с Postgres, не знать это простительно, а разработчик уровня сеньора или выше, при работе в компании, активно использующей Postgres, уже должен разбираться в этом обязательно, чтобы потом внезапно не удивляться "магическим" особенностям хранения данных.
Кстати, из-за той же версионности таблица в Postgres, в которую активно добавляются и удаляются записи, может содержать пару тысяч строк, но при этом занимать в базе несколько десятков (или даже сотен) гигабайт, и запросы к ней могут отрабатывать довольно медленно. И тот же VACUUM FULL может это полечить, хотя там есть нюансы.
Поэтому отношение "меня спросили про VACUUM, что за идиоты!" считаю мягко говоря неоправданным. Если спросили, то не обязательно на той стороне сидят придурки, которые придумывают непрактичные вопросы. Может быть они уже напоролись на эти грабли, и ищут человека, который уже в этом шарит и может обоснованно претендовать на предлагаемую высокую должность.
но что такое VACUUM в Postgres у любого претендента на должность Senior разработчика и выше — спрашивают, и я знаю, почему.
Должность была невысокая. Как я уже писал в комментах выше, это было собеседование на джуна. Не на сениора. И оффер мне, кстати, дали (чему я был весьма удивлён), но с меньшей зарплатой, чем я уже получал
Раньше в айтишку шли потому что нам это нравилось и мы этого хотели, я помню как впервые увидел компьютер, подключил свой первый интернет и как впервые увидел сайт, мне чертовски хотелось разобраться как все это работает и не менее сильнее я жаждал понять как сделать свой сайт и все это меня затянуло, интерес перерос в хобби которое затмило все остальное, а после случайно стало работой и сопровождает почти всю жизнь. Причём большая часть знакомых, как и я сам, добивались результатов даже без литературы которая была на расхват и курсов которых практически не было, а доблестные диванные критики рисовали айтишников как очкариков в толстом свитере, тем самым не просто насмехаясь, но и принижая в целом. Из-за чего, я в том числе, часто слышал фразу «да **** (чего) там делать, сидите по клавиатуре *** (бьете) и ничего больше не делаете»
сейчас же на каждом заборе «хочешь получать мильон, купи наши курсы и стань python разработчиком» и народ ведется… и идут, и платят по 100к за курсы, после которых и не ясно станут они разработчиками или нет? Понравится им это или нет? Главное, что после этого по заверениям маркетологов, они смогут получать мильон.
на мой взгляд сфера от таких «учителей» очень страдает. На рынок выходит много людей которые попали в сферу только из-за денег, которые после в отчаяние начинают демпенговать рынок или работать «фулл стаками» чтобы просто заработать и их это часто устраивает. Зачем развиваться, если бабки и так платят, тем более, что за курс когда то отвесил сотку другую взятую в кредит и отбитую за первый год?
До недавнего времени о вкатунах только слышала. Когда сменили работу и я и муж, то оказалось, что за пределами нашего заповедника большой мир, оказывается. А в нём такой цирк с конями. Что могу сказать, даже не о джунах речь, а даже о тех, кто имеет лычки старших и ведущих, пока всё так, как есть, то без куска хлеба разработчики с прямыми руками не останутся.
пока всё так, как есть, то без куска хлеба разработчики с прямыми руками не останутся.
Только вот у этих разработчиков Звезда Давида на лбу не сияет чтобы работодатель сразу их заметил из толпы 100500 клонов. А современные практики собесов заточены найти кого угодно, но не "разработчиков с прямыми руками". Даже больше, именно эти кони из цирка с лычками и будут определять достойны ли вы того куска хлеба.
Странно это все. Раз на входе такая бешеная конкуренция, т. е. огромное предложение, то почему не падает цена спроса, т. е. зарплата? Если у вас на ЗП в 2000 у.е. готово идти 300 мидлов, то на 1000 у. е. придет 20 и отобрать кандидата будет гораздо проще. Кроме того, снижение средней зп повлияло бы на количество вкатунов, курсов и т. д. и рынок бы как-то стабилизировался, но этого почему то не происходит и продолжается трэш с 1000 кандидатов на вакансию
Всё очень просто. Вы слышали о таком явлении, как шринкфляция? Если вы живёте в России, просто зайдите в любой продуктовый магазин и обязательно найдёте пакет молока 900 мл (вместо 1 л) и упаковку сахара весом 900 г (вместо 1 кг). Т.е. на каком-то этапе, когда можно было в очередной раз повысить цены, производители решили оставить цены теми же, но сократить объёмы
Точно так же и на рынке труда в IT. Не знаю, по каким причинам, но решили не снижать зарплаты, а вместо этого поднять требования и взгромоздить на плечи разработчиков дополнительную нагрузку в виде неоплачиваемых сверхурочных и т.д.
А информатика и программирование кажутся более лёгкими для освоения, чем биология, химия, физика или рисование (это, кстати, действительно так).
Ну что тут можно сказать - статью писал менеджер не из числа тех, кто когда-то сам был разработчиком, вероятно? Или кто-то еще, решивший, что вся наша профессия исчерпывается выражениями if-else? Мдаааа.... особенно позабавил финал фразы в кавычках. Рекомендую автору взять программу обучения хотя бы не топового, а просто среднего ИТ вузовского курса, вытащить из нее ИТ предметы для разработчика, далее вытащить ну хотя бы списки литературы для этих предметов, а потом попробовать по диагонали полистать литературку пусть даже выборочно. Как, головушка еще не опухла, или уже пошел взрыв мозга? ))) Не надо торопиться делать поспешные заявления, поспешишь - людей насмешишь.
Автор всё правильно написал: кажутся для вкатунов. Это вы им список литературы посоветуйте.
Автор этого текста сдавал ЕГЭ по информатике, отучился в ВУЗе по профильной специальности, а в дипломе у него полным-полно всяких разных математических формул, при этом для составления этого самого диплома пришлось черпать инфу из разных книг, статей и т.д.
Разработка ПО - это не рисование, не музицирование, не стрельба из снайперской винтовки, не катание на лыжах, не ораторское искусство, не владение хирургическим ножом. Это вообще не навык, который требует оттачивания и практики, чтобы достигать качественного результата. Всё, чего требует разработка ПО - читать статьи/документацию и более-менее понимать, как использовать то, что там написано, и какие последствия могут быть, если сделать что-то неправильно (последнее гуглится). Именно поэтому существует такое явление, как джуниоры, крутящие себе опыт, проходящие техническое собеседование и спокойно работающие на должности, на которую они вроде как не подходят
Современные требования к джунам как к сеньйорам. Они и есть сеньйоры в плане теоретической подготовки. Поэтому, да, достаточно накрутить опыт чтобы пройти HR, и всё, можно выполнять трудовые обязанности.
статьи и документация это конечно хорошо ,но когда подсовывают поработать с legacy который собирали с говна палок когда-то давно джуны и тогда придется думать как они, а порой делать как они, иначе все падает). Разбираться в чужом коде никакая книжка не научит, только опыт и навыки помогут получить нужный результат в сжатые сроки.
Все тоже самое можно сказать и про любую другую профессию.
Сварка не навык.
Лечить людей не навык.
Писать юридически верные документы не навык.
Летать на самолете не навык.
Можно самому выложить плитку в ванной комнате криво косо, если раньше никогда не выкладывал и никакие книги и видосы с ютуба не помогут.
А можно нанять спеца, который эту плитку на раз-два ложит и нет проблем.
Если серьезно.
Разработка ПО это конечно же навык, который отрабатывается опытом. Крутой спец соберет проект за адекватные сроки и качество этого проекта будет на высоком уровне, а джун-недоучка-лжец соберет проект кое-как с кучей ошибок и уязвимостей.
На счет джунов, проходящих собесы на есть разные ситуации. Есть компании, где до сих пор спрашивают вопросы из интернета на которые любой джун уже давным давно знает ответы. Выучить чем отличается интерфейс от абстрактного класса не сложно.
А есть собеседования с предварительным ТЗ или лайвкодингом, где опытные спецы на раз-два видят лжеца.
Есть собесы где спрашивают какие-то примеры из практики причем такие примеры, о которых в книгах не пишут.
А есть собеседования с предварительным ТЗ или лайвкодингом, где опытные спецы на раз-два видят лжеца
Это не сможет вскрыть ложь. На лайвкодинг можно натаскаться
Есть собесы где спрашивают какие-то примеры из практики причем такие примеры, о которых в книгах не пишут
В книгах не пишут. Зато в статьях и подкастах они упоминаются. Проблема правда в том, что у всех разрабов ну слишком уж разный опыт, чтобы его проверять. Я помню, видел какую-то вакансию, где искали именно специалиста, у которого был редкий опыт в малоизвестном телеком-протоколе. Да и как я выше писал, опыт неудач у каждого свой, крайне уникальный, если пытаться по нему проводить отбор, то можно отсеять 100% кандидатов
Чето все нагнетают постоянно. Айти уже не то, денег мало, вакансий мало.. Хз я всегда без проблем новую работу находил.Причем на разных стеках и ЯП даже. Вот пару месяцев назад на новую работу устроился. С пятого где то по счету собеса. Ничего особо то не поменялось и не сравнить с тем что 10- 15 лет назад было по ит зарплатам в РФ.
Вкатиться, например, в проектирование беспилотников или робототехнику, не знаю.
Не уверен, что, ориентируясь на курсы или самообучение можно вкатиться легко в эту сферу без должной мотивации. Теория управления, линейная алгебра, ML, RL и теорвер здесь необходимо знать на уровне программы ВУЗа. А умение программировать как бы подразумевается изначально здесь.
После ухода иностранных работодателей, после введения брони от призыва и мобилизации для программистов, и после введения льготной ипотеки для них - неудивительно, что конкурс вырос в несколько раз.
Вас просто стало слишком много