Pull to refresh

Comments 437

Ключевой момент тут не 65 лет. Ключевой момент тут то, что чувак упорный, но программировать не умеет и берет усидчивостью.

"Я изучил язык баз данных под названием SQL с помощью Crystal Reports. " звучит как приговор для любого разработчика старше 25 лет. Представляю, что там у него в голове. Уверенный пользователь Stack Overflow

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

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

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

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

Судьба их в дальнейшем сильно зависит от их умения в коммуникациях (как в статье правильно замечено).

В целом индустрии они приносят скорее боль, вот 20 мин назад, я объяснял собрату автора оригинальной статьи как завернуть один внешний вызов в try-catch. Уже бы 20 раз сам написал бы, это мой 5-ый звонок на эту тему с ним. Но в Атланте за такие деньги в компанию третьего эшелона нормального программиста НЕ НАНЯТЬ НИКАК.

Короче все печально, лучше бы чувак на стройке продолжал работать.

как завернуть один внешний вызов в try-catch.

tbh, мне 50 и либо я тупой или я не понял в чем проблема. Расскажи пожалуйста подробнее

Это так присказка и нытье. Если выжать подробности - очень долго пытаюсь объяснить разработчику, что именно надо поменять в коде.

Очень просто.

У вас есть программа, которая дёргает внешний сервис, скорее всего по API (а может и нет). Если вы дёрнули сервис неудачно, получили ответ о недоступном или любой другой, который вы не обрабатываете в своей логике, то программа упадёт. Её надо будет запускать заново.

Теперь, мы используем блок

try

__call API

catch error

__игнор ошибки OR какая-то обработка

__delay 60s

__call API

Типа такого

ну там delay происходит через сагу в другом сервисе, но в целом именно так.

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

В кетче рекурсивно вызывается функция с try-catch, до достижения определённого счетчика неудачных попыток.

Пример, конечно, упрощённый.

Компилятор вряд ли развернёт такую рекурсию. И есть шанс начать ловить совсем другие исключения)

Интерпретаторы вполне справляются. На Питоне я такое делаю в каждом втором проекте.

С чем справляются-то?

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

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

Вам, что, заняться нечем? Учите языки, а то на стройку! ;-D

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

Как хорошо-то, оказывается, писать на языках, где нет стека в классическом смысле!

Может в Forth (Форт) где аж 2-а стека по определению и они оба доступны в коде программы и активно используются. :)

P.S. Но, скорее всего, вероятно подразумевалось, например, Лисп, Пролог?

 Common Lisp allows control of what happens when the stack is unwound by using the unwind-protect special operator.

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

UPD. погуглил про Forth, там тот же стек вызовов насколько я вижу. второй, вероятно, стек данных?

Да, если используется обычная форма CALL вызовов, но они (стэки) не в одном и том же месте и это важно.

P.S. И, кстати, если брать Форт с реализацией в виде Косвенного шитого кода, то там фактически «возврат» из слова — это фактически вызов следующего слова до тех пор пока раскрутка высокоуровневого Форт кода не дойдёт до примитивов написанных на языке ассемблера и цепочка начнёт сворачиваться в обратном направлении. :)

Форт в виде Шитого кода

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

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

Хаскель, например (да и любой ленивый ФП-язык так можно представить, наверное). Там нет ни физического стека в смысле непрерывного куска памяти, растущего и сжимающегося с одной стороны, ни логического стека в смысле последовательности строго вложенных, ээ, activation frames.

но в процессоре-то есть )

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

Тогда стек съедят низкоуровневые библиотечные функции которые используются для связи с внешним миром.

Так там рекурсии нет внутри них, ничего страшного.

А зачем понадобилось для реализации circuit breaker свои собственные велосипеды пилить?

В Java/Spring вроде как Hystrix есть :)

В других языках - думаю, тоже стандартные библиотеки для этих целей имеются.

Извиняюсь, но зачем рекурсия, если можно просто блок try-catch в цикл с убывающим счетчиком попыток обернуть?

А не проще в такой ситуации флаг использовать?

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

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

Все эдцать вариантов, которые могут вернуться от API, и ещё столько же от сетевки, DNS и прочих частей ОС?

Ну можно конечно, но смысл есть не всегда.

Как правило есть успешный код возврата и все остальные неуспешные.

А исключения нарушают поток выполнения (по сути goto).

Если не можешь обработать, пробрось выше. НЕ игнорь.

Согласен, так лучше.

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

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

Он прозевал кризис в индустрии, и постепенный отказ от мейнфреймов, в пользу распределенного вычисления.

Это как у нас разработчик на Delphi 7, он будет востребован через 10 лет?

Он прозевал кризис в индустрии, и постепенный отказ от мейнфреймов, в пользу распределенного вычисления

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

При выборе мейнстримовых языков/технологий у вас есть минимум лет 10 чтобы выучить что-то новое без проблем с трудоустройством, и это при реально неудачном выбор.

Мне кажется в 2000-ых г уже было явно видно, что технология умирает.

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

Не всегда сегодня явно то, что будет очевидным через 10, 20 лет...

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

Будет, конечно, на delphi что угодно можно сделать, в отличие от

Можно. Но мало желающих платить за это.

За что? Знаю пару мелких контор у которых нет отдела разработки и ресурсов на оплату зоопарка фронтендеров, бэкэндеров, QA и прочего. А вместо заказа продукта на аутсорсе им просто удобнее посадить мужика с опытом в делфях которых закодит им всё что нужно.

Два ключевых признака: 1) пару, 2) мелких. Т.е. небольшой бюджет в ограниченном количестве мест. Не очень похоже на тихую гавань.

Сидишь так в небольшой конторке из 10 человек, автоматизируешь им процессы на делфи, а потом через 10 лет пишешь статью на Хабр, что знания внезапно протухли и работу не найти. Профит!

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

Может, это что-то говорит о самих разработчиках?

Может их все устраивает? Я под PC пишу на delphi и на шарпе, и там и там работы пока хватает.

Но если говорить именно о десктопной разработке, то как по мне делфя в десять раз приятнее дотнета. И компонентов на все случаи жизни намного больше, и сам язык давно не отстает по возможностям. Ну и нейтив без зависимостей, что тоже не маловажно.

Я, блин, не верю что читаю это. Делфи? В 2021 году? Да что там... Делфи в реальных проектах, а не курсовой на втором курсе? Моя картина мира усложнилась, а её энтропия сильно выросла.

В 2021 году?

Да
Да что там… Делфи в реальных проектах, а не курсовой на втором курсе?

Да.
Есть логистические компании которые на Дельфи пишут софт, для своих нужд.(Я в основном в лог. компаниях дельфи видел)
Есть гос компании которые тоже софт на Дельфи.

А вот ответьте, почему, собственно, должно быть иначе?

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

Сегодня

Современные версии уже слабо напоминают ту delphi 7, которую вы на втором курсе видели. Язык по возможностям примерно соответствует c#, есть и шаблоны, и лямбды, и хелперы, даже сборщик мусора для классов. Компилятор и стандартные библиотеки уже давно позволяют писать под все распространенные платформы: win, linux, mac/intel, mac/arm, ios, android.

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

А не нужно оценивать технологии исключительно по количеству вакансий. Вакансий на разработчика микросхем в 1000 раз меньше, чем вакансий на web-формошлепа, но это совсем не значит, что клепание лендингов важнее разработки процессоров.

А если вам так важна тенденция, то у делфятины она сегодня вполне себе положительная.

P.S. Хотя для тех, кому хоть тушкой, хоть чучелом, но вайти-в-айти, это действительно не вариант.

но это совсем не значит, что клепание лендингов важнее разработки процессоров

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

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

все возможные места работы и так известны. Причем они достаточно стабильны

вот это кстати очень плохо
в таких условиях запросто начинает появлятся такая ядовитая штука — как сговор о непереманивании сотрудников.
Я один раз на такое уже натыкался, выглядит как блеклист у HR как только упоминаешь что прошлое место работы была __такаятофирма__ тебя сразу в игнор ставят
причем им было плевать даже на то что я сам оттуда уволился (из первой конторы), не помогли даже связи среди топменеджеров. 'понимаешь, у нас соглашение досих пор действует, о непереманивании и о запрете работы у конкурента-схожей компании, мы не можем так сделать' — это уже топ мне так ответил когда я спросил 'чойто меня hr игнорит?'

все возможные места работы и так известны.

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

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

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

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

Вот и автор исходной публикации не оценивал.

Я тоже когда-то писал на делфях, а потом обнаружил, что в своём городе могу устроиться только в пенсионный фонд, на водоканал и в тому подобные заведения, удалёнки нет, заказов на фрилансе тоже, зарплаты жалкие на фоне программистов на java или даже python.

Что касается тенденций, пожалуй, возьму за привычку раз в год делать скриншоты результатов поиска вакансий delphi на hh.ru. Их с каждым годом всё меньше и меньше, игнорировать это - огромная глупость.

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

Насчет фриланса не знаю, лезть в эту клоаку взрослому человеку вредно для здоровья.

И вообще, пока вы тут со мной спорите, на самом самом востребованном по hh.ru языке вышло два новых модных фреймворка, без знания которых работу не найти. Теряете время.

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

Обоснуйте "неактуальность" хоть чем-нибудь, кроме хипстерской моды.

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

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

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

Мир фронтенда -- да, специфический, хотя даже там никто не обязывает прыгать на каждый новомодный фреймворк, те же React и Vue существуют уже почти десяток лет и по-прежнему очень даже актуальны.

А в мире Java, C#, C++ и даже Python не появляются регулярно "принципиально новые" новомодные фреймворки, там все стабильно, предсказуемо и с обратной совместимостью в большинстве случаев.

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

именно долей вакансий конкретного стека по отношению к общему числу позиций на рынке труда

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

это не значит что Cobol актуален и живее всех живых

А где я говорил, что кто-то там живее всех живых? Цитатку покажете? Я лишь сказал, что инструмент достаточно активно развивается и используется, и что им можно зарабатывать на жизнь. И даже добавил для особо впечатлительных, что впрыгивать в профессию с него не стоит. Где противоречие?

А в мире Java, C#, C++ и даже Python не появляются регулярно "принципиально новые" новомодные фреймворки, там все стабильно, предсказуемо и с обратной совместимостью в большинстве случаев.

Что ныне самое популярное на hh.ru? Неужели C++?

Да и динамика C# вас должна заставить забыть о нем. Из всего названного более-менее растет только джава и, конечно же, питон (кто бы сомневался).

Насчет фриланса, раз сами признаете, что не знаете -- то и не говорите о том, о чем не знаете.

Я работал во фрилансе будучи студентом, прекрасно знаю о чем говорю. Сомневаюсь, что за прошедшие с тех пор 15 лет контингент радикально изменился.

а именно что в классической компании с "консервативными" подходами

Консервативность подхода как раз часто тянет за собой мудацкий менеджмент. Ничего хорошего от этого обычно не бывает. Речь же о том, что если по 4-5 часов в день проводить в переговорках, соревнуясь в количестве произнесенных баззвордов, то работы не будет. Точнее, ее придется делать кому-то другому.

Что ныне самое популярное на hh.ru? Неужели C++?

Внезапно, Python.
Если взять два самых развитых в плане IT региона -- Москву и СПб, и сделать поиск по ключевым словам delphi, c++, c#, java, python, javascript, то расклад примерно такой:
Delphi: 243 0.8%
C++ 3253 10.7%
C# 3210 10.6%
Java 7102 23.4%
Python 8815 29%
Javascript 7679 25.3%

Иными словами, Java, Python и JS идут примерно вровень, C# и C++ - в два раза меньше, но тоже по 3 тысячи вакансий, а для Delphi вакансий практически нет, а из тех, что есть, большинство представляет собой или дремучее легаси, или тупое формошлепанье CRUD'ов. По уровню предлагаемых зарплат расписывать не буду, там статистика совсем уж печальная.

Да и динамика C# вас должна заставить забыть о нем.

По тому же hh у C# за два года рост почти в два раза, примерно как и у Java (по пайтону и JS старых данных не нашел).

Я работал во фрилансе будучи студентом, прекрасно знаю о чем говорю.

Видимо, не очень. Потому что фриланс фрилансу рознь, в зависимости от уровня специалиста. Для кого-то это "эй, мальчик, сделай мне тут клон фейсбука за неделю, оплата 500 р."

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

Примеров таких фрилансеров-контракторов у меня перед глазами не один и не два.

Речь же о том, что если по 4-5 часов в день проводить в переговорках, соревнуясь в количестве произнесенных баззвордов, то работы не будет. Точнее, ее придется делать кому-то другому.

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

Тут проблема в том, что вы наверное не разрабатывали ПО для Desktop-а в условиях нехватки человеческих ресурсов, Delphi позволяет делать все части условной 2х-звенки со стабильным качеством одному человеку с низким уровнем затрат на стандартные интерфейсные элементы, та же visual studio на один и тот же прототип приложения обычно требует больше времени на разработку. И это про условную delphi 2007 и vcl, более того микрософт так и не определилась (насколько понимаю, но сейчас не совсем в теме) какую же технологию и фреймворк сейчас нужно использовать для разработки на c# для desktop-приложений.

Болен того продолжается выпуск и продажа (по немалым ценам) пакетов Delphi и RAD Studio, что наверное говорит о том что данные продукты пользуются некоторым спросом.

Да =)
У нас например весь софт написан на Delphi (примерно 80% на Delphi2007, 19% на XE2 и 1% на XE10.2.3). Это как программы для сбора данных с разных датчиков(гироскоп, gps, лазеры и т.д.) и камер на специальных автомобилях непосредственно во время езды, так и последующая обработка этих данных непосредственно уже на фирме.
Фирма занимается сбором и анализом данных о состоянии дорог по всей Германии и некоторым соседним странам. В отделе 3 человека. Наших программ для обработки данных около 200: 20-30 основных, которые используются постоянно, 20-30 используются время от времени, а остальные прям крайне редко.

Две из них находятся даже в списке неплохих программ:

https://delphi.fandom.com/wiki/Good_Quality_Applications_Built_With_Delphi

это Argus и Stradivary из этого списка - это я к тому, чтобы не подумали, что это простые "Hello world"ы.
Если честно, то не знаю, успевали ли мы так же оперативно писать новые программы/дорабатывать или исправлять существующие, если бы писали не на Delphi, а на чем-либо другом.
Количество вакансий на рынке труда - это уже другая тема. Там есть проблемы, согласен. Но как язык программирования, как по мне, так он неплох.

Чувак, а ничего что у Delphi выходят новые крутые версии примерно раз в год и что там сейчас есть кросс компиляция под Win/Linux/MacOS, причем с GUI, а также есть возможность делать проекты под Android/iOS. И да, мы на работе пишем очень крупные проекты на Delphi. В 2021.

техническая крутость ниочем не говорит, важна распространенность в отрасли.
не сомневаюсь что гдето есть контора которая крупные проекты на perl пишет в 2021 году

Это понятно, но во-первых, куда девать работающие большие проекты, уже написанные на Delphi, за которые клиент регулярно платит. Во-вторых, распространенность дело стихийное. Срок жизни наших проектов точно больше 10-15 лет (думаю, имеет смысл ориентироваться на срок около 30 лет, дальше становится сложно прогнозировать), а за это время одни зоопарки технологий сменяют другие, но нет смысла гнаться за "текущим" зоопарком, я бы скорей посоветовал гнаться за надежностью инструментария и простотой сопровождения проекта.

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

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

вот вот, через 30 лет будет очень забавной простота сопровождения проекта, искать людей которых нет на поддержку

вон например в 1С сфере уже ощущается недостаток спецов, хотя казалось бы и клиенты платят и проекты есть и крупные проекты

Ну так на любую "не популярную в текущий момент" технологию не будет спецов. На SilverLight или Flash например )
Но большие проекты слишком сложно и дорого постоянно переписывать на что-то популярное. Да, действительно, в некоторых случаях проще "искать спецов на COBOL". Но Delphi явно оооочень далеко до заброшенности уровня COBOL'а

Ну так на любую «не популярную в текущий момент» технологию не будет спецов. На SilverLight или Flash например )

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

по этому их надо делать на том языке который в перспективе хотябы 15-20 лет не будет терять популярность
сейчас весь энтерпрайз переезжает на java которая будет новым коболом

а у делфи — основная сфера довольно специфична, и в данный момент в упадке (автономные десктоп приложения)… а писать бэк или приложения для телефонов на делфи… это ну такое себе стреляние в ногу
по этому их надо делать на том языке который в перспективе хотябы 15-20 лет не будет терять популярность

Дык проекты как раз и начинали в 2005-2007 году, когда C# еще только появлялся и не был популярен, а приход непопулярности Delphi в связи с его перепродажами еще не начался. Т.е. расчет как раз был супер-правильным (на тот момент на перспективу 15-20 лет).

когда C# еще только появлялся и не был популярен,

C# появился в 2001 году… да собственно сам борланд чуть не угробил делфи выпустив delphi.net

но в целом на тот промежуток времени — решение было вполне логичным, согласен

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

Хм. Почему не будет? Даже людей без опыта работы берут, а тут идёт речь про разработчика с многолетним опытом (все современные разработчики Delphi — с многолетним опытом :-) как минимум миддла на родственной платформе, который уже через несколько дней сможет влиться в работу и начать решать задачи.

У средней хрюши первичный фильтр так не настроен. У нее или сматчилось в паттерн "дотнетом в коммерческой разработке год опыта имеете?", или "следующее резюме". Т.е. там в скрипте напрочь отсутствует секция субституции навыков в случае, когда претендентов больше не осталось :)

Это как у нас разработчик на Delphi 7, он будет востребован через 10 лет?

Никто не ведает что там через 10 лет, но, кажется, этот разработчик уже не востребован))

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

Если изучит FMX , то возможно. Будет портировать всё, что понаписал, ещё и на Андройд. Пока компания не обожгётся на глючности FMX.

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

Все чуть иначе, если нужен офис, то в Москве их слишком мало, а кто есть поняли, что можно просить больше.

Их больше одной? (такая с названием как «абракадабра», только с испанским акцентом)

Электрон вон всё ещё не обжегся. И желающих писать на нём не мало

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

"У нас" - это в конторе, которая делает софт на Дельфи 7 в 2021 году или я неверно понял? Тогда вопрос, скорее, к конторе, почему не используются последние версии 10.х и 11 (вышла несколько недель назад).

На проекте была куча сторонних компонент, несовместимых с более новой версией. Так я отвечал на такой же вопрос в 2011м.

Мне не раз приходилось помогать клиентам переносить легаси системы объемом около 1М строк и десятками сторонних компонентов с Д4 и Д7 на 10.х. Дело это небыстрое, но ваше объяснение из разряда "кто не хочет, ищет причины, кто хочет - средства"

Первый вопрос от бизнеса на подобное предложение обычно звучит "Что это даст проекту в целом? Зачем нести затраты на миграцию?"

Первый вопрос разработчики задают сами себе: "Мне/нам это нужно?" Найдя рациональные аргументы на этом начальном уровне, можно подступаться к следующему. И начинают обычно с "Нужно ли вообще развивать продукт или можно ограничиться поддержкой?"

  1. Вы будете удивлены, узнав что python старше delphi. :) Это не критично, но наводит на мысли насколько мы в плену стереотипов.

  2. Работа с легаси кодом есть всегда. Это скорее проблема работодателя найти спеца под проект с историей.

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

Як людина, котра намалювала не одну сотню звітів на Oracle і Crystal Reports 5 - з власного досвіду можу сказати, що писати після цього квері для будь-чого (dashboard чи crm кастомізувати) іншого чи проставити індекси для бд, котра через ORM підтуплює - взагалі не складає проблеми.

Вы Хабрахабр с dou.ua перепутали? ;)

Сіз сондай -ақ қазақ тілінде немесе онда комиде жаза аласыз, ммм?

Сиздин тилинизде жазсам коп ката кетирип коем. ошого байланышту озумдун тилимде жазайын

Знал же, что не надо выпендриваться, и найдется нормальный носитель!

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

Да какая разница, принято, не принято, не понятно просто, вот и все. Взрослые вечно все усложняют.

Я вот просто не сумел понять написанное на украинском языке.

Не огорчайся - при всем моем нативном знании укр языка я тоже нифига не понял из того, что он написал :)

Та и я мову чутка розумiю и не кумекаю шо он написав :)

«О! Выходит я знаю украинский язык!»

Угорщина! :)

Не огорчайся — при всем моем нативном знании укр языка я тоже нифига не понял из того, что он написал :)

При моем знании укр языка… он написал

«если чел разбирается в Oracle, то для него нет проблем писать sql код для CRM, или в dashboard работать… ит.д.»

u'u mi na jimpe lo se cusku be do ri'a tu'a le do cizra bangu

Біда в тому, що SQL та Crystal Reports - це єдині нові технології після мейнфреймів, які автор оригінальної статтті вивчив за 30+ років. Такі темпи самоосвіти та зацікавленості новітніми технологіями багато чого кажуть про людину.

Шутка, повторённая дважды, перестаёт быть смешной.

Як Людина кырбырштина, Медина, олдина. Если Гугл переводчиком статью с русского на украинский перевел, коммент тоже переведи на русский, олдины, медузы бачили не понимаем.

Да у вас там в Медке ничего не является проблемой, а потом трах-бах и уложили "Петей" разово несколько сетей супермаркетов по всей Украине намертво. Оцэ ПЭРЭМОГА ))))))

АХАХАХ поехали!
«Как человек, который написал не одну сотню отчетов в Оракле и Кристал репортах пятых — из собственного опыта могу сказать, что писать после этого запросы для чего угодно другого, будь то проиндексировать БД, подключаемую через ОРМ — вообще не составляет проблем.»
Но пидор, да

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

В оригинале написано:

I learned a database language named SQL with software called Crystal Reports.

Google-перевод detected; в данном контексте "with software" означает "вместе с программным обеспечением", а не "с помощью". Т.е. в оригинале все логично: чувак выучил сиквел, и кристал репортс (кстати, одно время у нас, в Штатах, был high demand именно на такую пару, HR-ы искали именно по этому сочетанию ключевых слов).

По-моему, Google-перевод перевод тут вполне правильный - "вместе с программным обеспечением" было бы

I learned a database language named SQL along with software called Crystal Reports.

Либо использовать "and" вместо "with" - но, даже если автор действительно имел в виду "вместе с", это все равно приговор... может, только, не такой строгий. ;)

По-моему, Google-перевод перевод тут вполне правильный

Вы как-то уж больно строго к мужику (автору оригинального текста) относитесь. Вы вообще представляете, что такое Cristal Reports? И как "с помощью" Cristal Reports можно "изучить" SQL?! Ну, логику включите на секунду...
Можно сказать "along", можно "with", можно "and" - английский язык достаточно гибкий, как и русский.

Ну, английский у меня не родной, но для моего уха использование "with" в фразе "выучил это и то" звучит как-то криво.

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

Каждый раз, когда я изучал новый язык программирования для ПК, индустрия менялась. Это сделало невозможной задачу полноценно следовать за изменениями

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

Не первый раз слышу такое мнение, но например та же java которая была акутуальна и популярна 20 лет назад, актуальна и сейчас. Да, есть изменения в языке, но очень легко найти работу со знаниями устервшими на 5 лет(привет java 8), а просто следить за изменениями требует не таких уж и больших затрат времени.

На бэке как например актуальны были SQL базы, так и остались. Да, появились куча нереляционных БД, но если ты был экспертом в SQL, то работу найти непроблема и сейчас, никаких концептуальных изменений небыло.

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

Проблема в том, что это лотерея. Это сейчас, задним числом, мы видим, что Java — круто, и в неё хорошо было бы вложиться лет 20 назад. Но как можно было об этом догадаться тогда, 20 лет назад, когда она была насквозь сырой, тормознутой и глючной?
Как можно было понять, что вкладываться надо было скажем в TypeScript, а не в Dart? В Python, а не в Ruby? Сейчас вот многие в Go вкладываются. Но кто сможет поручиться, что через 10 лет он ещё будет востребован?
Кто угадал, тот да, через 20 лет будет просто посмеиваться над неудачниками.

Массовые технологии уходят с рынка лет 10 минимум. Например тот же php теряет популярность уже лет 5, но работу на нем все еще непроблема найти.

Возьмем топ-5 языков: java, js, C#, python, C++ - я уверен что если их изучить сейчас и работать с ними, то через 10 лет все еще можно будет найти работу. При этом через 5 лет я точно смогу найти работу с передовыми актуальными на сегодняшний день знаниями.

Да, возможно будет видно лет через 5 что кто-то из них начинает умирать, и стоит смотреть на другой стек, но это не так что сейчас у тебя есть работа, а завтра неожиданно технология мертва.

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

Тот же WPF умирает уже лет 5 как. Потихонечку.

Серьёзно?!

А что в замен?

Как в 21 веке десктопные приложения с красивыми гуями писать?!

А что, кто-то ещё пишет десктопные приложения не на Electron'e? Вот мамонты!

P.S.: это шутка

P.P.S.: в этой шутке есть доля шутки.

А что, кто-то ещё пишет десктопные приложения не на Electron'e? Вот мамонты!

Доводилось видеть как небольшую программу распространяли в форме html-страницы. Мне понравилось, выглядит практично.

Avalonia например. Хотя это тот же wpf, только лучше: удобней и кроссплатформенней.

Ну, в .net 6 MAUI выкатят, например

Это вообще ортогональная технология.

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

Про то, что PHP теряет популярность, а Delphi устарел ,я слышу примерно лет 15, при этом в фирме толпа студентов с питоном, явой и новомодными машин-лернингами, а нужны как-раз те непопулярные и устаревшие, включая мейнфреймеров, которых, кстати, еще и конкуренты переманивают. Сам пишу чуть ли не четверть рабочего времени на abap/4 и не страдаю от отсутствия офферов, а abap, на секундочку, 83го года.

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

любой новый язык можно изучать в кратчайшие сроки (что видимо не удавалось строителю из статьи)

Далеко не любой, а только похожий на то, что вы уже знаете.

Ну я не утверждаю, что 30 лет работая на Prolog вы потом за неделю поднимете C#. Но "любой" и не надо, задача-то простая: остаться в индустрии, это же не с менеджера на каменщика переучиваться раз в два года.

ООП язык в целом можно выучить. Концепции один как правило.

Так же обстоит и с Си подобными языками.

А вот писать скрипты на коком нибудь bash уже трудней.

"Настоящий программист может написать фортрановскую программу на любом языке"

Bash не является исключением ;)

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

С функциональными языками могут быть проблемы, с непривычки может не пойти.

Я думаю, имеется ввиду, что если есть опыт 10 лет на java, то при переходе на nodejs через неделю вы будете слабым мидлом, через 2-3 месяца уверенным мидлом, через год сеньором. При этом выполняя реальные задачи и зарабатывая деньги. Тем более если заниматься формошлепством, на хлеб с маслом без проблем должно хватить.

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

Ну по Дельфи обьективно.

  1. Мало вакансий.

  2. Самые низкие зарплаты на рынке.

Чисто технически я бы не сказал, что он так уж устарел, тем более он наполовину кроссплатформенный с FMX.

Зарплаты постепенно выравниваются. Смотрите последние данные:

https://habr.com/ru/article/569026/

В первом полугодии 2021 в зарплатах выросли почти все языки. Особенно сильным ростом зарплат отличился Delphi (33%)

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

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

На мой взгляд сейчас не очень сложно узнать тонкости другого языка... не все, конечно, но основное вполне можно освоить за несколько месяцев, если есть время и желание... да, конечно, если вы после 10 лет на каком-нибудь php, возьметесь резко учить rust или golang, то через полгода вы не будете гуру в новом языке, но приложив силы вполне можете стать достаточно крепким мидом, а еще через год-полтора опять подняться до сеньора

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

Ну вот скажем я могу довольно много рассказать про "абстрактные сборщики мусора" (предполагаю достаточно много, чтобы сойти за "сеньёр-помидора в вакууме") - ну они все построены на взаимозависимости пространственной и временной локальносте и удобстве многопоточного вызова.
Но вряд ли моих знаний хватит хватит на то, чтобы удовлетворить требованиям на Java middle developer. Просто там же действительно надо use-case знать.

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

Ок, какая з.п. у программистов на ФоксПро сейчас?

Сдельная - вполне себе, в странах СНГ толпа госорганов или госпредприятий сидит на фокспрошных програх под дос 6.22, встречаются и на Clipper-е, что выводит прайс на дефицитных специалистов на серьезную высоту, особенно если вы приходите со своими дискетами :)

Dart звучал странно изначально, он целился в джсеров, но выглядит скорее как джава.

Когда лет 20+ читал книги по Java они мне очень нравились (Том Сван «Освоение Java с помощью Visual J++») потом ещё прикупал книги по Java -2-ух томник лет через 6-ть, но, не вложился или судьба закрутила в другую сторону. :)

P.S. Сейчас приглядываюсь к Factor programming language, но уже поздно или после знакомство с Форт (Forth) избыточно сложно.
Думаю будущее за примерно такими комбинаторными языками программирования, которые при внедрении «ИИ» будут наиболее востребованы, если не человеками, то роботами, как устраняющие семантико-синтаксические ограничения выстроенные классическими языками программирования.

P.S. Поживём — увидим.
Питон, в сравнении с С/С++ упростил программирование в массе своего использования в направлении старой школы Бейсик языков с современными фишечками.

"(Том Сван «Освоение Java с помощью Visual J++»" - оооо, да! Купил её в 1997-м, интересно было, что за язык такой придумали. Почитал немного, не понял, чем оно лучше С++, и так с тех пор она и лежит :)

Ой, я вас умоляю, 2021 год на дворе. Кто сейчас что учит, надо программировать на TypeScript - в выходные берешь читаешь доку и делаешь несколько тестовых приложений. В пн говоришь, что готов и дальше при помощи доброго слова, лома и чьей-то матери начинаешь нести добро миру.

Оно конечно по началу будет получаться кривобоко, но что у нас сейчас не кривобоко то пишется.

Вы так пишете про обучение как будто надо сначала год учиться на специальных курсах за зиллион денег.

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

  • достаточной для решения задач

  • достаточной для прохождения собеседований

Я могу написать драйвер на С, прошивку для микроконтроллера, могу закоммитить в какой-нибудь гнутый опенсорс и это примут. Но собеседование на сишника я не пройду, формально для меня рынок труда закрыт.

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

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

Пример из моей отрасли, PHP. Со времен Zend 1 и Codeigniter ничего по сути не поменялось. Все основные PHP фреймворвки сейчас - это роутер, контроллер + шаблоны. Плюс обвязка, которая по сути справочный материал. К сожалению, моя точка зрения не находит понимания у собеседующих. И если я хочу пройти собеседование по модному нынче Laravel, я пишу конспект по его классам. Если я хочу устроиться на симфонийщика, то я должен знать именно пятую версию фреймворка, и плевать что со второй по сути меняется только обвязка в виде вспомогательных классов для авторизации и т.д.

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

а потом пройти собеседование по ней
В таком случае 90% успеха зависит от принимающей стороны. Интервьюер может быть ещё менее знающий, так что всё случиться.

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

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

Но на практике все происходит тяп-ляп и в продакшн. Это хреново, но таковы реалии и именно об устройстве на работу автора статьи мы и говорим.

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

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

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

Не скажу, что я этому рад.

А я вижу, что для того чтобы попасть на аутсорс проект на зарплату в 200-250 т.р. на НЕ-руководящую должность нужно иметь:

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

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

  • гитхаб с ВАШИМИ проектами, где есть звездочки, контрибуции в какие-то библиотеки связанные с работой

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

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

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

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

английский позволяющий вам презентовать себя
Вам сколько лет? Подтянуть английский до минимально достаточного уровня (если выделить хотя бы по пару часов в день), это полгода, ну максимум год. Это если конечно меньше 40 лет, потом потяжелее идёт, но тоже можно.
знание всех аббревиатур из списка, и пока вы не дойдете до технического собеседования, вы не узнаете что именно из этого вам нужно знать
Покажите тут ваше резюме, вам подскажут что надо поменять, что со свистом пролетать скрининг.
гитхаб с ВАШИМИ проектами, где есть звездочки
Совсем не обязательно, если так хочется, создайте аккаунт, нафоркайте хайповых репозиториев, будете умно выглядеть.
опыт в схожих проектах
Иллюзию опыта тоже принимают.
знание всех современных вычурных парадигм и модных библиотек
Пример можете привести что такое модное и вычурное? SOLID — заучите определения наизусть, уже 90% успеха при прохождении. А если потратите час на чтение статьи где это на примерах объясняется, то и предметно поговорить сможите.

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

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

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

Воздержусь.

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

Это палится уже очень давно и не работает.

Иллюзию опыта тоже принимают.

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

знание всех современных вычурных парадигм и модных библиотек

Пример можете привести что такое модное и вычурное? SOLID — заучите определения наизусть, уже 90% успеха при прохождении. А если потратите час на чтение статьи где это на примерах объясняется, то и предметно поговорить сможите.

Например react-php(асинхронщина на PHP), наследование аггрегацией, знание на память последних ECMAScript. Заучивание определения SOLID и отличие интерфейса от абстрактного класса работает ровно в половине случаев. Во второй половине интервьюер думает, что вы вайтишник.

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

Если ваша цель 250тыр/месяц, то подберите 10 интервью в конторы посложнее, на них натренируетесь на прохождение интервью.

Потом подавайтесь туда куда реально хотели бы устроиться и шанс будет что всё получится.

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

Увы не так, сейчас фильтр на входе слишком слаб всвязи с бумом, а платят слишком много и кол-во Остапов Бендеров на входе бьет все рекорды

Хм... меня не берут в программисты андроида. Хотя я маленькие бизнес приложения пишу непрерывно со времен 1.5 андроида. У них странный дизайн, потому что меня часто просят сделать контрастный цвет там где нужно жать. )

Ну если у вас есть опыт то могут не брать примерно по следующим причинам

  1. у вас что-то реально стремно выглядит в CV, я не знаю, страна проживания Сомали, судимость, работа в ФСБ или что-то такое от чего HR падают в обморок

  2. Вы стучитесь не в те конторы т.е. надо расширить диапазон поиска. Тут зависит от страны проживания и т.п. не могу дать конкретный совет - разве что постучитесь в большие аутсорсинговые конторы - там входной фильтр слабее

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

Ну и вообще сейчас рынок разработчиков для мобилок схлопнулся очень сильно. Я бы порекомендовал если вот нужна прям работа пойти на Java backend - там язык тот же, платформа практически та же. Подучить немного простых вещей и вперед.

В смысле - схлопнулся? Смартфонов больше, чем компьютеров, и скоро будет больше, чем людей. Сейчас куда не плюнь, почти все делают сначала под мобилки, и только потом под все остальное

Ну это мое субъективное наблюдение - когда рынок только появлялся, скажем в 2010 году - все переквалифицировались в мобильные разработчики как проклятые учили Andriond и/или iOS.

Сейчас несколько знакомых - очень хороших мобильщиков пошли в backend в том или ином виде.

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

Жизнь есть в первых двух, третье это приложение в большему бизнесу, там не большой объем и в целом все не так весело

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

Пользователям смартфонов не нужны миллионы приложений им нужен стандартный набор, который "делает их уникальными"

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

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

Это не так. Вбейте в Google запрос "ИТ кадровый голод", в выдаче будет немало публикаций серьёзных изданий (например раз, два, три, четыре), объясняющих, почему за лето зарплаты специалистов ИТ выросли на 30% и почему некоторые банки с высокими зарплатами и очень хорошими условиями труда не могут закрыть около тысячи вакансий.

Кадровый голод на сферических суперзвёзд — возможно. Для большинства же разработчиков ничего не изменилось. Мне как приходило до десятка приглашений в неделю в линкедин, так и приходит. Как сливалось подавляющее большинство рекрутеров с чем-то вроде «нашли более подходящих кандидатов» ещё до собеседований и всего, так и сливается. Периодически хожу несколько лет по собеседованиям и вижу, как и там ничего не изменилось, компании так и руководствуются порой не всегда очевидными метриками. В Канаде так, по крайней мере, в других странах не знаю. Раз рыночек не порешал с критериями, значит на рыночке на самом деле ничего существенно не поменялось.
У вас какое то очень специфическое окружение. По крайней мере в РФ уже начиная с мидла неплохую работу можно найти после пары-тройки собеседований (по факту я два раза работу после первого же собеседования менял, но то потому что я в конкретные места шел, и не искал места получше). И кадровый голод уже начиная с тех же мидлов идет.
Вполне обычное. Вот статья на эту же тему. У разработчиков дела попроще, чем у многих других, но они неуникальны, я думаю.
Возможно, вы говорите просто про вечную востребованность разработчиков, а я про то, что ничего не изменилось по сравнению с допандемическим временем. Есть некоторая дутая иллюзия обилия денег у компаний из-за QE, которые из-за этого не очень мотивированно хотят расти, но это отдельная тема.
Не знаю, правда, что происходит в СНГ. У меня впечатление, что собеседование в СНГ идёт в основном по хард скиллам, в Америке же в основном по софт скиллам (те несколько раз из десятков интервью, когда мне таки дали кое-какой фидбэк, упомянули именно нехватку софт скиллов, включая и собеседование в Амазон). В любом случае, по софт скиллам планку американские компании не снижали, несмотря на жалобы на нехватку разработчиков. Само собой, совсем без работы я в случае чего не останусь, но я не про это.
CНГ идёт в основном по хард скиллам, в Америке же в основном по софт скиллам… упомянули именно нехватку софт скиллов

Да нет, на мой взгляд, в англоязычных странах есть определенный алгоритм прохождения софт-скилс собеседований (все вот эти вопросы «расскажите о себе», «какие ваши 3 самых плохих черты» и т.п.), программисту несложно его выучить и правильно отвечать (а также правильно улыбаться, и т.п.)на 95-99% таких вопросов, на остальные можно ответить включая здравый смысл. Есть много книг, ресурсов и учителей, было бы желание.

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

Может быть еще и третья проблема (но, надеюсь, она не про вас) — явная демонстрация несоговорчивости, не уменения коммуницровать и работать в команде и т.п.
английский язык
Навряд ли, сейчас уровень должен быть ближе к IELTS 8, и я провожу много технических интервью в нынешней компании, там бы заметили проблемы.
есть определенный алгоритм прохождения софт-скилс собеседований (все вот эти вопросы «расскажите о себе», «какие ваши 3 самых плохих черты» и т.п.), программисту несложно его выучить и правильно отвечать
Всё не предугадать и не выучить, попробуйте выучить на такое. Для меня лично такие секции интервью сложны, непрозрачны и непредсказуемы. Но к ним стоит, конечно, подготовиться.
Может быть еще и третья проблема (но, надеюсь, она не про вас) — явная демонстрация несоговорчивости, не уменения коммуницровать и работать в команде и т.п.
Хотелось бы знать! Прямо явной демонстрации проблем скорее всего нет, а вот какие-нибудь подозрения по рассказам о себе могут закрадываться у собеседующих — но это очередное подтверждение, что никакой реальной нехватки кадров нет и работодатель имеет большое количество кандидатов для выбора, чтобы прицениваться к оттенкам личного характера.
Знаете, у меня складывается впечатление что у вас вероятно или чтото с уровнем технических знаний или какаято еще причина, если вас все упорно игнорят и отказывают на собесах
потому что то что вы рассказываете — явно не отражает «обычное» поведение рынка для миддлов/сеньоров
Возможно, мне ж откуда знать. По тем вопросам, что у меня спрашивают, мне кажется, я неплохо и глубоко отвечаю. Сложные вопросы так-то никогда и не спрашивают, самое сложное в интервью — когда там есть подобные вопросы. Почему я и сравниваю с более техническими интервью в СНГ.
Типичный ответ
Thank you again for your interest in exploring a role with…. We know it's a time investment, and we appreciate your time and experience. At this time, we've made a tough decision to move forward with other applicants.

This decision is not a reflection of your talent, and we encourage you to keep applying. Some company will be lucky to have you.
При этом эта позиция была бы шагом назад в плане задач.
Или до этого от Амазона был фидбэк про проблемы в «leadership principles»
Ещё раньше такой
With regards to your experience, they felt you had relevant skills for the team, however they were looking for more precise examples highlighting your collaboration/coaching experience in your current position

Больше фидбэков почти не было, либо игнорят просьбу оных, либо прямо говорят «мы не можем вам дать фидбэк». Большинство рекрутеров, впрочем, отваливаются ещё до собеседований, вероятно, после пересылки резюме нанимающей команде, или после ознакомительного звонка «расскажите о себе» (хочу отметить, что 100% случаев — это ответы рекрутерам в Linkedin, я никуда не подаюсь).

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

Увы так и есть. Так и есть, блин компот!

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

Банально словарный запас до 15 тысяч довести среднему человеку два-три года втыкания в книжки понадобится.

Плохо учите, щелчка «думаю на английском и норм» еще не произошло?
//C2, по репетам лет 10

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


У меня например такой щелчок произошёл лет через пять проживания в стране с носителями этого самого иностранного языка.

думаю на английском и норм

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

А я очень сильно этого боюсь. Я боюсь разучиться грамотно выражать свои мысли на родном языке.

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

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

Подождите, но насколько я помню B2 - это формально около 5000 словарного запаса (чего недостаточно для редъявляемых требований, но всё же).

Опять вас же не B2 в программировании спрашивают, а "презентовать себя", "рассказать о работе".
Самые большие пробелы (в бытовом общении, смоллток и т.п.) можно и не заполнять если переезжать не хотите.

Навыки оцениваются по наихудшему. В моем случае грамматика и аудирование.

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

Голицынский и Бонк — оба прорешать полностью и грамматика будет в ажуре. С аудированием сложнее — надо искать поначалу адаптированные фильмы (My Fair Lady 1964 etc.)

Вот да, вот да.

Английский учу с 6 лет, 10 лет в лингвистической школе (как минимум один урок языка каждый день, плюс технический перевод и зарубежная литература отдельными курсами). На выходе язык был всего лишь на уровне B2 (сдавали сертификационный экзамен FCE), который потом за годы отсутствия практики упал до B1, и вот уже ближе к 30 годам, чтобы его снова подтянуть с B1 до B2 ушло почти 4 года, включавших в себя регулярные занятия с преподом оффлайн, занятия с преподом-нейтивом онлайн, чтение десятка книг на английском (не адаптированных), просмотр сотен фильмов и сериалов (сначала с субтитрами, потом без) и работа в международных компаних с использованием языка каждый день (последние пару лет -- с использованием только английского языка, потому что русскоязычных коллег нет в принципе) -- от написания документации и переписок по емайлу, до технических обсуждений сложный вещей и споров голосом на созвонах.
Щелчок "думаю на английском и норм" произошел уже давно, в фильмах без проблем могу улавливать игру слов и прочие языковые приколы, сколько задач по грамматике было прорешено не счесть, и после всего этого язык снова всего лишь на уровне B2, говорю все равно как узбек со стройки, и с опытом это не улучшается никак. Я уже смирился и на C1 даже не надеюсь, видимо, от природы не дано. Для работы более чем достаточно, и ладно.

На аутсорс я не пробовал, но устроился в продуктовую контору на озвученную вами сумму. Системная разработка. Из опыта работы за деньги веб на .NET, Android, разработка под микроконтроллеры, и единственное "серьезное" место работы — околосистемное программирование по линукс. Всего где-то лет пять коммерческого опыта.


Английский имеется, на этом всё из вашего списка. Истории успешного стартапа не было, я просто делал таски за оклад. В моем резюме был только C и Python. На собеседовании каких-то страшных аббревиатур вроде и не было, даже SOLID. Про гитхаб спросили, я стыдливо молчал. Тем ~50 репозиториев, но это либо что-то учебное с универа, либо мелкие утилиты, которые даже я не использую, либо незаполненные непонятные проекты. В схожих проектах опыта особо не было, да я и других вакансий на такую тему на встречал (простите, не раскрываю). Ну и модных парадигм с библиотеками как-то не нашлось, си всё-таки.


А я-то думал, что это мне, как эмбедеру, трудно работу искать, а веберы только и делают, что отмахиваются от предложений в 300 к/сек. А оно вот как.

Ну да, в большом энтерпрайзе в аутсорсинге спецу много проще работу тайти чем в ембеддед. Пробовал переходить из веба в ембеддед (хобби электроника), но уж слишком рисково переходить в отрасль где вакансий на 1-2 порядуа меньше при меньшей оплате

Пробовал переходить из веба в ембеддед (хобби электроника), но уж слишком рисково переходить в отрасль где вакансий на 1-2 порядуа меньше при меньшей оплате

Я бы сказал что это скорее "региональная" проблема. Потому что у нас и спрос на ембеддед приличный и зарплаты там точно не ниже веба. А то и выше.

Потому что у нас и спрос на ембеддед приличный и зарплаты там точно не ниже веба. А то и выше.

В связи с чем это связано? Машиностроение вытягивает вверх?

Скорее автомобилестроение, плюс бытовая и медицинская техника. То есть я бы сказал что у нас приличная часть рабочих мест в ембеддед это Bosch/Siemens/Audi-VW/BMW и куча их субподрядчиков.

Это псевдо-тонкая манипуляция в надежде сбить зарплату. В вакансиях принято умножать реальные запросы на 5. По факту:

  • Чтобы мог сам вбить вопрос на SO

  • Знание расшифровок половины

  • Хоть какой-то публичный кусок кода

  • Хоть какой-то комерческий опыт

  • Общее представление зачем нужены докер и куб (ну на фронте не это, сами поделите на 5)

Просто шли резюме и тренируй уверенность в голосе.

>берут вообще всех кто достаточно наглый
Ну, это где как. По моему опыту и мнению коллег, берут всех, кто тянет на джуна. Даже если написано, что он миддл. Потому что дефицит. Но таких, кто не тянет и на джуна — тоже вагон. Те у кого дефицита рабочей силы на сегодня нет, те бывают еще разборчивее.

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

Я тоже не беру, но мир большой и бывает по разному.

Я верю. Хотя это и странно. Я вот каждый раз даже когда синьора беру — раздумываю, а кто будет в проект вводить, для мелкого проекта это трудозатраты, и приличные. Но в случае синьора это хоть быстро окупаться начинает. А так чтобы брать всех кто наглый — а работать-то кто будет? Ведь спросят за работу по составу команды, а работу делать только тем, что умеет.
Я могу написать драйвер на С, прошивку для микроконтроллера, могу закоммитить в какой-нибудь гнутый опенсорс и это примут. Но собеседование на сишника я не пройду, формально для меня рынок труда закрыт.
О_0 На сеньера без опыта конечно нет. На мидла, если есть сеньерский опыт в другом — возьмут (я так ушел). А на джуна могут взять даже без знания конкретного ЯП, если у Вас в целом хорошее понимание области (конкретный найм знакомого в компанию с капитализацией более 1млрд).

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

>О_0 На сеньера без опыта конечно нет. На мидла, если есть сеньерский опыт в другом — возьмут (я так ушел). А на джуна могут взять даже без знания конкретного ЯП, если у Вас в целом хорошее понимание области (конкретный найм знакомого в компанию с капитализацией более 1млрд).

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

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

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

>К нам однажды пришел… архитектор, и начал рассказывать свою точку зрения. Все мы неправильно делаем, все надо переписать. Я подавал на увольнение. Даже дважды (меня отговаривали) Но уволили его. Как говорится у человека есть широкий кругозор, когда он сужается, то превращается в точку зрения. Конечно я не знаю Вашу ситуацию, но меня сильно смущает эта фраза.

Этим архитектором был... Альберт Эйнштейн, который всюду ходил с мотоциклетным шлемом, в котором была голова отца?

умение решать задачи !== умению получать работу
Ловите JS-ника.

сравнение с учетом типа есть не только в JS

Даже во всяких очень формальных языках есть возможность сформулировать равенство двух значений разных типов, да.

Но скажите, а какой смысл идти на джуниора-миддла с понижением зарплаты?
Ну если для Вас главное зарплата — то да. Но посмотрите на это со стороны работодателей. Сейчас Вам доплачивают за точечные знания технологий которые используются внутри текущей работы, за знание бизнес / IT процессов внутри компании, за стабильность процесса разработки который имеет компания. А теперь Вас нанимает другая и теряет все это. Зачем ей платить столько же?

К счастью в IT уровень зарплат таков что многие из нас могут скинуть значительный процент. Можно рассматривать это как покупку. Мы сами выбираем что купить. И можем себе это позволить.
я просто хочу писать код, а не продавать себя, выбивать часы и бюджеты и т.п.
Вы сами себя ставите в рамки узкого специалиста. Если выйти за рамки то можно получать больше. Но для Вас Это Комфортнее. Кому-то комфортнее делать что не нравится, но нанять прислугу. Все в выиграше. Если суть Вашего сообщения что одновременно все нельзя, то ок, я с Вами согласен, но не в принципиальной невозможности сменить работу.
Я могу написать драйвер на С, прошивку для микроконтроллера, могу закоммитить в какой-нибудь гнутый опенсорс и это примут. Но собеседование на сишника я не пройду, формально для меня рынок труда закрыт.

А это как, расскажите? Делаете main на 2000 строк и называете переменные одной буквой? Или выходите из себя когда кто-то ревьюит ваш ПР?

Достаточно просто использовать char/unsigned char вместо uint_8 и прочих типов, не знать основного функционала glib, чем отличается memcpy от strcpy, как перевернуть строку самым эффективным образом.

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

Там нет жестких требований, если речь об утилитах, которые стартовали лет 10-30 назад. И таких утилит очень много. Достаточно знания того самого C/C++ и немного усидчивости, и вы сможете закоммитить много куда.

Я работаю сишником. О каком функционале glib идёт речь? Либо что-то очень очевидное, либо я не знаю.


как перевернуть строку самым эффективным образом

Не задумывался об этом. О чем речь, о скорости? Сначала, конечно, стоит уточнить, что за строка, потому что если это utf-8, там все сложно. Если же строка — последовательность байт, то, наверное, SIMD. Тут даже сравните с тестами есть: https://dev.to/wunk/fast-array-reversal-with-simd-j3p

Я могу написать драйвер на С, прошивку для микроконтроллера, могу закоммитить в какой-нибудь гнутый опенсорс и это примут. Но собеседование на сишника я не пройду, формально для меня рынок труда закрыт.

Вы пробовали? Чисто из спортивного интереса?

Задавать вопросы по API библиотек в 2021 - предел глупости. Их можно просто скипать, благо страдающие таким захотят впихнуть тебе какой-нибудь тестик еще на первом созвоне.

Работал с 1с. Подтянул за пару месяцев android sdk, java, потом неделю на котлин и перешел разрабатывать на андроид в другую компанию без потери в зп.
З.Ы. это в регионе было, в столицах и миллионниках может ситуация и чуть иная.

чтобы адекватно собеседовать специалистов, нужно самому быть специалистом

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

It depends, тем более когда речь идет о пхп, который продвинулся вперед достаточно сильно.


>> Все основные PHP фреймворвки сейчас - это роутер, контроллер + шаблоны

ну да, если писать hello world.

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

It depends, тем более когда речь идет о пхп, который продвинулся вперед достаточно сильно.

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

ну да, если писать hello world.

Нет, если писать даже что-то сложнее но на типовых принципах. Я засыпался на вопросах что не помню, что возвращает ORM ларавеля для типового find - объект запроса, массив с результатами или коллекцию. Потому что у меня в голове сидит еще Doctrine и DBIx::class и я не помню что в каком случае возвращается. Также я не помню есть ли в текущем фреймворке своя обертка для очередей сообщений, но я знаю что нужно проверить, если мне понадобятся очереди. Не помню досконально синтаксис шаблонизатора и какой из них поддерживает макросы, какой нет. Или как в текущем фреймворке делает автоподтягивание сущностей по ее ID из URL, и нужно ли для этого ставить дополнительные библиотеки. И т.д. Или нужно именно наизусть помнить все это? Ну кроме случаев когда вы на фрилансе делаете коротенький проект и там работа идет на скорость и на чистом навыке.

Вопрос в том, сколько времени займет у человека вникнуть в то что под контроллерами и как скоро и в каком виде он будет доставлять бизнес логику.

Для вас правда важно, будет ли человек писать код "как у вас" через 2 часа, а не через 2 дня?

Меньше всего мне бы хотелось объяснять каждому напр. почему типы важны и почему лучше использовать встроенный инструмент вместо написания велосипеда и слышать в ответ "да я так писал надцать лет и все работало!"

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

Ваши ответы отличны, и от ожидаемых мной и в целом, в том смысле, что я бы хотел с вами работать.

Я полностью согласен с тем, что спрашивать кандидата о таких деталях как что что возращает и т.д. - глупо, исключая случаи когда и правда надо начать через 2 часа.

Возможно у меня негативные ожидания из-за моего персонального опыта и мне все еще не приходилось работать вместе с хорошими программистами, надо блин менять работу :/

А что вы ожидаете услышать и почему именно это?

С моей стороны это была отсылка к фразе "от версии Х до версии X+n ничего по сути не поменялось" и для некоторых коллег это означает что "даже если и поменялось, то мне пофиг, ведь я умею лабать на версии X". Оттуда растут сложности с апгрейдом любого интсрументария - языка, фреймворка, платформы и т.д. ведь раньше "все и так работало" и приходится продавливать, собирать ЗА и ПРОТИВ чтобы наглядно продемонстрировать бенефиты. Я ожидаю такого при общении, например, с менеджерами, но девам вроде же и так должно быть понятно все это, т.к. это очевидные вещи, но нет.

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

П.С. ну и да, знание про существование очередей сообщений уже говорит о многом :)

Я засыпался на вопросах что не помню, что возвращает ORM ларавеля для типового find — объект запроса, массив с результатами или коллекцию. Потому что у меня в голове сидит еще Doctrine и DBIx::class и я не помню что в каком случае возвращается.
Я например для своего основного языка очень много подобных деталей не помню и считаю что это ок. И зарплата сильно больше 200-250 т.р, так что как я раньше сказал — рассылка в 10-20 контор и счастье случиться.

Когда пишут "вкладываться в язык", складывается впечатление, что человеку это на самом деле не интересно. Что программирование — не более, чем способ заработка. Что "вкладываясь", он тратит своё драгоценное время на всякую ерунду типа обучения вместо того, чтобы жизнь жить.

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

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

Первый комментарий за пол года на Хабр!
Мои поздравления.

Потому что у людей, кроме текущей работы, есть семьи, хобби и все такое? Не все фигачат выходные напролёт в свой гитхаб

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

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

Оо, вы сформулировали за меня мысль.


Меня спрашивают друзья, почему, если я люблю Rust, я не иду на нем работать. И вот ответ. Потому что предпочту интересную предметную область на си (что ж, почему-то железячники весьма консервативны), чем неинтересную (80% это бэкенд) на интересном стеке.


ЗЫ. Зачем людям веб на Rust, есть более удобные языки. C#, например. А там, где раст хорош, его нет.

Прикольно, конечно, я не понял, при чем тут Форт...

Людям могут нравиться конретные способы решения задач. Ну и потом на некоторых языках программирования человек думает. А на некоторых просто пишет код.

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

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

Как можно было понять, что вкладываться надо было скажем в TypeScript, а не в Dart? В Python, а не в Ruby? 

А что не так с Dart и Ruby в вашей картине мира? В Ruby я очень удачно начал вкладываться в 2008 ещё. До сих пор хорошо окупается. На Flutter (который на Dart) сейчас тоже нормально поднимают. Вот Python выглядит наоборот неудачным выбором, распыление на все сферы подряд (хотя кому-то может показаться плюсом) и топлы желающих войти-в-айти, с которыми вам придётся работать в одной команде рано или поздно.

Dart это не только Flutter, но и Dart Angular, от которого недавно публично отказались во Wrike.

Вот не надо так. В 2002..2004 году я уже участвовал в проектах, которые работали, не глючили, не были сырыми и успешно продавались. 1.3 версия была. И уже был выбор ORM (если jdbc не нравился), и уже использовали MVC. Так что не надо воттаквот огульно. PS : и до сих некоторые решения работают, кашу не просят

Как можно было понять, что вкладываться надо было скажем в TypeScript, а не в Dart? В Python, а не в Ruby? Сейчас вот многие в Go вкладываются. Но кто сможет поручиться, что через 10 лет он ещё будет востребован?

На конкретный язык или технологию вообще не стоит строить далекоидущих планов. Вкладываться надо в то, что от конкретного языка не зависит: математика, алгоритмы, структуры данных, паттерны проектирования и т.д. В этом случае вы (при желании) уже через месяц сможете писать код вполне приемлемого качества на новом языке. Я за 17 лет карьеры сменил уже кучу языков C -> C++ -> Java -> Scala -> Python -> JavaScript -> Go. И сейчас довольно большой пет-проект на Rust пишу. Из всех языков наибольшие трудности при освоении вызвал как раз Rust - концепции владения и заимствования мне немного мозг сломали поначалу, сказывался Сишный бэкграунд, по всей видимости.

У меня несколько вопросов.
Scala -> Python

1)почему перешли?
Python -> JavaScript

2)почему перешли? Выглядит странно.
-> Go -> Rust

3)Насколько Rust хорош?

Ну это не то, чтобы я разочаровался в Scala и решил вдруг перейти на Python. Scala до сих пор один из моих любимых языков. Просто на работе был один проект, которым я заинтересовался, там кодовая база была в основном на Python+JS. Так как Python я уже более-менее знал, то и подключился в качестве разработчика на Python. А с JS стал разбираться просто из любопытства - было интересно, как там все устроено, и вот так года через полтора и стал полноправным разработчиком.

Сейчас мой основной язык Go, а Rust начал учить просто в качестве хобби: была идея одного пет-проекта и т.к. он относился скорее к системному программированию, то выбор стоял между возвращением к C++ и изучением нового Rust. Естественно, я ухватился за второй вариант) Язык очень понравился, хотя его освоение шло очень тяжело, приходилось постоянно внимательно читать и перечитывать документацию, а уж сколько разбирался с лайфтаймами, даже вспоминанть не хочется. Но как ни странно, это было весьма увлекательно и ни разу не возникло желания все бросить и переписать весь код на C++. Что касается коммерческой разработки, то я бы пока не советовал, не смотря на всю мою любовь. Язык активно развивается и некоторые вещи пока не стабилизированы. К тому же, имеет место некоторый зоопарк, например, с асинхронными рантаймами. Да и вакансий немного пока.

Но как ни странно, это было весьма увлекательно и ни разу не возникло желания все бросить

Да, когда учишь что-то новое, это всегда интересно.

Конечно быть программистом Rust с опытом в 10 лет сегодня это круто. Но целесообразней сегодня быть программистом C++ с опытом в 20 лет и интересоваться Rust-ом.

Т.е. не обязательно играть в рулетку. Работайте на общепринятых языках и держите руку на пульсе индустрии.

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

Есть области, которые куда более консервативны. Человек вполне может 10 лет писать на PHP, поглядывать на Go, и когда станет очевидно, что Go уже никуда не денется и свою нишу занял, перейти на него.

А популярные языки вообще умирают не очень часто. Дельфи, перл. Мне вот в голову, честно говоря, даже больше ничего не приходит, если говорить о мейнстрим языках, популярных с 90-х годов. Может быть чистый С, хотя спорно. Большинство даже старых языков всё равно развиваются и вполне себе живут. Java, C#, PHP, C++ - никуда они не денутся через 10 лет. В Java лично я уверен на 20 лет вперёд, если говорить про бэкэнды.

Но целесообразней сегодня быть программистом C++ с опытом в 20 лет и интересоваться Rust-ом.

К слову, можно иметь очень разный 20-летний опыт C++. У меня есть знакомые, которые как 20 лет назад начали писать на C++98, так и пишут на нём сегодня (и даже C++11 запрещён кодстайлом в рамках всей компании), и есть знакомые, которые вполне себе в теме новых веяний.


Держать руку на пульсе действительно очень важно, и в рамках своей компании это, увы, едва ли получается делать. Надо смотреть по сторонам.

20 не 20, а 15 лет назад java вполне себе цвела и пахла и было ясно, что она не помрёт ещё долго и писать на ней будут много.

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

Я 5 лет назад оставил вот этот комментарий на хабре, описывая мой путь поисков перспективных технологий в начале 2000-ых: я изучил java, сделал коммерческий проект, успел по разрабатывать под симбиан мобильные приложения, и вы знаете, я сделал вывод тогда, что весь этот стек - мертв, java - мертва, и поставил все на стек от Borland.

Тогда работу разработчиком баз на дельфях или си билдере можно было найти, практически, без напряга. Вход был простым. Казалось, что может произойти с этим миром, чтобы за такой короткий промежуток времени, так все развернулось и дельфи из какого-то мейнстима просто превратилось в какой-то заброшенный остров, с которого с адской скоростью стали убегать люди? У меня открылись глаза прям совсем по настоящему, когда одна большая компания, была готова приобрести наше ПО и в одной из встреч они попросили рассказать на чем оно написано. И после того как они узнали, что это черт побери, Дельфи! - мы их больше не видели. Т.е. люди отказались от подходящего им ПО, опробованного, только из-за того, что сам факт обладания чем-то уже на не очень вкусно пахнущим, заставил их отказаться от этого выбора в пользу ПО, написанного конкурентами тогда на C#, с функционалом значительно меньшим. При это, ПО не поставлялось в исходниках. Казалось, какая разница? А в жизни, разница была.

Для меня лично, вот это вся дельфийская история, такой след прям оставила в памяти: ситуация, когда ты работаешь, много (по настоящему) проектов, ты весь в разработке, весь вот в этой девелоперской бани и вдруг! Буквально вот все развернулось меньше чем за год - ком прям скатился с горы и из ситуации, когда ты сам получаешь удовольствие от своей работы, в черную дыру с мыслью - пора не только что валить, а - именно что спасаться бегством, фактически почти обнуляясь до уровня чуть выше джуна, т.к. релевантного актуального опыта на тот момент уже не было. С тех самых пор, я зарекся работать с какой-то одной технологией/одним стеком. Надо постоянно качать скиллы в какой-то смежной области, смежном направлении, чтобы если завтра история с условной дельфи повторится - это не было вот так вот, как это было у меня. Просто я вообще тогда, в те годы, в страшном сне не мог подумать, что так - вот прям буквально - вот так из всего, дельфи превратиться в какой-то тусклый свет давно погаснувшей звезды. Причем такая трансформация произошла фантастически быстро.

т.е. «резюмируя» Ваш проект на Дельфи был какой то «местной» разработкой и не представлял какой то угрозы на сложившемся рынке продажи подобного ПО?
(и не важно было как этот проект продавать на рынок)

В одно время, он был в обойме лидеров рынка СНГ, и конкурировал с ними на равных. Сам проект именно на дельфях возник путем переписывания старой кодовой базы кажется вот на этом. Не уверен, но портирование произошло в конце 90-ых. С тех пор технологический стек был Borland. Я устроился туда работать в нулевые, и тогда сама технология разработки, которую предлагал Borland, без всяких преукрас, казалось какой-то сказочной: Installsheild, очень крутая IDE, с Visual Studio тех лет просто на контрастах, опять же кросс-платформенность через Kylix, которая позволяла минимум GUI разрабатывать один раз. И это действительно работало, как и заявлялось через CLX. Я даже успел попробовать MDA. В целом, даже когда я изучал java, я все равно сделал свой первый коммерческий проект в JBuilder, т.к. по удобству и скорости разработки, аналогов просто не было. Вот даже сейчас, когда я это вспоминаю, меня охватывает довольно забавное чувство восторга от этих "технологий древних". И выше коллега спрашивал, да как понять то, что все это накроется, причем стремительно? Как современнику тогда это понять? Что Java, местный массовый рынок работы для которой, тогда просто не существовал, через несколько лет станет одной из самых востребованных? Наверное, это было тогда сродни лотерее (именно на старте). Ну и не понятно, как можно было на этом заработать, где просто найти какой-то заработок? Фриланс тех лет бурлил "разработкой сайтов" и дизайнов для них.

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

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

Плюс политика борланд чуть не убила дельфи на ровном месте.

Если бы они правильно подсуетились — то всё бы сильно подругому было.

Согласен. 20 лет назад ещё Flash очень хорошо так выстрелил. Многие в него вложились, а теперь его как-то уже и нет, вроде.

Java 20 лет назад и Java сейчас это две большие разницы. За последние лет 5 изменений в Java столько, что мало кто поспевает за её изменениями.
Плюс "голая" Java мало где интересна.
Интересны фреймворки для Java.
Самый популярный Spring, так же динамично развивается.
Так что в мире java можно "сидеть на попе ровно".
Но это грозит тем, что твои знания устареют за пару лет.
И далее, как у автора статьи, только надеяться, что не уволят.

Скажите, а что «устарело», например из Шпаргалка Java-программиста 6. Список полезных ссылок для Java программиста от 2016г. (за 5-ть лет)?

P.S. Используется ли и в какой степени, например JavaCC?

Интересно, что и в связке Java + Forth находятся проекты на Github
Была JavaEE, где она теперь?
А ведь еще была JSF?
А Struts?
Spring тоже меняется, надо следить за изменениями.
Мало кто поспевает за изменениями в Java — тут я согласен.

Скажите, а что «устарело», например из Шпаргалка Java-программиста 6. Список полезных ссылок для Java программиста от 2016г. (за 5-ть лет)?

Много всего.

P.S. Используется ли и в какой степени, например JavaCC?

Не встречал.

Интересно, что и в связке Java + Forth находятся проекты на Github

А как на рынок труда это влияет? Есть вакансии?
Была JavaEE, где она теперь?

Примерно в половине вакансий в Европе, JavaEE сильно поменялись, но все равно используются очень часто. Банки, финансовые организации смесь JavaEE и Spring.

А ведь еще была JSF?

Там же, где JavaEE, есть множество внутренних сайтов (банков, телекома и т.п.) где оно до сих пор используется и обновляется.

А Struts?

Видел примерно в 10-20% вакансий.

Много всего.

А что именно? Как автор этой страницы интересуюсь…

Spring тоже меняется, надо следить за изменениями.

То что обычно спрашивают на собеседованиях не менялось лет 10. Да и далеко не факт, что на работе у вас будет последний Spring.
Не ну если речь про Германию, то возможно там более консервативная среда(может это и хорошо даже).
Германия, Люксембург. Особо не анализировал Нидерланды, Австрию, Швейцарию и т.п. страны, но помню несколько вакасий по JavaEE и оттуда.

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

Почему умирает, например тот же quarkus все любят и он активно растет.

А можете дать ссылку, что он реализует JavaEE? Быстрый гугл не дает результатов.

Формально на сегодняшний день quarkus не проходит аттестацию на совместимость jakarta, но по факту соответствует microprofile JakartaEE.

Есть заявление что в ближайших планах нету планов начать проходить ее с обяснением причин. Если коротко:

Но вряд ли ли разработчик на JAVA EE на микропрофайле нужно что-то учить специально чтобы перейти на quarkus

Micronaut кстати хоть и чуть дальше отошел, но по коду различий немного с JAVA EE(хотя они хотя бы видны)

> Интересно, что и в связке Java + Forth находятся проекты на Github
А как на рынок труда это влияет? Есть вакансии?

Особо не видно, но вероятно кто то использует в своих проектах и Forth, если и звёзд, бывает, несколько сотен какой то проект с ним на Github набирает.

P.S. Форт просто был первым языком практического програмирования из
Concatenative languages использующих стэк(и) как одну из основополагающей структуры данных в языке.

Factor — язык программирования хорошо представлен в своих возможностях.
Kitten написанный на Хаскел тоже вроде неплох

но эти языки акцентируются на использовании ФП в возможностях стэка.
помимо, как Factor нацеленный на ФП в комбинаторном подходе и стэк это позволяет легко это имплантировать. (в Factor ещё своя VM для запуска на разных ОС)

Java 20 лет назад и Java сейчас это две большие разницы. За последние лет 5 изменений в Java столько, что мало кто поспевает за её изменениями.

Перечитайте мой пост-там сказано что обновлять знания достаточно раз в 5 лет, а не что хватит знаний 20-летний давности. И да, я сейчас легко найду работу со знанием Java8, вообще ничего незная про новые версии. И так же было 5 лет назад и 10 лет назад - со знанием java 6 легко было устроиться на работу. Неужели вы считаете что раз в 5 лет обновить знания это слишком часто?

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

Это сильно преувеличение. За пару лет навыки в популярных технологиях не устаревают.

>И да, я сейчас легко найду работу со знанием Java8
100%. Я вам даже могу подсказать, где. Большие данные, Hadoop. Многие популярные сегодняшние версии сборок на сегодня все еще в качестве JDK/JRE указывают именно 8-ку. И так будет еще порядочное время. При этом те, кому хочется писать var (как в новой Java) пишут на такое же старой Scala :)

Это сделало невозможной задачу полноценно следовать за изменениями. Но это было нормально, поскольку я все еще работал полный рабочий день над мэйнфреймами и имел много возможностей в моей профессии.

Т.е. человеку было комфортно заниматься работой, и он думал, что так будет вечно, а зачем что то новое если мэйнфреймамы были, есть и будут?

Открываем wiki

В начале 1990-х начался кризис рынка мейнфреймов, пик которого пришёлся на 1993 год. Многие аналитики заговорили о полном вымирании мейнфреймов, о переходе от централизованной обработки информации к распределённой (с помощью персональных компьютеров, объединённых двухуровневой архитектурой «клиент-сервер»). Многие стали воспринимать мейнфреймы как вчерашний день вычислительной техники, считая Unix- и PC-серверы более современными и перспективными.

Что касается остальных по теме, то в первую очередь проблема в поколениях, если раньше человек получил образование программиста, то и в 65, и даже в 70 лет он был востребован, т.к. опыт перекрывал развитие технологий, а сейчас студент со смартфоном может выдать больше знаний, особенно если есть навыки искать. Так же люди не привыкли менять направления и род занятий. Что может и хочет разработчик через 10-15 лет на одном проекте? Он незаменим? - нет.

Тут приходим к необходимости как следить за рынком и тенденциями, так и не забывать про рост. Если бы Alan Cooper выбрал бы для своей пенсии MS, он был бы сейчас так же нужен с его знаниями как в 90х? Помимо постоянного роста необходима диверсификация опыта, и если писать книги или читать лекции могут не все, то выбирать смежные направления для консультации вполне реально, как и заниматься обучением.

Вот и получаем к условным 55-60 годам, либо за вашей головой охотятся компании, либо вы кандидат под очередное сокращение (а с учетом нашего законодательства еще и раньше). А найти работу рассказывая как 15-20 лет назад были устроены мэйнфреймы не так уж и просто.

Открываем wiki

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

Открываем wiki

Я вот уже лет 10 читаю как ПК умирают и уже в агонии, что десктоп приложения мертвы и что будуЮщее за веб-прогрессив-скейлебл-реактив-баззворд. Вот только iPhone сначала выходит без нативных приложений, а потом их добавляет. Браузеры и ОС на reactive.buzzword.js всё ещё никто не пишет

Открыть вики и посмотреть а так ли всё на самом деле я смогу только лет ещё через 20

Кроме всяких там упадков рынка мейнфреймов в середине 90х надо учитывать ещё два фактора:

1) В начале 90х в США были придуманы рабочие визы и рынок труда наводнили мигранты.

2) В начае 90х одновременно появился доступный интернет, начал стремительно расти сектор персоналок и вслед ха этим подтянулись современные программы подготовки специалистов. То есть до 90х готовить программиста можно было долго, дорого и не везде, а инструмент программирования (мейнфрейм) был только на работе. С середины 90х программистов стали готовить быстро, относительно дёшево и повсеместно, а их рабочий инструмент (PC) стал доступен всем желающим в любом магазине.

К совпадению этих двух факторов "старички" оказались в большинстве своем не готовы.

Каждый раз, когда я изучал новый язык программирования для ПК, индустрия менялась. Это сделало невозможной задачу полноценно следовать за изменениями.

Как же программисты для ПК вообще выживают, если за изменениями следовать невозможно?

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

Если ты в 60 остался на тех же позициях, что и 30и-летние, то так тебе и надо.

А куда дальше? Скажем, в 30 - сеньор (старший, ведущий) программист? Архитекторы не везде нужны, да и на 1 архитектора сотня других айтишников. В менеджеры идти? Многие хорошие специалисты плохие руководители. Или в бизнес аналитики? А кто сказал, что перестарки нужны с небольшим опытом аналитики? Да и их опять же нужно 1 на 10-20 прочих айтишников.

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

  1. После 40 лет многие не выживают, их выкидывают , набирают новых.

  2. Некоторые угадывают, и вкладываются в правильную технологию.

  3. Некоторые неполноценно следуют за изменениями и переходят на новую технологию с понижением. Потом опять "на коне".

Мне как раз "после 40 лет". Пока не выкидывают, и с получением офферов проблем нет. Главное не сидеть на попе ровно, а постоянно развиваться. Тогда и 40 не старость. Как там в 60 я еще не проверял.

Точно так же, могу вас уверить. Если у вас все будет норм со здоровьем, и мотивацию находить сможете — мало что изменится.

Технически намного легче так как дети уже выросли и самостоятельные. Инвестиции работают т.е. пассивный доход растет. Денег платят больше чем в 40 лет. Есть и не очень моменты за здоровьем надо следить довольно много друзей уже умерли, что серьезно расстраивает. Понятно ранний альцгеймер тоже беспокоит часто слова выпадают. После 60-ти если сильно напрячься (к примеру прод лег) то висок часто болит так как-будто туда гвоздь забили.
Но в целом ощущение дзена ты над схваткой.

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

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

На деле же - никто не берет на работу даже профи начиная с 40 лет

Мне 42, предложений работы вагон, ежедневно, при том, что у меня закрыт профиль на HH.ru а в остальных местах указано, что я не ищу работу. При чём предлагают как локально, так и за границей. Не знаю что там у вас за исследования, но если человек толковый, то какая разница сколько ему лет?

Спасибо за ответ. Немного поправил формулировку в моем комментарии.

Предложения не означают реальный интерес, но вы, я думаю и сами в курсе этого.

Естественно, что на возраст никто не смотрит особо, если человек адекватен, хотя около 60 уже начинают осторожно брать, т.к. болезни/травмы, да и пенсия близко, это если не на проект на годик-два. С 65+ уже осторожность особенная.

Думаю, к примеру, если в команду Питон разработчиков, с точки зрения командного лидера, нужен С/С++ программист. :)

P.S. Думаю, что Хедхантеры читают такие статьи и им нет повода им не доверять:
10 лучших языков программирования в 2021 году

А, тем временем, сами же программисты изобретают очередной DSL — Domain Specific Language.

Кстати было бы интересно послушать мнение hr-ов. Коллеги, будем рады вашим комментами.

Мне кажется, индустрия взрослеет. Если вы начали работать программистом в 90-х, то начинали скорее всего с Basic, Pascal, C/C++, Assembler, Perl. Если в 00-х, то скорее всего застали вышеперечисленное на уровне школы и/или универа, но уже относились к этому как чему-то устаревающему. А начинали с Delphi, Java, PHP, C#.
В 10-х люди начинали скорее всего с JavaScript, Ruby, Python, частично захватив и то, что было стартом в 00-х.

Т.е. резюмируя, на данный момент самые востребованные спецы - те, кто начинали в 00-х, которые застали всё вышеперечисленное, но не тяготеют к устаревающему, и их возраст примерно от 31 до 40. И если они к своим годам уже классно владеют и ООП и ФП, то что из технологий может сделать их навыки неактуальными? Разве что квантовые компьютеры, но это даже интересно было бы наблюдать.

И важно понимать, что этот возраст так и будет расти дальше, пока не произойдёт очередной скачок, сравнимый с теми, что были в 90-х при переходе от bare metal к виртуальным машинам и от desktop к web.

Мне 43, я на Python пишу ээээ... ну за деньги - с 1997 года.

Я же специально во все утверждения вставил "скорее всего". Понятно, что есть исключения, но Python не был в те года мейнстримом. Я начал работать в 2006 и даже тогда он был скорее экзотикой, занимая нишу "скрипты под GNU/Linux".

Так что даже интересно, в какой сфере вы его применяли первые 10 лет карьеры?

Кто же тогда останется писать дрова, если все тянутся к высокоуровневому? ;-)

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