Я не говорил, что таких кейсов нет совсем, но их количество стремится к нулю. И это легко обосновать. Бизнес всегда стремится оптимизировать затраты, т.е. найти наилучших сотрудников за наименьшие деньги. Это широко известно как "кадровый дефицит высококвалифицированных низкооплачиваемых сотрудников". Итого, если вы к этой категории относитесь, то вас с радостью возьмут куда-нибудь в Яндекс, Т-Банк или другую крупную компанию, которая будет красиво смотреться в резюме.
А теперь попробуйте обосновать, какой смысл такому человеку идти в какую-то малоизвестную лабораторию, где ещё и собес пройти ни чуть не проще?
Ну, вы и сказочник. Конечно, можно любое утверждение выдумать, если доказывать его необязательно)
И, конечно, бывают люди с большим стажем и низкой зарплатой, но их квалификация тоже оставляет желать лучшего. При этом ещё и мотивация что-то менять отсутствует. Поэтому непонятно, как вы их собрались на собеседование зазывать, а главное зачем?
Я ориентировался на статистику отсюда же с хабра. Где джава миддл за 200-250, синьор за 300-400 это вполне среднее по рынку.
Давайте научу, как читать местную статистику. Вы ищете миддла с 5 годами опыта, это уже должно быть хотя бы в районе 75-го перцентиля, т.е. 290k на руки. За 227k на руки можно поискать миддла с 3 годами опыта.
Почему у вас не получится найти мидла в левой части распределения? Потому что это на самом деле джун+ (они по хардам к вам не пройдут). Обратите внимание, что всегда есть пересечение диапазонов зарплат по разным уровням квалификации. Это вызвано тем, что есть компании, которые вместо повышения зарплаты, повышают в должности. Т.е. уровень от 75 до 90-го перцентиля можно считать равным уровню от 10-го до 50-го перцентиля следующего грейда.
Посмотрите распределение для джунов. 157-206k по сути тоже что для мидлов 147-227k. Это уровень Junior+, а мидлы по сути начинаются только от медианы. Т.е. 227k на руки - это низ рынка для мидлов по Java в СПб. Но вы хотите суперопытного мидла, поэтому для вашего случая низ рынка будет 290k.
Я думаю, что человеку с 5 реальными (а не нарисованными) годами опыта вакансия на 200k, да ещё и в офис, может приглянуться только если речь про какой-то районный центр. А тут речь про Питер, так что у неё вообще околонулевой Signal to Noise Ratio
Подозрительно это всё. Получается, на уровне кода не показать in-place мутабельность. А есть какие-нибудь бенчмарки сравнения с какой-нибудь Java? Обычно, в бенчмарках сплошь и рядом алгоритмы, опирающиеся на работу с массивами.
Не прыгайте с темы на тему. Мы тут секцию определений обсуждаем, и там вы дали урезанное определение ПП: "программирование используя структуры и функции"
Вот более подробное: "Procedural programming is a programming paradigm that involves implementing the behavior of a computer program as procedures (a.k.a. functions, subroutines) that call each other. Procedural programming is about dividing the program implementation into variables, data structures, and subroutines (a.k.a. functions, procedures)"
К ФП ваше определение ровным счётом никакого отношения не имеет.
Это было искреннее удивление вашему умению так быстро переобуваться. Простите, не хотел вас этим оскорбить.
Ну, а раз по существу ответить нечего, то думаю примеры полиморфизма и инкапсуляции без малейшего намёка на ООП вы без труда и сами нагуглите. Было бы желание снять давнишние шоры.
Вы бы хоть не поленились ссылку на сайт этого ЯП дать или нормально его название по-английски написать. Первый раз про такой язык слышу, как и гугл xD
И работа вся идёт без копирования.
Из приведённого примера это вовсе неочевидно. Более того, его можно 1-в-1 переписать на любом языке с иммутабельными структурами данных. Т.е. он вообще наличие мутабельности никоим образом не доказывает.
Есть много языков с элементами ФП, т.к. это действительно удобно. Но функциональных языков не так много, как минимум, они будут отличаться неизменяемостью данных и наличием оптимизации хвостовой рекурсии.
То, что вы сами не разобрались с определениями и пытаетесь свои выдумать - это просто выглядит глупо.
"программирование используя структуры и функции" - это процедурное программирование, а не функциональное.
ФП основано на лямбда-исчислении, никакого другого ФП не может существовать. Чтобы у вас было ФП, необходимо иметь first-class functions, higher order functions и иммутабельность данных. Если чего-то из этого нет, а что-то есть, то перед вами язык с элементами ФП, но не функциональный.
Хотим джава миддла с 5 годами опыта, умением писать код руками на зп в 200-250к, гибридный график (день-два офиса, остальное удаленка) в Питере. Может я слишком много прошу?
Ну, вообще да. Попробуйте 250-300k и удалёнку, сразу сильно лучше с кандидатами будет)
Так он же не писал, сколько он лет в IT. Может, до 40 лет копирайтером был, и знает такие приёмчики, как сформулировать что-то, чтобы читатель сам додумал в нужном русле)
А в чём тут хамство то? Вы попросили пример наследования без привязки к ООП. Я вам его привёл. А вы в ответ "Никакого ООП здесь нет". Ну, не сюр ли? В этом же и был тейк, что наследование бывает без ООП и вообще не является частью ООП.
HR-ы в штате - это константные расходы. А онбординг же только после найма, он тут вообще не в тему.
Это как это вы посчитали? Провести 2-3 собеседования стоит как з/п за полгода? xD
Я не говорил, что таких кейсов нет совсем, но их количество стремится к нулю. И это легко обосновать. Бизнес всегда стремится оптимизировать затраты, т.е. найти наилучших сотрудников за наименьшие деньги. Это широко известно как "кадровый дефицит высококвалифицированных низкооплачиваемых сотрудников". Итого, если вы к этой категории относитесь, то вас с радостью возьмут куда-нибудь в Яндекс, Т-Банк или другую крупную компанию, которая будет красиво смотреться в резюме.
А теперь попробуйте обосновать, какой смысл такому человеку идти в какую-то малоизвестную лабораторию, где ещё и собес пройти ни чуть не проще?
Ну, вы и сказочник. Конечно, можно любое утверждение выдумать, если доказывать его необязательно)
И, конечно, бывают люди с большим стажем и низкой зарплатой, но их квалификация тоже оставляет желать лучшего. При этом ещё и мотивация что-то менять отсутствует. Поэтому непонятно, как вы их собрались на собеседование зазывать, а главное зачем?
Давайте научу, как читать местную статистику. Вы ищете миддла с 5 годами опыта, это уже должно быть хотя бы в районе 75-го перцентиля, т.е. 290k на руки. За 227k на руки можно поискать миддла с 3 годами опыта.
Почему у вас не получится найти мидла в левой части распределения? Потому что это на самом деле джун+ (они по хардам к вам не пройдут). Обратите внимание, что всегда есть пересечение диапазонов зарплат по разным уровням квалификации. Это вызвано тем, что есть компании, которые вместо повышения зарплаты, повышают в должности. Т.е. уровень от 75 до 90-го перцентиля можно считать равным уровню от 10-го до 50-го перцентиля следующего грейда.
Посмотрите распределение для джунов. 157-206k по сути тоже что для мидлов 147-227k. Это уровень Junior+, а мидлы по сути начинаются только от медианы. Т.е. 227k на руки - это низ рынка для мидлов по Java в СПб. Но вы хотите суперопытного мидла, поэтому для вашего случая низ рынка будет 290k.
Я думаю, что человеку с 5 реальными (а не нарисованными) годами опыта вакансия на 200k, да ещё и в офис, может приглянуться только если речь про какой-то районный центр. А тут речь про Питер, так что у неё вообще околонулевой Signal to Noise Ratio
Подозрительно это всё. Получается, на уровне кода не показать in-place мутабельность. А есть какие-нибудь бенчмарки сравнения с какой-нибудь Java? Обычно, в бенчмарках сплошь и рядом алгоритмы, опирающиеся на работу с массивами.
Я думал, что вы умеете гуглить по ключевым словам.
Вот вам про наследование реализации через тайп-классы, через макросы, через замыкания.
Определение ООП без наследования и полиморфизма
Вы просто взяли определение процедурного программирования xD
А функциональное обозвали математическим стилем. Это тупая подмена понятий.
Читайте внимательнее. Я утверждаю, что вы в секции определений дали определение процедурного программирования, а не функционального.
Не прыгайте с темы на тему. Мы тут секцию определений обсуждаем, и там вы дали урезанное определение ПП: "программирование используя структуры и функции"
Вот более подробное: "Procedural programming is a programming paradigm that involves implementing the behavior of a computer program as procedures (a.k.a. functions, subroutines) that call each other. Procedural programming is about dividing the program implementation into variables, data structures, and subroutines (a.k.a. functions, procedures)"
К ФП ваше определение ровным счётом никакого отношения не имеет.
Это было искреннее удивление вашему умению так быстро переобуваться. Простите, не хотел вас этим оскорбить.
Ну, а раз по существу ответить нечего, то думаю примеры полиморфизма и инкапсуляции без малейшего намёка на ООП вы без труда и сами нагуглите. Было бы желание снять давнишние шоры.
Вы лучше сами почитайте определение ФП: https://en.wikipedia.org/wiki/Functional_programming
Нет никакого отдельного "математического стиля", не выдумывайте.
Можно небольшой пример? Создаём массив со значениями от 1 до 5, меняем его первый и последний элемент местами, выводим весь массив на экран.
Вы бы хоть не поленились ссылку на сайт этого ЯП дать или нормально его название по-английски написать. Первый раз про такой язык слышу, как и гугл xD
Из приведённого примера это вовсе неочевидно. Более того, его можно 1-в-1 переписать на любом языке с иммутабельными структурами данных. Т.е. он вообще наличие мутабельности никоим образом не доказывает.
Можно что-то более наглядное? Например:
Есть много языков с элементами ФП, т.к. это действительно удобно. Но функциональных языков не так много, как минимум, они будут отличаться неизменяемостью данных и наличием оптимизации хвостовой рекурсии.
То, что вы сами не разобрались с определениями и пытаетесь свои выдумать - это просто выглядит глупо.
"программирование используя структуры и функции" - это процедурное программирование, а не функциональное.
ФП основано на лямбда-исчислении, никакого другого ФП не может существовать. Чтобы у вас было ФП, необходимо иметь first-class functions, higher order functions и иммутабельность данных. Если чего-то из этого нет, а что-то есть, то перед вами язык с элементами ФП, но не функциональный.
Ну, вообще да. Попробуйте 250-300k и удалёнку, сразу сильно лучше с кандидатами будет)
Так он же не писал, сколько он лет в IT. Может, до 40 лет копирайтером был, и знает такие приёмчики, как сформулировать что-то, чтобы читатель сам додумал в нужном русле)
Изучите для начала хоть один ФП-язык, например Elixir или Haskell, тогда поймёте, что Go вовсе не функциональный. И TS, разумеется, тоже.
А в чём тут хамство то? Вы попросили пример наследования без привязки к ООП. Я вам его привёл. А вы в ответ "Никакого ООП здесь нет". Ну, не сюр ли? В этом же и был тейк, что наследование бывает без ООП и вообще не является частью ООП.