— Вам уже 45? Но у нас коллектив очень молодой. Вы уверены, что хотели бы у нас работать?
— Да, конечно! Я много наслышан о вашей компании. Это мечта всей моей жизни!
— Ну ладно. Вот вам простой вопросик. Что означает буква L в аббревиатуре SOLID?
— Liskov Substitution Principle.
— Нет. У меня написано, что это Liskov Substitutability Principle.
— Но…!
— Никаких «но»! Неверно ответили, ведь видно же, что не готовились к собеседованию, так и скажите, да еще и спорите! Вы вообще конфликтный человек? Ладно, даю вам еще один шанс. Как развернуть односвязный список?
— Развернуть односвязный список за один проход? Да, пожалуйста. Проходимся по каждой ноде, запоминаем её next, вставляем ей в next указатель на предыдущую, потом идем по запомненному next-у и так далее. Да, в первую ноду в next вставляем, конечно же, nullptr. Нечетко объясняю? Ну давайте я лучше напишу.
— Хм… Хорошо, достаточно. А рекурсивно можете?
— Да, рекурсивно тоже могу.
— А сколько в Москве бензозаправок?
— O-)????!!! 1127!
— Откуда вы знаете???
— А у меня папа работал в Лукойле.
— Ладно… А знаете наихудший случай quicksort? Есть такой наихудший случай. У меня тут на листочке записано…
— Да, знаю.
— Но молодые специалисты это тоже знают. Почему мы должны платить вам на 15% больше?
— Но у меня семья, дети, ипотека… Да я и английский знаю.
— Все его знают. Этим сейчас уже никого не удивишь.
— Но я его очень хорошо знаю и говорить могу тоже хорошо. If you would like to ask me some questions in English, you are welcome.
— Huh!.. Это для нас не принципиально. Зачем программисту говорить на английском?
— Но я еще и французский знаю. Si vous voulez parler francais…
— Хватит!!! Кому в баню в программировании сдался ваш французский???
— Что же мне тогда делать?
— Застрелитесь! То есть… что там у меня написано?.. мы вам перезвоним. Если у нас возникнет такая потребность.

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

У меня растут года. Будет мне 120.
Где работать мне тогда? Чем заниматься?

актуально в свете повышения пенсионного возраста

Когда я начинал свою трудовую деятельность в далеком 1996 году, то и представить себе не мог, как будет развиваться моя профессиональная карьера на десятилетия вперед и чем я буду заниматься, скажем, в 2017. Уверен был, что это будет связано с компьютерами, а чем конкретно – понятия не имел. Даже не был уверен, кем стану: программистом или сисадмином.

Вокруг меня все время были молодые специалисты, причем чем старше я, тем моложе они… 2000-й год… молодые специалисты…. 2010-й год… молодые специалисты…. 2017-й год – другие молодые специалисты. Удивительно, но работаешь 20 лет – и вокруг тебя одни молодые специалисты … и специалистки. Да, в последнее время стало много девушек-программисток. Раньше, лет 15 назад, в процентном отношении среди моих коллег их было от 0 до 5%, а теперь все 20%.

Причем чем больше я работал, тем больше вокруг было молодых специалистов. Как ни удивительно, меньше всего их было на самой первой моей работе, когда сам я был зеленым молодым специалистом, которого никто никуда не хотел брать, только … в компанию к «немолодым специалистам». Я рос, креп, переходил в другие компании, но никак не мог объяснить этот странный феномен. Откуда же берутся все новые и новые молодые специалисты и куда деваются старые? Они же вроде бы должны взрослеть и переставать быть «молодыми»? Но они постоянно присутствуют и появляются все в большем количестве!

Пришло время, я переходил «от подмастерья к мастеру» и наконец на собственной шкуре узнал, куда деваются программисты после 40! Они … стреляются! Шутка! На самом деле все мои бывшие коллеги, которые были когда-то «молодыми специалистами», осели либо за рубежом, либо растворились в граале отечественных IT-технологий Яндексе (не хочу обижать альтернативные граали – Касперского, Abbyy, Parallels, а также сотни менее крупных по масштабам, но, возможно, более прекрасных по духу граальчиков). Никого не осталось! Вот куда поступает «осадок» молодых специалистов. Почему же никто из них не стал «биг-боссом», менеджером высшего звена или иным руководителем? Ну это ж программисты, они код писать любят и своей профессии не предадут. Так что под конец карьеры такие вот «пожилые» специалисты концентрируются в лучших компаниях (а где еще можно работать?).

Поймал себя на мысли, что 20-й год тем только и занимаюсь, что перекладываю данные из одного места в другое… Почти как сортировщик апельсинов из известного анекдота. Ну просто никаких алгоритмов, обычное перекладывание туда-сюда, туда-сюда. И так 15 лет. Ну максимум, был у нас merge sort больших файлов лет 10 назад. И всё. Засортировали и будя.

Вообще, профессия у нас рабочая. Руками мы любим трудиться. Ну мозгом, конечно, тоже надо, не без этого. Не зря же Андрей Аксенов (автор поисковой системы Sphinx) сравнивал программистов, точнее, низкоуровневых программистов-оптимизаторов, с «сантехниками, которые ковыряются в потрохах, рыцарями г… и пара» (доклад на HighLoad 2010 по низкоуровневой оптимизации С/C++).

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

Не все программисты идут в управленцы, так же как не все управленцы – хорошие программисты. Но для управленца, как ни странно, это не самое главное. Главное — иметь под рукой грамотного профессионала, с которым всегда можно посоветоваться.

Когда лет десять назад подвернулась возможность «продвинуться» в менеджеры, я усомнился в целесообразности этого. Потому что это означало бы деквалификацию. Ведь для любого мастера очень важно ежедневно оттачивать свою технику. Вот для скрипача главное — ежедневная практика. Для спортсмена что главное? Ежедневные тренировки. Если бы я стал полноценным менеджером, то потерял бы возможность главного и самого приятного – программировать. Мне пришлось бы заниматься оргвопросами, принимать участие в совещаниях, ругать и хвалить пресловутых «молодых специалистов», и вообще руко-водить, то есть водить за руку эту зелёную молодежь, вчерашних студентов. Нет! Без меня обойдутся. Займусь-ка лучше тем, где я лучше всего самореализовываюсь.

Относительно себя с возрастом в профессии ты хуже не становишься. Но есть ли возможность беспредельно развиваться в рамках профессии программиста, не меняя её? Конечно, ты не угонишься за всеми трендами и технологиями в Computer Science.

Если в 80-е и 90-е годы IT-специалист в принципе мог владеть исчерпывающим объемом знаний, касавшихся Computer Science, то теперь единственный путь IT-специалиста, как мне кажется – в специализацию. Число областей Computer Science растет в геометрической прогрессии, а время на их изучение ограничено, поэтому специализируйтесь и выбирайте вашу специализацию тщательнее!

Мне как-то пришло сообщение в linkedin от одной рекрутерши или … рекрутрисы (много их теперь стало, а раньше не было совсем. Сам, всё сам… даже через FIDO приходилось искать работу). Она писала:

«Добрый день:) Для восстановления справедливости во Вселенной Орден Джедаев набирает в свои ряды Великих Воинов джедая С++. Действия происходят на хорошо защищенной и комфортной Планете Yandex в центре Московской Галактики!
…(описание вакансии опущено)…
Итак, если Вы — Великий Воин или готовы им стать, жду Тайного манускрипта (резюме). В нашей галактике Вам не страшна звезда уныния и тоски !!»


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

Я тут же ответил в духе воина-джедая, не подавая виду, что и сам не догадался бы про «манускрипт» без подсказки:

«Здравствуйте. Большое спасибо за проникнутое юмором послание. Я улыбнулся. Джедаем, Великим Воином, гуру и сенсеем я, безусловно, собираюсь стать. Еще большее спасибо за рекомендацию конкретной вакансии Яндекса. Мне нравится афоризм, в котором говорится, что все программисты делятся на тех, кто уже работает в Яндексе и тех, кто мечтает об этом. Я из последней категории, но мои многие бывшие коллеги уже «там»: они вкусили прелесть работы в лучшей технологической компании страны. Мне же, чтобы дорасти до минимального «проходного» уровня Яндекса (я трезво оцениваю свои знания) необходимо 2-3 года интенсивной подготовки. Необходимо вспомнить институтский курс тервера, порешать задачки на логику и сообразительность, детально изучить то, что «под капотом» у современных библиотек, изучить последние «писки» моды в стандартах С++, алгоритмы на графах и многое, многое другое (список литературы и лекций включает примерно 50 наименований). А ходить «на шару» на интервью в _такую_ компанию (авось пройду) мне совесть не позволит. Отнимать время у Яндексоидов понапрасну не могу. Последний раз был на интервью в «Яндексе» в 2007 году примерно. Получил большое удовольствие (бесплатно обучили :) С тех пор, конечно, уровень свой поднял, но мне еще далеко до необходимого минимума знаний. По рассказам «знающих людей» интервью продолжается более 14 часов. Кандидату дают задачи из разных областей, его собеседуют интервьюеры различных направлений, чтобы составить взвешенное мнение о кандидате. Раньше было проще: не так интенсивно. У меня есть знакомые, которые смотрят на интервью как на своеобразное хобби, позволяющее улучшить свой уровень, пообщаться с коллегами по цеху, приятно провести время наконец. Я отношусь к этому серьезнее, поэтому и подготовкой занимаюсь соответственно. Не буду надолго задерживать ваше внимание. На этом попрощаюсь, но предлагаю поддерживать контакт».

Тем и закончилось общение с чудесной нимфой из Святого Грааля. О Яндекс! Грааль мечты! Только у тебя люди не просто перекладывают данные, а делают с ними что-то осмысленное. Например, пропускают их через чудесный самописный супероптимизированный и концептуально написанный заковыристый алгоритм.

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

Меня потряс как-то «список знаний и умений любого уважающего себя» программиста из miram.livejournal.com/630972.html и sharpc.livejournal.com/67583.html. Не поленюсь привести полную цитату:

Все, что должен знать программист, чтобы его после 40 лет не выбросили на Помойку, Где Бомжи.
… В возрасте около 45 лет начинает активно проявляться деградация мозга, приводящая к существенным проблемам в понимании и способности оперировать кодом с обычной цикломатической сложностью. Потеря способности писать код в сочетании с неспособностью из-за отсутствия тренировок к анализу/синтезу — гарантированный путь именно туда. Некоторые люди сохраняют способность оперировать нормальной цикломатической сложностью и в старости, однако лишь за счет превышающих норму показателей в молодости. Проверить, входите ли вы в зону риска, можно на TopCoder.

Добавление от себя. TopCoder – это реально хорошее место, чтобы держать себя в тонусе. Решаем задачки оттуда и поддерживаем тонус (или даже участвуем в challenges, конкурируем с другими и зарабатываем деньги). Итак, что же нужно знать, чтобы тебя не выбросили на помойку?

• C++, стандарт, Comeau, 1TBS, Страустрап/D&E/Джосаттис/Вандервуд, Дьюхэрст/Мейерс/Саттер, RAII/copy-and-swap/exception-safety, правило пяти, Александреску/Абрахамс-Гуртовой, type erasure, CRTP, NVI, SFINAE, Koenig lookup, Duff's device, Boost, Сик-Ламсдейн/Карлссон, TR on C++ performance, тест Степанова, forwarding problem/move semantics, SPECS, GotW, Meyer's singleton, cppgm
• Компиляторы С++, особенности реализации стандарта, ограничения реализации, интринсики, отличия стандартных библиотек (контейнеры, rand), ABI, реализация виртуальных функций, виртуального наследования, исключений, RTTI, switch, указателей на функции и методы; оптимизации, copy elision (RVO, NRVO), sizeof на различных платформах, дефайны компилятора и среды, __declspec, ключи компилятора, empty-base optimization, статическая и динамическая линковка, манглинг, распределенная компиляция, precompiled header, single compilation unit, (strict) aliasing/restrict, inline/_forceinline, volatile, быстрое вычисление математических функций через битхаки, linkers & loaders by Levine
• Мультитредность, обедающие философы, deadlock/livelock/race condition/starvation, атомарность, lock инструкции процессора, memory model/barrier/ordering, CAS или LL/SC, wait/lock/obstruction-free, ABA problem, написание lock-free контейнеров, spin-lock, TLS/per-thread data, закон Амдала, OpenMP, MPI, map-reduce, critical section/mutex/semaphore/condition variable, WaitForSingleObject/WaitForMultipleObjects, green thread/coroutine, pthreads, future/deferred/promise, модель акторов, parameter server, RDD (as seen in sparks), downpour SGD, wait-free, stackful vs stackless
• Язык ассемблера, Зубков/Хайд/Дреппер/Касперски/Фог/Абраш, x86, FPU/MMX/SSEn/AVX, AT&T и Intel-синтаксис, masm32, макросы, стек, куча/менеджеры кучи, соглашения вызова, hex-коды, машинное представление данных, IEEE754, little/big endian, SIMD, аппаратные исключения, прерывания, виртуальная память, реверсинг, срыв стека и кучи, return oriented programming, alphanumeric shellcode, L1/L2/RAM/page fault и их тайминг, язык ассемблера ARM
• Аппаратное обеспечение, Хоровиц-Хилл/Титце-Шенк/От физики к Си от panchul, полупроводниковая электроника/спинтроника/фотоника, транзистор, триггер, схемотехника, микрокод, технология создания процессоров, logic synthesis, static timing analysis, FPGA, Verilog/VHDL/SystemC, SISAL, Arduino, устройства памяти (ROM > EEPROM, RAM, SSD, HDD, DVD), RISC/CISC, Flynn's taxonomy ([SM]I[SM]D), принстонский и гарвардский подход, архитектуры процессоров, архитектуры x86, VID/PID
• Процессоры, конвейеризация, hyper-threading, алгоритм томасуло, спекулятивное исполнение, static/dynamic branch prediction, префетчинг, множественный ассоциативный кэш, кэш-линия/кэш-промах, такты, кольца защиты, память в мультипроцессорных системах (SMP/NUMA), тайминг памяти, intel optimization manuals, performance counters
• Дискретная математика, K2, теорема Поста, схемы, конечные автоматы (ДКА и НДКА), автомат Калашникова, клеточные автоматы
• Вычислимость, машина Тьюринга, нормальные алгоритмы Маркова, машина Поста, диофантовы уравнения Матиясевича, лямбда-функции Черча, частично рекурсивные функции Клини, комбинаторное программирование Шейнфинкеля, Brainfuck, эквивалентность тьюринговых трясин, проблема останова и самоприменимости, счетность множества вычислимых функций, RAM-машина, алгоритм Тарского, SAT/SMT-солверы, теория формальных систем, interactive proofs, теорема Левина-Кука, 3SAT, PSPACE = NPSPACE, #P
• Языки программирования, грамматики, иерархия Хомского, теорема Майхилла-Нероуда, лемма о накачке и лемма Огдена, алгебра Клини, НДКА > ДКА, алгоритмически неразрешимые задачи в формальных языках, Драгонбук, Фридл, регекспы и их сложность, PCRE, БНФ, Boost.Spirit + Karma + Qi/Ragel, LL, LR/SLR/LALR/GLR, PEG/packrat, yacc/bison/flex/antlr, статический анализ кода, компиляция/декомпиляция/обфускация/деобфускация, Clang/LLVM/XMLVM/Emscripten, GCCXML, OpenC++, построение виртуальных машин, JiT/AoT/GC, DSL/DSEL, on-stack replacement, type checking/type inference алгоритмы, CYK parser, advanced compiler design and implementation by Muchnick
• Алгоритмы и комбинаторная оптимизация, Кормен/Скиена/Седжвик/Кнут/Ахо-Хопкрофт-Ульман/Пападимитриу/Шрайвер-Голдберг/Препарата-Шеймос/e-maxx.ru, структуры данных, алгоритмы, сложность, символика Ландау, теорема Акра-Баззи, time-space tradeoff, классы сложности, NP-полные задачи, КМП, графы и деревья, потоки в сетях, матрица Кирхгофа, деревья поиска (особенно RB-дерево и B-дерево), occlusion detection, куча, хэш-таблицы и идеальный хэш, сети Петри, алгоритм русского крестьянина, метод Карацубы и матричное умножение Винограда-Штрассена, сортировки, жадные алгоритмы и матроиды, динамическое программирование, линейное программирование, diff-алгоритмы, рандомизированные алгоритмы и алгоритмы нечеткого поиска, псевдослучайные числа, нечеткая логика, gusfield (suffix tree, string alignment), motif search, scanning line, cache oblivious, funnel sorting, VEB-layout, корневая оптимизация, алгоритмы для динамических графов,
модели вычисления (RAM-machine/pointer machine/decision trees и т.д.), алгоритмы в иерархиях памяти/стриминговые алгоритмы, time forward processing, range & rank, LSM-trees, buffered a-b-trees, toku trees, персистентные структуры, succint-структуры, lossy-струтуры (bloom/bloomier filter, hash-tables with false positives), locality sensitive hashing, space-time tradeoff в хэш-таблицах, scheduling strategies
• Численные методы, дихотомия/метод Ньютона, интер- и экстраполяция, сплайны, метод Гаусса/Якоби/Зейделя, QR и LU-декомпозиция, SVD, МНК, методы Рунге-Кутты, метод Адамса, формулы Ньютона-Котеса, метод Ритца, метод Бубнова-Галеркина, метод конечных разностей/элементов, FFT/STFT, сходимость и устойчивость, l-bfgs и другие квазиньютоновские методы, adagrad, PARAFAC, cassowary, interior point methods, вариационные методы для байесовского вывода, nesterov, автоматическое дифференцирование, alternating least squares, what every computer scientist should know about floating point arithmetics by Goldberg, Nocedal & Wright/Boyd & Vandenberghe
• Машинное обучение, Тибширани/Bishop, подходы к моделированию AI, переобучение/кроссвалидация, байесовские сети, нейросети, сети Кохонена, Restricted Boltzmann machine, градиентный спуск/hill climbing, стохастическая оптимизация (метод Монте-Карло, метод отжига, генетические алгоритмы, муравьиные алгоритмы), SVM, gradient boosting, кластерный анализ, метод главных компонент, LSH, обучение с подкреплением, MDP, information retrieval/data mining/natural language processing, машинное зрение, Szeliski, OpenCV, image processing, OCR, фильтры Собеля, каскад Хаара, Viola-Jones framework, SURF, введение в психофизиологию зрения, IPython/pandas/scikit-learn, (ME)HMM, CRF, label bias problem, stacked NN, LeToR, factorization machines, autoencoders, RNN/CNN, вместо NLP лучше отдельные задачи (language modelling, co-reference detection, text chunking, POS-tagging, probabilistic parsing, statistical machine translation, misspell correction, question answering, NER, collocation detection, text summarization, speech recognition, fact extraction, sentiment analysis), эффективное вычисление softmax, feature engineering/selection, quality estimation, Manning/Jurafsky/McCallum/Koehn, latent topics (LDA, chineese restaurant, pLSI), parallel coordinates, vowpal wabbit, NLTK, structured learning, EM-алгоритм, contrastive divergence, optimal brain surgery, belief propagation, semi-supervised learning, inductive vs transductive learning, kernel trick, discriminative/generative pairs (as seen by Ng & Jordan), sequence to sequence learning, bagging, анализ социальных графов, рекомендательные системы/collaborative filtering, multimodal learning
• Теория информации, сжатие, Хаффман, RLE, BWT, LZ, коды коррекции ошибок, сжатие с потерями (изображения, аудио, видео), информационная энтропия, формула Шеннона, сложность Колмогорова, maximum entropy problem, kullback-leibler divergence, elias/shannon-elias encoding
• Криптография, Шнайер/Ященко, Принцип Керкгоффса, симметричная (DES, AES), асимметричная (RSA), качество ГПСЧ, алгоритм Диффи-Хеллмана, эллиптические кривые, хэширование (MD5, SHA, CRCn), DHT, криптостойкость, криптоатаки (атака гроссмейстера), WEP/WPA/WPA2 и атаки на них, цифровая подпись и сертификаты, PKI, HTTPS/SSL, доказательство с нулевым разглашением, пороговая схема, murmurhash/cityhash, DKIM
• Математика, Кнут-Грэхем-Паташник/Зорич/Винберг, Spivak/Dummit-Foote, матан, линал, комплан, функан, диффгем, теория чисел, дифуры/интуры/урчпы/вариационное исчисление/оптимальное управление, производящие функции, ряды, комбинаторика, теорвер/матстат/слупы/теория массового обслуживания, цепи Маркова, интегральные преобразования (Фурье, Лаплас, вейвлет), NZQRCHOS, матпакеты (Mathematica, Maple), теория категорий
• Физика, правила Кирхгофа, закон Джоуля-Ленца, комплексное сопротивление, скорость и частота света, уравнения Максвелла, лагранжиан и гамильтониан,
quantum tunnelling/hot electron injection :)
• Химия, стехиометрия, химия кремния :)
• Архитектура и стиль кода, Макконнелл/Фаулер/Лебланк/Гамма/Александреску-Саттер/Буч, защитное программирование, паттерны, SOLID/GRASP/KISS DRY SPOT/YAGNI, UML, OOP (Smalltalk), OOD/OOA, метрики кода, uncle Bob
• Методологии разработки, Waterfall/RUP/Agile/Scrum/Kanban/XP, TDD/BDD, CASE
• Тестирование, юнит-тесты, функциональное, нагрузочное, интеграционное тестирование, тестирование UI, mocks/stubs/spies, fixture, запахи и паттерны тестов (Osherove/Meszaros)
• Инструментальные средства разработки, IDE, IntelliSense, отладчики (VS/Olly/WinDbg/kdb/gdb) и трейсеры (strace/ltrace), DWARF debug information format, дизассемблеры и декомпиляторы (IDA/HexRays/Reflector), системы контроля версий (SVN, GIT), merge/branch/trunk, системы именования файлов и бранчей, continuous integration, ant, code coverage, статический анализ (lint, cppcheck), динамический анализ (valgrind, фаззинг), верификация и валидация ПО (Frama-C, RAISE (RSL), Coq), профайлинг, багтрекеры, документирование кода, системы сборки (CMake), пакетные менеджеры (NuGet)
• Фреймворки, Qt, moc и метаинформация, концепция слот-сигнал, Саммерфилд-Бланшет/Шлее, PoCo, промышленные библиотеки: GMP, i18n, lapack, fftw, pcre
• Операционные системы, Silberschatz/Рихтер/Соломон-Руссинович/Робачевский/Вахалия/Стивенс/Таненбаум/Love/Linux Kernel Internals, менеджер памяти, менеджер кучи и ее устройство (LAL/LFH/slab), менеджер устройств, менеджер процессов, context switch, реальный и защищенный режим, исполнимые файлы (PE/ELF/Mach), объекты ядра, отладочные механизмы (strace/ptrace/dtrace/pydbg, Debug API) и минидампы, bash, сетевой стек и высокопроизводительные сервера, netgraph, CR0, IPC, оконная подсистема, система безопасности: ACE/ACL и права доступа, технологии виртуализации, RTOS (QNX), программирование драйверов, IRQL, IRP, файловые системы, BigTable, NDIS/miniport/FS drivers/filter driver, Mm-, Io-, Ldr-функции, DKOM и руткиты, GDT/IDT/SDT, ядра Windows/Linux/BSD, POSIX, TRIM
• Компонентно-ориентированные модели, Роджерсон/Таварес, COM/OLE/ActiveX/COM+/DCOM RPC, ATL, апартменты, моникеры, MIDL, XPCOM, CORBA, TAO, D-Bus
• Сеть, Стивенс, OSI model/Internet model, Ethernet, TCP/IP, TCP window, алгоритм Нейгла, сокеты, Protocol buffers/Thrift/Avro/ASN.1, AMQP, ICMP, роутинг/BGP/OSPF, ARP, атака Митника, syn flood, HTTP/FTP, P2P/DHT, DHCP, SMB/NBNS, IRC/XMPP, POP3/SMTP/ESMTP/IMAP, DNS, WiFi/WiMax/GSM/CDMA/EDGE/Bluetooth/GPS, ACE, Wireshark
• Графика и GPGPU, алгоритм Брезенхема, цветовые модели, трассировка лучей vs полигональная графика, OpenGL/GLSL/Open Inventor, DirectX/DirectShow/DirectAudio/HLSL, stencil/depth/alpha-test, графический конвейер в DirectX 11, шейдеры, модели освещения (Фонг), пропускная способность, fillrate, OpenCL/CUDA/AMP, ландшафты, лоды, тени, deferred shading, текстурирование и фильтрация, антиалиасинг, HDR, tone mapping, virtual/augmented reality
• Форматы, XML/XSLT/XPath/XMLStarlet/DOM/SAX, RTF/ODF, JSON/BSON/bencode, YAML, JPEG/PNG/WebP, AVI/MPEG/RIFF/WAV/MP3/OGG/WebM, SVG, Unicode, кодировки однобайтные/UTF-8/UTF-16/UCS-2/UTF-32, проблемы длины и сравнения Unicode-строк, base64, markdown
• Базы данных/Распределенные системы, Грубер/Дейт, ANSI SQL, T-SQL, ODBC, MySQL/PostgreSQL/MS SQL/BDB/SQLite/Sphinx, хранимые процедуры, триггеры, алгебра Кодда/А, Tutorial D, нормальные формы, оптимизация и выполнение запросов, структуры данных индексов, транзакции и ACID, CAP-теорема Брюера, graph DB, document store, wide column store, key-value storage, теория распределенных систем, CRDT, net split проблема, протоколы консенсуса, теория шардинга/репликации, ORM (C++ ODB), ERD, OLAP, семантическая сеть, triplestore, RDF/Turtle, SPARQL, OWL, Semanticscience Integrated Ontology, reasoner, DBpedia, big table/hbase vs. dynamodb/cassandra/riak, 2/3PC, chubby/zoo keeper, leader election (paxos/raft), hdfs/gfs/glusterfs, deduplication problem, causality detection (vector clock/stamps), R/W quorum, load balancing, устройство индексов поисковых систем, event sourcing, CRDT, дизайн протоколов и принципы коммуникации, с точки зрения эволюции, расширяемости, надежности, дизайн программных интерфейсов (API)
• Прикладное программирование, C#/F#, Шилдт/Троелсен/Рихтер, генерики, yield, linq/plinq, рефлексия, AST, WCF, WinForms/WPF/Silverlight, AOP, фреймворки логгирования, .NET assembly, Scala, Хорстманн/Одерски, pattern matching, макросы/квазицитаты
• Квантовые вычисления, алгоритм Шора, квантовая криптография
• Функциональное программирование, Haskell/Ocaml/Scheme/Alice или Oz, SICP/TaPL/YAHT/Purely Functional Data Structures/Харрисон-Филд, HOF (map/fold/filter), система типов Хиндли-Милнера, монады, тайпклассы, АТД, dependent types, ленивость/энергичность, логическое программирование (Prolog или Mercury), конкурентное программирование (Erlang или Oz)
• Веб-программирование и скриптовые языки, Фланаган/Zend PHP5 Certification Course + Study Guide, Apache/nginx, CGI/FastCGI, PHP/Zend Framework/ReactPHP/Zend Engine/Doctrine или Propel/CodeIgniter или Symphony или Yii, Python/Django/Twisted, Ruby/RoR, ASP.NET MV*, JavaScript/jQuery/React/Google Closure/ExtJS/node.js, ООП в JavaScript, HTML5, CSS3/табличная и блочная верстка, RSS, canvas/WebGL, Ajax/WebSockets, вопросы безопасности (XSS, SQL injection, CSRF), highload, C10k problem, SWIG, CDN, shadow DOM, квирки браузеров, real time bidding/trading, anomaly detection, архитектура single page apps, устройство веб-краулеров, web/social graph random walk, asm.js и компиляция в js, v8/spidermonkey internals, PaaS/IaaS, SPDY
• Проектирование GUI и представление информации, Раскин/Тафти, юзабилити, основы дизайна и типографики, закон Фиттса, основы верстки, LaTeX, алгоритмы визуализации данных (as seen in d3), subpixel rendering

Немного на 40 лет, правда? Или много, если надо еще и работать? Действительно, когда же это изучать, если надо работать? В свободное время? А я не знаю и половины из этого списка. И четверти не знаю. Метод Карацубы пока не освоил. Химию кремния, наверное, придется, как и уравнения Максвелла, отправить в долгий ящик. Есть более приоритетные темы.

Но в свете будущего повышения пенсионного возраста мне ведь еще минимум лет 40 работать – как раз узнаю вторую половину в свободное от работы время. И что же, что будет, если я всё это узнаю? Что будет с тем гением, который знает всё по этому списку? Уверен, что его не только не выбросят на помойку, более того, его под конец жизни ожидает священная грааль – Яндекс (и зарплата молодого специалиста + 15%). Там он и найдет упокоение. Аминь.
Поделиться с друзьями
-->

Комментарии (590)


  1. MzMz
    20.03.2017 22:47
    +59

    Самая большая проблема программистов людей при возрастании пробега — прогрессирующее занудство, исчезающая самоирония и старческая слезливость. В качестве профилактики могу только предложить витамины, полистать луркмуар и послушать группу «Кровосток».

    Колян, 40 лет.


    1. Nakosika
      20.03.2017 23:17
      -11

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


      1. TheShock
        21.03.2017 02:26
        +26

        У автора как раз, вроде, неплохая самоирония, а вот у вас с этим уже слабовато, прям как MzMz написал.


    1. muxa_ru
      21.03.2017 01:52
      +4

      > луркмуар

      Луркмоар


      1. xevin
        21.03.2017 19:55
        +8

        прям как MzMz написал: «прогрессирующее занудство»


        1. muxa_ru
          22.03.2017 00:38
          +1

          я старался :)


      1. SpeedSX
        21.03.2017 19:55
        +4

        Обнаружил, что шутки с луркмоар молодые сотрудники не понимают


        1. w4r_dr1v3r
          25.03.2017 15:52

          Ну так на то и они и молодые) У них шутки про «патимейкер-шейкер-шейкер». Нам с вами не понять.


      1. igorp1024
        23.03.2017 16:02

        Луркнуар :)


    1. unet900
      21.03.2017 19:55

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


  1. sspat
    20.03.2017 23:06
    +68

    Что-то зачастили с такими статьями на хабре, настолько, что мне аж в 30 уже страшно стало.


    1. edogs
      20.03.2017 23:17
      +13

      Профессия программистов в массы не так уж давно пошла, особенно в россии.
      Нытье 40 летнего программиста — 2017-40=1977 года рождения
      + 18 лет = 1995 год начала работы по профессии — по сути первая массовая волна как раз тех, кто занимался этим «с рождения».
      2017-1995 ~= 20 лет, аккурат тот срок когда можно начинать ныть о «старых добрых временах» (при дельте в 10-15 лет как-то это еще не так звучит).
      Чем дальше — тем больше будет таких статей и тем больше будет упоминаемый возраст.
      В 2037 вангуем статью «Куда деваются программисты после 60».
      При чем занудство сие постигло не только программистов, достаточно посмотреть аналогичные посты в контактике типа «лайкни если ты помнишь» и дальше какая-нибудь жевачка, которую почти никто не жевал, но вкладыши от которой были местной валютой:)

      А вообще программист как таковой это типичная профессия со стеклянным потолком. Проблема стеклянного потолка умноженная на устаревание технологий не только в том что рано или поздно некуда больше расти, а еще в и в том, что опыт больше 5 лет по сути не имеет значения в большинстве случаев, поэтому эффект «не успел разогнаться тебя уже догнали» очень силен. А смена профы на менеджера или управленца это именно смена профы.


      1. MzMz
        21.03.2017 00:02
        +6

        Добавлю к последнему абзацу то, что некие «сакральные» знания, якобы доступные исключительно людям с 20-летним опытом часто не нужны по причине того, что для 95% IT-проектов в России реально достаточно just good enough качество (особенно это касается коротких проектов и мелких бюджетов). То есть нужно просто знать технологию X и молча без зауми херачить проект Y.

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


        1. Pakos
          21.03.2017 09:57
          +2

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


        1. Cromathaar
          21.03.2017 12:49
          +2

          Есть люди, которым и надо сидеть 20 лет на месте Z, зная только технологию X и молча без зауми пилить проект Y. А кому не надо, идут в ту же сервисную аутсорсинговую компанию и пилят сухие микросервисы на солидной архитектуре через TDD. Мода что-то пошла всех под одну гребенку грести. Программист, пожалуй — одна из самых толерантных к возрасту профессий. Это у токаря-фрезеровщика если единственный в городе завод закрылся, то дороги две — в алкаши да в дворники. А здесь кофе налил, пошел на какой-нибудь Апворк и сиди себе никуда не спеша поддерживай легаси проекты хоть до 80-ти. С нынешним курсом пенсиям даже до индусских рейтов, как до Луны.


          1. dimm_ddr
            21.03.2017 15:04
            +1

            Достаточно условно толернатная так-то. Если слесарь в 40 будет цениться практически однозначно выше 20летнего, и только из-за возраста проблем у него не будет точно, то про компании, в которых программистов отсеивают из-за того что «слишком старый» я периодически слышу. Это, конечно, не значит что работы сразу нет, но ее однозначно меньше чем 5-10-15 лет раньше.


            1. Cromathaar
              21.03.2017 17:22
              +2

              У компаний тоже есть некий психологический возраст. Молодые разработчики всегда находятся чуть ниже этого возраста, поэтому подходят для практически любой фирмы, но чем более компетентен (заметьте, не просто более опытен, а именно более компетентен) становится разработчик, тем больше компаний он «перерастает». От того и складывается впечатление, что рабочих мест становится меньше. В абсолютных значениях — да, но в остальном всё на своих местах. Как в крупную корпорацию не нужен мальчик на должность системного архитектора, так и начинающим сервисникам, клепающим одностраничные визитки на шаблонах с themeforest, не нужны дядьки, рассуждающие про метод подстановки Лисков.


      1. sshikov
        21.03.2017 20:10
        +2

        + 18 лет = 1995 год начала работы по профессии — по сути первая массовая волна как раз тех, кто занимался этим «с рождения».

        Гы. И кудаж мне теперь деваться? Я начал программировать в 1975, а деньги зарабатывать в 1978. В это время все студенты у нас к диплому изучали пару языков, если было на то желание, Алгол-60 давали на первом курсе, а Фортран приходилось учить самостоятельно, так как появилась потребность. И это не программисты, а инженеры-механики, между прочим.

        Это я насчет «массы», если что.

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


        1. edogs
          21.03.2017 21:25
          +2

          Вам надо было аналогичную статью тиснуть 20 лет назад:)

          А по поводу «массы» все же. Массовой профессией программист стал когда на рынок массово пришли персональные компьютеры, это все же никак не 1975, даже на западе это ближе к 1985 году, а в ссср/россии ближе к 1995. До этих лет профессия программисты была не массовой, скорее областью для энтузиастов любителей и узких специалистов
          Это все равно как сейчас назвать массовой профессию физика-ядерщика, то что их много — неоспоримо, но массовой профессией это станет не раньше выхода 120 айфона на ядерных батарейках, который будет жить аж 3 дня без дозарядки и на каждом углу будет киоск с починкой оных.


          1. sshikov
            21.03.2017 21:33

            Ну, я целом наверное согласен, массовость тоже бывает разная. Просто в 1980-х один чисто инженерный факультет уже выпускал в год примерно 600 человек, каждый их которых знал как минимум Алгол-60. И это только один факультет, прошу заметить, а ведь были и другие, включая тех, у кого программист специальность. Разумеется, далеко не все они реально программировали — но факт обучения никуда не девался.


    1. LekaOleg
      21.03.2017 12:44
      +1

      Да у меня после таких статей в 24 уже коленки начинают дрожать))) Соберитесь Мужики!!!


      1. mindtester
        22.03.2017 20:27
        +3

        мне 52 и я кодирую… не ссцы!


  1. Zonzen
    20.03.2017 23:14
    +45

    42 года. Профессионально в IT 23 года. Самая большая проблема — я вижу на 10 шагов вперёд к чему приведут те, или иные решения, в то время как более молодые коллеги видят, едва ли на 3. Поэтому возникает грусть и некий налёт скуки.


    1. ggrnd0
      21.03.2017 00:22
      +12

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


      1. bormotov
        21.03.2017 00:28
        +2

        им не нужно повышать вот так свой уровень.

        Сейчас «развлекаюсь» тем, что у новым задачам линкую писанные мною несколько лет назад, на эту же тему.


    1. lexore
      21.03.2017 00:26
      +1

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


      1. khim
        21.03.2017 03:15
        +13

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

        Плохим разработчикам что-либо рассказывать попросту бесполезно, а хорошие склонны мерить всё по себе.

        Один пример: в одном из компонентов у нас был реализован «белый список» системных вызовов, которые этот компонент имел право совершать. Ну и комментарий типа «если нужно что-то то ещё — пишите, мы список расширим!»).

        Как вы думаете сколько подобных запросов мы получили за пять лет? Предположение «нуль» всё же неверно — один запрос был. От нашей же команды. Зато какие «чудеса героизма» были обнаружены в компонентах, созданных партнёрами, которые были совершены для того, чтобы не писать письмо!

        И вот тут — можно говорить что угодно, но «хотьба по граблям» всё-таки продолжится. Просто потому что даже умным людям, но без опыта, сложно представить насколько по-разному могут быть устроены компьютерные компании. И никакие «конструктивные намерения» вам не помогут, так как вы предлагаете тратить ресурсы на решение проблем, которых, с точки зрения «молодежи» нет и быть не может!


        1. Stalker_RED
          21.03.2017 05:19
          +6

          Примеры с «чудесами героизма» можно и в любой другой сфере найти. Это одна из базовых психологических черт людей вообще.

          Вы сделали ограничения?
          image


          1. webkumo
            21.03.2017 16:10
            +1

            Chalenge accepted — фигня! NotInventedHere!


        1. Jef239
          23.03.2017 00:43

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

          А вам лучше такие вещи вынести в конфигурациионный файл.


    1. PastorGL
      21.03.2017 02:27
      +9

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

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


      1. takkmoil
        21.03.2017 08:17
        +1

        Вы не задумывались, что проблема может быть в способах, которыми вы высказываете своё мнение?


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


        Другое дело:


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

        На текущий момент у нас есть проблемы с архитектурой в %название_модуля%, заключающиеся в том, что %краткое_описание_проблем%. В дальнейшем, если мы продолжим развивать это решение, при разработке задачи Б, имеющейся в плане, нам придётся пойти на внедрение компромиссного решения %костыль%, что, впоследствии, в свою очередь, также увеличит трудозатраты на реализацию задачи В, в силу %список_причин%. Также возможно и %другое_решение% задачи Б, не имеющее этих недостатков, зато имеющее %другие_недостатки%. Кроме того, задача Г может оказаться и вовсе нерешаемой, так как %причины%.

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

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

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

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


        Пробовали так?


        1. norlin
          21.03.2017 08:42
          +5

          А вот эти пламенные речи и презентации когда делать, в рабочее время, вместо основных задач? Или в свободное время, за свой счёт?


          1. takkmoil
            21.03.2017 10:08
            +5

            Это ваш выбор.


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


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


            Боитесь просить руководителя или получили отказ, но сердце болит за проект — сделайте в личное время и заставьте выслушать.


            Но сначала — сформулируйте, для себя в первую очередь, какой цели вы хотите достичь с точки зрения бизнеса. К примеру, «Сейчас мы тратим по два-три дня дорогого разработчика на добавление нового отчёта, так как надо писать SQL-запросы и готовить шаблоны на PHP. Эти задачи у нас регулярны. Если мы потратим две недели на новый модуль отчётов — в дальнейшем будем делать новые отчёты за считанные часы силами дешёвого верстальщика, потому что будет знакомый верстальщику XSLT и простенький генератор запросов. Это реальная экономия денег и времени, плюс мы сможем быстрее реагировать на пожелания пользователей, а разработчики займутся реальными задачами», вместо «Наши отчёты шляпа, легаси и говнокод, давайте сделаем нормально». Редкий вменяемый руководитель наотрез откажет, видя заинтересованность работника в результате. А если и откажет — можно не смириться сразу, а выяснить причины решения, возможно, вы видите не всю картину. В конце концов, если в руководстве реально невменько — что вы делаете на такой работе?


        1. msts2017
          21.03.2017 08:51
          +4

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


          1. takkmoil
            21.03.2017 10:31
            +9

            Я повторю вопрос и вам — что вас держит на такой работе?


            Если у вас есть аргументы, а у начальства нет — смысл такой работы? Быть инструментом автоматизации желаний? Чувствовать себя ничтожным? Просиживать штаны, выполняя тикет буква-в-букву?


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


            Реально, я персонажей с такими настроениями повидал достаточно за пятнадцать лет в разработке. Всё плохо, руководство тупое, никто не слушает, накажут за инициативу… А чаще всего это означает завышенное самомнение, недостаток знаний и коммуникативных навыков, нерешительность и отсутствие инициативы. И, в конечном счёте — отрыв от реальности.


            Можно быть гением программиррвария, но в жизни программирование должно приносить прибыль. Самая прекрасная архитектура бесполезна, если решает не те задачи, что требуются бизнесу. Для многих разработчиков профессия выросла из хобби, и удовольствие для них, по привычке, на первом месте. Но нанимают нас вовсе не для того, чтобы мы пускали радостные пузыри, полируя код, а чтобы мы эффективно решали задачи бизнеса в рамках имеющихся ограничений. И, на самом деле, это — реальный интересный вызов, а не игры в 30 строк на JavaScript.


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


            1. msts2017
              21.03.2017 10:51
              +3

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


              1. takkmoil
                21.03.2017 13:02

                Если десятичасовые объяснения не возымели эффекта, нужно выяснять, почему. Как минимум, разузнать (и понять) аргументацию отказа. Убедиться, что вы преследуете совместимые цели. В конце концов, вы либо поймёте, как правильно преподнести своё предложение, либо найдёте альтернативный вариант, всех устраивающий. Либо, в худшем случае — узнаете, что ваши старания напрасны, смысла в трате сил на попытки применить свои профессиональные качества нет, здесь уже не исправить ничего, Господь, жги.
                С работы, на которой вы не востребованы, уходить вполне нормально, иначе есть риск демотивации и профессиональной стагнации, а то и личностной деградации. Это вас тоже должно волновать, а не судьба компании, которой вы не нужны. Стокгольмский синдром, ей богу.


          1. Jef239
            23.03.2017 00:38
            -1

            А вы не пробовали с другой стороны посмотреть? Да, можно переписать «правильно». И в долгосрочной перспективе (5-10 лет) это выгодно. А в краткосрочной — это пустая трата времени.

            Вася и Петя одновременно начали писать один и тот же продукт. Помните?

            Умение управлять техническим долгом — приходит ещё позже, чем понимание, к чему приводит неудачная архитектура.


            1. TheShock
              23.03.2017 01:01
              +5

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

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

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

              Обе истории выдуманные, конец будет такой, как автор захочет, а оправдывать сообственный быдлокод сказками — низко.


              1. Jef239
                23.03.2017 05:20
                -1

                Да вот в реальности — быдлокод побеждает. Сравните популярность Windows 95 c OS/2 Warp 4.0 или Windows NT 4.0. Из недавно мелькавшего на хабре — Duke Nukem 3D.

                Для оценки уровня быдлокодовости движка Duke Nukem
                Код движка находится в одном файле из 8503 строк и с 10 основными функциями (Engine.c) и в двух дополнительных файлах:

                cache1.c: содержит виртуальную файловую систему (sic!) и процедуры системы кэширования.
                a.c: реализация на C воссозданного обратной разработкой кода, который был высокооптимизированным x86-ассемблером. Код работает, но читать его — огромная мука!


                1. TheShock
                  23.03.2017 06:31
                  +1

                  Видите ли, бывает и так и так, а вы просто ищите оправдания быдлокода и потому видите только то, что хотите) Вот, например, вы увидели Duke Nukem 3D, но не увидели Doom с хорошим кодом)

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

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


                  1. Jef239
                    23.03.2017 07:13
                    -1

                    Глянул я тут по наводке в исходный код Doom и обмер…

                    Заранее приготовьте валидол
                    void Error (char *error, ...)
                    {
                    	va_list argptr;
                    
                    #ifndef __NeXT__
                    	if ( *(byte *)0x449 == 0x13)
                    		TextMode ();
                    #endif
                    
                    	va_start (argptr,error);
                    	vprintf (error,argptr);
                    	va_end (argptr);
                    	printf ("\n");
                    	exit (1);
                    }
                    


                    1. TheShock
                      23.03.2017 07:24
                      +1

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


                      1. Jef239
                        23.03.2017 08:25
                        -1

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

                        Про аджайл и так далее — почитайте "дефрагментацию мозга". Серега там хорошо и по аджайлу прошелся.

                        Одна из цитат
                        5. Одни из наших конкурентов широко используют agile-методы и TDD[121], но что-то оно им не очень помогает писать безошибочный код. Мы сравнивали количество найденных проблем в течение месяца-двух после major release, у нас показатели лучше в разы, если не на порядок. Частый выпуск версий просто не позволяет им довести код до ума и провоцирует исправление старых и серьёзных проблем методом написания «залепени». (Прим. автора: исправление ошибок, добавляющее новые проблемы.)


                        1. TheShock
                          23.03.2017 16:06
                          +1

                          Ну судя по статьям Мосигры — далеко не единственный

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

                          И да, мы обычно на 3-5 лет понимаем, что может потребоваться, а что — нет

                          Так это ж просто ляпота, никаких сложностей.

                          Одни из наших конкурентов широко используют agile-методы и TDD[121], но что-то оно им не очень помогает писать безошибочный код

                          Очень странное понимание целей agile. Он и не создавался для того, чтобы код был качественнее, а для того, чтобы на изменения можно было реагировать быстро. Билд на продакшн, где сотни тысяч пользователей и огромное количество правок по их фидбеку каждые две-три недели, в том числе довольно серьезных. Куда уж там вашим 3-5 годам. Конечно у людей, которые работают по 3-летнему циклу будет багов в среднем меньше, чем у тех, которые работают по 2-недельному. Потому что 3-летний значительно проще.

                          Потому что программер думал об архитектуре, декомпозиции, делегировании, концепции… о чем угодно, но не о том, что модуль должен работать. Работать на реальных данных. С выбросами, лакунами и прочим дерьмом отклонением от идеала.

                          У вас странные понимания качественного кода. Не удивительно, что вы так агритесь на него. Качественный код — это не когда «много интерфейсов», а когда регулярные правки не вносят множество регрессий, когда новые фичи органично и легко вписываются в архитектуру, когда поддерживаются любые данные, или легко дореализовываются, когда сложность добавления фичей не растет с каждой новой фичей геометически.

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

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


                          1. Jef239
                            24.03.2017 09:12
                            -1

                            Понятно. Мы ненастоящие программисты не только потому, что при отладке используем осциллограф. Но и потому, что мы не заменяем отвратительное качество работы аналитики хорошим качеством кода,

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

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

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

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

                            Вы немного путаете качество кода со способностью кода к модификации.

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

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

                            P.S. Если не трудно, расскажите что такое редакс. А то «мужики-то и не знают». :-)


                            1. dimm_ddr
                              24.03.2017 11:09
                              +1

                              розовый танк с оборками и стразиками — невероятен


                              Некий российский режиссер с вами не согласен…
                              Обитаемый остров
                              image


                              1. Jef239
                                24.03.2017 18:54

                                Оборочек не вижу. И стразиков. Но +1!


                          1. Jef239
                            24.03.2017 18:53

                            Чтобы вам было понятней, почему качество и способность к изменениям -разные вещи, простой пример.

                            Вот есть восьмислойная плата, качественная-перекачественная. Чипы на BGA, рассыпуха 01005 (0,4 ? 0,2 мм), дины линий выверены, импедансы рассчитаны и смоделированы, все фронты — ровненькие, хоть на 5 гигагрерц работой. Но вот только срок обновления у неё — 6 месяцев. И ремонтабельность нулевая.

                            А есть макетка. Быдло-быдло. Чипы — на DIP, рассыпуха — 1210 (3,2 ? 2,5 мм), монтаж — проводом МГФТ, фронты завалены, об импедансе и длине линий и разговора нет, дай бог, чтобы на 150 мегагерц завелась. Но срок обновления у такой платы — 3 часа. И ремонт — хоть дома, хоть в офисе.

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

                            Ну у нас не макетки, но ближе к этому концу. За 3 недели можно новую плату сделать и софт на неё переделать. И даже за две, если печатную плату не заводским методом делать, а ЛУТом.


                        1. netch80
                          27.03.2017 10:05

                          И любой работающий быдлокод — в 100 раз лучше неработающей красоты.

                          А вы действительно не путаете проблемность целевой области и заточку кода под неё (что может включать в себя массу адских хаков на частные случаи исключительно из-за ТЗ) и некачественность самого кода?
                          Если первое, то это не принято называть быдлокодом (разве что быдлозадачей).
                          Если второе, то покэпствую
                          1) красивый неработающий код, скорее всего, легче довести до рабочего состояния;
                          2) после этого он лучше сопровождаем, в отличие от быдлокода.


                          Пример с Doom и куском для NeXT, кстати, тут очень хорош дидактически :) С одной стороны, там очевидные странности в виде магических констант, которые по обычным нормативам надо описать в виде #define. Но я бы тут вместо этого поставил комментарий с описанием смысла конкретного числа.
                          С другой стороны, стиль, рекомендуемый во многих местах, потребовал бы сделать тут безусловно вызванное макро, которое было бы определено в непустое действие только для NeXT. А вот это уже хуже потерей локальности — надо идти неизвестно куда только для того, чтобы узнать, что для 99.999% случаев макро просто пустое.


                          1. Jef239
                            27.03.2017 13:38

                            Давайте разделим:

                            1. Быдлокод — это простой, некрасивый код, написанный в лоб. Часто большие размеры процедур, связь через глобальные переменные и так далее.
                            2. Хакерский код — эффективный, но очень сложный в понимании код с множеством трюков.
                            3. «красивый» код — эффективный код, написанный по всем правилам (классы, методы на все случаи жизни).

                            И вот вам пример, чем быдлокод лучше. Известная "Задача о восьми ферзях": Простой вариант с 8 циклами — легко обеспечивает переход к доскам непрямоугольной формы. А вот быстрый алгоритм Дейкстры…

                            1) красивый неработающий код, скорее всего, легче довести до рабочего состояния;
                            2) после этого он лучше сопровождаем, в отличие от быдлокода.

                            Увы и ах. Если в «красивом, эффективном коде» неверно понято ТЗ — заставить его работать можно лишь путем хакережа. И сопровождаемость после этого падает в ноль.

                            Неужели непонятно, что красота и эффективность идет за счет специализации кода (по условиям ТЗ)? Что вся декомпозиция — хороша лишь, пока программист верно понимает ТЗ и спектр его изменений? А если программер построил "мост вдоль реки", то его разворот обойдется дороже, чем написать его заново.


                            1. netch80
                              27.03.2017 21:23
                              +1

                              Неужели непонятно, что красота и эффективность идет за счет специализации кода (по условиям ТЗ)?

                              EPARSE, простите. Красота и эффективность — следствие специализации кода, или они страдают (ухудшаются) из-за специализации кода?


                              Что вся декомпозиция — хороша лишь, пока программист верно понимает ТЗ и спектр его изменений?

                              Нет, непонятно. На практике можно считать, например, что через год изменятся 10% требований, а за десятилетний цикл развития — чуть менее, чем все. (Реальные цифры с одной из моих прошлых работ.) Но каким образом из этого следует рекомендация писать всё так, что не заботиться о его сопровождении? Ведь даже если 20% изменилось, остальные 80% те же, а сопровождать надо каждый день.


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

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


                              И вот вам пример, чем быдлокод лучше. Известная "Задача о восьми ферзях": Простой вариант с 8 циклами — легко обеспечивает переход к доскам непрямоугольной формы. А вот быстрый алгоритм Дейкстры…

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


                              Давайте разделим:
                              Быдлокод — это простой, некрасивый код, написанный в лоб.

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


                              1. Jef239
                                28.03.2017 11:11
                                -2

                                На практике можно считать, например, что через год изменятся 10% требований, а за десятилетний цикл развития — чуть менее, чем все.

                                МДА. Ну или у вас аналитики действуют методом памяти покойного академика тыка, или вы путаете изменения ТЗ с дополнениями, из у вас какое-то "настоящее" программирование типа поддержи сайта.

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

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

                                Точно так же я понимаю, что на компе может не быть часов, а в байте неожиданно может оказать 32 бита,

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

                                Дописывания отличаются от переписываний тем, что при нормальной структуре почти не меняют существующий код. А при плохой структуре — вызывают рефакторинг кода. В обоих случаях — речь об усталости кода идет редко.

                                Красота и эффективность — следствие специализации кода, или они страдают (ухудшаются) из-за специализации кода?

                                Ни то ни то. Делая код эффективным — мы теряем в его универсальности. Делая код красивым — опять теряем в универсальности.

                                Чтобы было понятней — вспомните дискуссию про goto сороколетней давности. Код с goto -очень гибкий. Но и некрасивый.

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

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

                                A вот сами быки и пролеты — выкидываются. Ибо после демонтажа быка половина остается под руслом. Там же сваи, они глубоко забиваются.

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

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

                                Соглашусь, лоб у всех разный, естественный код — тоже.

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


                                1. VolCh
                                  28.03.2017 13:57
                                  +1

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

                                  Никакое понимание предметной области не спасёт от странных инновационных требований заказчика. Или, как вариант: "когда мы это обсуждали 5 лет назад, то было совсем другое правовое поле, никому в голову не могло прийти, что законодатель ограничит размер пени сверху". Не думаю, что следует считать своей ошибкой то, что никому в голову прийти не могло.


                                  1. Jef239
                                    28.03.2017 19:50

                                    Уточню — моя ошибка как аналитика предметной области. Или другого аналитика.

                                    Кроме того, изменения вообще редки. Ограничение размера пени — это дополнение, а не изменение ТЗ. Ну разумеется, если ваша архитектура позволяет формировать проверки и корректировки финансовых операций как дополнения.

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

                                    Новый режим стирки — дополнение. Изменение параметров режима стирки — тоже дополнение, пишем новый режим, а старый просто не вызывается.

                                    Замена датчика — опять дополнение. Пишем чтение с нового датчика и не вызываем код для старого датчика.

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


                                    1. TheShock
                                      28.03.2017 23:39
                                      +1

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

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

                                      Посмотрите на историю развития World of Tanks, к примеру. Или Hearthstone. Или RimWorld. Или Minecraft.

                                      Я прекрасно понимаю, что вотерфол значительно снисходительнее к плохому коду — представляешь конечную цель, знаешь, что у тебя не будет ничего сверхординарного и продюсер не скажет «можно атомный ледокол полетит над Москвой (ну хотя бы низенько-низенько можно?)». Если пришло что-то неординарное или ошибся немного — костыль подставил, благо такое крайне редко бывает.

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

                                      И ваш пример со стиральной машинкой — отличный. Вы сделали, как сделали, небольшая группа потестила, всё, что криво — записали в руководство «дважды кнопку не нажимать» и отдали пользователям — пускай себе трахаются. А вот если стиральную машинку отдаете пользователям, а потом понимаете, что барабан должен быть на 60% больше и вам это нужно сделать не в новой машинке, а за три недели. А потом понимаете, что механические кнопки слева не подходят и надо поставить рычажки справа и у вас на это три недели. А потом понимаете, что рычажки справа не подходят, а сверху надо поставить тач-скрин. А после этого понимаете, что слив в том месте у 20% вызывает разлив воды потому что они его неправильно подключают и вы переделываете слив. И так три года.

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


                                      1. Jef239
                                        29.03.2017 04:31
                                        -2

                                        Вы раз за разом приводите в пример вотерфол-подобные методологии.

                                        Отнюдь. Вполне можно и по скраму.

                                        У вас есть 200 сейчас продающихся моделей стиральных машин, 100 — уже не продающихся, но поддерживаемых и 50 в новой разработке. Реально это выливается в поддержку 7 вариантов процессорной платы, 30 вариантов пультов и по 3-5 вариантов каждого датчика и исполнительного устройства + не на всех моделях есть все датчики и все агрегаты.

                                        И вот всю эту армаду в 350 моделей вы и делаете по скраму. По модели (или группе моделей на спринт).

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

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

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

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

                                        я в таком режиме уже почти 10 лет работаю. 6 операционок (Linux, Windows, FreeRTOS, FreeBSD, MS-DOS, QNX, МСВС считаем за linux), 6 компиляторов (gcc, clang, lcc, borland C++, С Builder, MS VC++) 3 разных архитектуры (x86, ARM, SPARC) и куча конкретных продуктов. Ну не 350, но к двум десяткам. И всё это — на единой кодовой базе и с приличным техническим долгом.

                                        Ниша у нас такая — полузаказные продукты делать. И поддержка пожизненная. То есть лет на 10-20.

                                        Да, такой подход есть и он накладывает повышенную ответственность на аналитика и снимает эту ответственность с программиста.

                                        Последние лет 15-20 лет я занимаюсь и тем и тем. То есть для меня это перекладывание ответственности с одного плеча на другое.

                                        есть поверхностное понимание, что будет в задачах в ближайшие два месяца

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

                                        А основное отличие в другом. Мы делаем для реального мира. Наши приборы и решения реально нужны. За них платят потому, что без них — обходится дороже.

                                        А вы — делаете для выдуманного, цифрового мира. Если не будет игрушек — никто денег не потеряет. Никто не придет к вам и не скажет — сделайте мне систему, это мне сэкономит полмиллиона долларов в месяц. Сделали. Сэкономили в итого больше сотни миллионов в год на отдельных режимах.

                                        Вы можете позволить себе сидеть без заказов и действовать методом тыка. Мы — не можем. Методом тыка мы можем только по миру пойти.

                                        Мы знаем, что мы можем сделать за 2 месяца, за год, за 3 года… И постоянно ищем себе заказы. И постоянно выбираем, в какие ниши идти, а в какие нет.

                                        Мы не можем сказать «а давайте попробуем вот такой вариант, вдруг он кому-то нужен». Прежде чем что-то делать, мы должны понимать, кому мы продадим, по какой цене, каким тиражом.

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


                                        1. TheShock
                                          29.03.2017 14:14
                                          +1

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

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

                                          У вас есть 200 сейчас продающихся моделей стиральных машин...

                                          Вы теоретизуруете. А я говорю о реальных проектах.

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

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

                                          А вы — делаете для выдуманного, цифрового мира

                                          Да, я знаю, что вы обижены на game-developer'ов и web-developer'ов, но эти факты не делают вас лучше. Вот я какое-то время писал медицинский софт, то не говорю ведь вам теперь: «вот, вы просто за бездушные деньги работаете, а я жизни людей спасал». Странно звучит, правда. А вы так постоянно говорите.

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

                                          Молодцы. Возьмите с полки пряник. Это специфика вашей отрасли. Огромное количество фирм сейчас живет по другим принципам.

                                          Это называется разработка методом тыка.

                                          Я стараюсь не судить о том, в чем не разбираюсь. А зачем вы поступаете иначе?

                                          Или вы настолько мелкая сошка, что аналитики не считают нужным ставить вас в известность.

                                          Оскорбления. Прекрасный ход. Сразу видно силу и аргументированность вашей позиции.


                                          1. Jef239
                                            30.03.2017 06:22

                                            Да, я знаю, что вы обижены на game-developer'ов и web-developer'ов

                                            Отнюдь. Это отсылка к делению на хабр и гиктаймс. «Программирование» на HTML+CSS было признано настоящим, а всякое автовождение и прочий embeded — ненастоящим.

                                            Логика тут есть. Настоящее — это то, что делается цифрового мира. А то, что делается для реального мира — ненастоящее. Цифровой мир — намного гибче и допускает работу методом тыка. И масштабы гигантские. 10 тысяч пользователей цифрового мира — это ерунда, 10 тысяч пользователей реального устройства — это очень много.

                                            Я в разработке железа не разбираюсь и мне это не очень интересно.

                                            Хорошо, вот вам аналогия из вашей работы. Насколько проще бы бы вам работать, если бы вместо реалистичного 3D использовалась анимация спрайтами или ASCII-Art? Чувствуете? Там, где вы месяцы будете отрисовывать красивую 3D-картинку, ASCII-art меняется за день. Вот так быдлотехнологии и ведут к быстрому циклу изменений.

                                            Оскорбления. Прекрасный ход. Сразу видно силу и аргументированность вашей позиции.

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

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

                                            Вы теоретизуруете. А я говорю о реальных проектах.

                                            Реально — к паре десятков.

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

                                            Аналогия — код для 350 разных стиральных машин. А то, о чем вы говорите — это даже не электроника, а механика.

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

                                            Это специфика вашей отрасли. Огромное количество фирм сейчас живет по другим принципам.

                                            Скорее должности, чем отрасли.

                                            А итоговые тезисы такие:

                                            1. Применяя технологии вчерашнего и позавчерашнего дня (быдлокод) в современной обработке — мы уменьшаем цикл разработки (и легкость переделок) за счет скорости, эффективности, красоты кода и прочего. И наоборот — чем качественней код, тем сложнее он изменяется, оставаясь качественным.
                                            2. ООП — очень гибкая вещь, но только если угадали со структурой. В случае ошибки в выборе структуры — изменения становятся настолько тяжелыми, что проще все переписать заново.
                                            3. Технический долг — абсолютно нормальная штука, если им грамотно управлять. Но это уровень менеджеров, аналитиков и темлидов, а не рядовых программистов.


                                      1. Jef239
                                        29.03.2017 10:32

                                        Хочется ещё немного покэпствовать.

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

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

                                        Технический долг не мешает развивать системы десятилетиями. Думаете в linux или FreeBSD нету технического долга? Его там порядочно. Мы ушли с FreeBSD, обнаружив, что драйвер ком-порта для нужной нам SoC просто не работает на высоких скоростях (выше 19200 бод). А в тексте драйвера нашелся комментарий «я знаю, это будет сбоить на высоких скоростях, если кому нужно — исправьте сами».

                                        Ещё смешнее технический долг в процессорах. Самая смешная история — 1986ого года. Иногда программа вылетает по нереализованной операции. Разбираемся, выясняется что при старте делится мусор на мусор. Смотрю в микрокод процессора и вижу, что нормализация операндов перед делением не сделана, а если операнд не нормализован — дается прерывание по нереализованной операции. Меняем микрокод процессора с 14ой версии на 18ую — и все работает. Кстати, меняли перетыканием платы с микрокодом. Он хоть и микро, но занимал отдельную плату в корзине процессора.

                                        Правильно я понимаю, что вы работали лишь в системе бардак? И что вы никогда не понимали планов на ближайшие 3-5 лет? Обратите внимание, что бардак — это не базар. Что во многих открытых проектах есть roadmap на годы вперед.

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

                                        Ну и о быдлокоде.

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

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

                                        В-третьих, быдлокод — это простой код. Кстати, чем больше программист зарабатывает — тем проще он пишет.

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

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

                                        Если нужен пример, то представьте в WoW этот самый летающий ледокол. Корневая иерархия — плавающие, едущие, летающие… Потом иерархии второго уровня. Ну и что вы сделаете с летающим ледоколом? Новый тип «плавающие-летающие»? Или множественное наследование?

                                        Более-менее тут помогают интерфейсы, наподобие тех, что в JAVA.

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


                                    1. VolCh
                                      29.03.2017 09:56
                                      +1

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


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


                                      1. Jef239
                                        29.03.2017 11:16

                                        Внезапные — это те, которые приняли во втором чтении прямо с голоса. А все что шло через АСОЗД — это уже не внезапные. В данном случае законопроект проходил Думу 5 лет, а от принятия поправки до вступления закона в силу — больше полугода. Если вы об этом узнали внезапно — это опять проблема ваших аналитиков.

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

                                        ОГО! Удалять — это как??? Неиспользуемые — это как????

                                        У вас 350 моделей стиральных машин. Вы собрались на них иметь 350 комплектов исходников? И каждый баг ядра править в 350 местах?

                                        Делается один комплект исходников. И 350 файлов конфигурации к нему. Или путем задания дефайнов или путем присваивания указателям на процедуры (а что не вызывается — линкер выкинет).

                                        Замена датчика — только в новых машинах. Новый режим стирки — только в новых машинах, Изменение параметров режима стирки — тоже только в новых.

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

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

                                        У нас тоже не 350 вариантов, но пара десятков наберется. 6 операционок, 6 компиляторов, 3 архитектуры процессора… Так что прежде чем выкидывать — надо понимать, точно ли ни одно из живых устройств никогда не потребует выкидываемого кода…

                                        Да и вообще, выкидывание кода — дело линкера. Он это сделает лучше.


                                        1. VolCh
                                          29.03.2017 18:32

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


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


                                          Удалять просто: в ТЗ одной из "моделей" изменяется, например, алгоритм расчёта пени. Процентов так 90% строк кода стратегии начисления, если сравнивать. Если одновременно по двум считать не надо, то удаляем старую, добавляем новую. Если надо — то пишем алгоритм выбора, добавляем новую. Старую удаляем когда надобность в ней полностью исчезает. В "прошивке" каждой из "моделей" только актуальный для неё код.


                                          1. Jef239
                                            29.03.2017 20:24

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


                                            1. webkumo
                                              29.03.2017 21:09
                                              +1

                                              Вы живёте в мире c/c++. В других языках линкера может и не быть, да и сама линковка, нередко, динамическая. Есть средства, которые пытаются просчитать, есть ли использования того или иного класса/метода/функции, но они именно вспомогательный инструмент, т.к. не всегда способны отследить реальное использование.


                                              1. Jef239
                                                30.03.2017 02:43

                                                Невозможно точно определить, что вызовется. Но 100% можно определить, что не вызовется. Проблема не с языками, исполняемыми на VM, для того же форта я за пару дней напишу линкер. Главная проблема с вызовом процедур, имя которых передается в данных. То есть с аналогами GetProcAddress в Windows, Но это общая проблема, и в Си она тоже есть.


                                            1. VolCh
                                              30.03.2017 09:13

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


                                              1. Jef239
                                                30.03.2017 09:23

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


                                                1. VolCh
                                                  30.03.2017 10:55

                                                  По сравнению с поддержкой одного устройства/бизнеса — любые движения по поддержке второго являются увеличением затрат на поддержку. Думаю, каждый из трёх основных вариантов (общая кодовая база, выделенное общее ядро и отдельные надстройки над ним, плюс просто несвязанные кодовые базы) имеет право на жизнь и универсального варианта нет.


                                                  1. Jef239
                                                    30.03.2017 15:01

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


                                1. netch80
                                  28.03.2017 17:46
                                  +1

                                  МДА. Ну или у вас аналитики действуют методом тыка, или вы путаете изменения ТЗ с дополнениями, из у вас какое-то "настоящее" программирование типа поддержи сайта.

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


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


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

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


                                  Точно так же я понимаю, что на компе может не быть часов, а в байте неожиданно может оказать 32 бита,

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


                                  Так что если я решил, что какого-то изменения не будет, а оно произошло — это моя ошибка.

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


                                  В качестве мини-примера: одно из таких направлений, очень перспективное, сорвалось из-за того, что генподрядчик попал под санкции. (Это было ещё в 11-м году, так что с нынешней политикой прямо не связано.) В результате были запущены другие направления развития. Несмотря на материальность сферы, предсказать такое невозможно. Можно только быть готовым держать систему наготове к движению в любую разумную сторону.
                                  И да, мы могли предсказать, что направление A потребует такого-то изменения, B — другого. Но пока нет никаких достоверных данных о движении в эту сторону — браться менять смысла нет. А изменения между собой слабо совместимы, скорее конфликтуют. Так зачем спешить вводить одно, даже если видишь, куда и как оно могло бы двинуться? Чем проще и прямее реализация на каждом этапе под его требования и под гарантированную (а не предполагаемую) перспективу, тем лучше.


                                  Чтобы было понятней — вспомните дискуссию про goto сороколетней давности. Код с goto -очень гибкий. Но и некрасивый.

                                  Я скорее отношусь к тем, кто "GOTO considered harmful" considered harmful. Потому что и return из середины, и break/continue это смягчённое goto, и автогенерация кода может их рожать пачками, и в машинном коде оно, а не if/while, и ваще. Сам иногда применяю в типичных шаблонах (например, на голом C — объединить код cleanup-веток некоторой функции). У меня критерий к нему — чтобы код был понятен тем, кто не заражён религиозной неприязнью.


                                  И вот это


                                  Код с goto -очень гибкий. Но и некрасивый.

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


                                  Делая код эффективным — мы теряем в его универсальности. Делая код красивым — опять теряем в универсальности.

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


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

                                  Не знаю, как это соотносится с моей юностью, но начинал я на Fortran. Common-блоки использовались скорее для удобства не-передачи контекста каждый раз и для замены не существовавших тогда структур, чем для собственно эффективности.
                                  Процедуры на 5 страниц и более там и сейчас норма (на днях копался в BLAS), но в специфическом контексте, где это почти не мешает. В системном программировании такие или там, где ну очень тяжело разрезать иначе (как tcp_input() в классическом BSD), или в очень специфическом стиле (sendmail).
                                  А что было неэффективным в случае иной связи? Слишком много возни с указателями?


                                  1. Jef239
                                    28.03.2017 21:16

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

                                    Давайте не путать изменения ТЗ с дополнениями, которые потребовали рефакторинг из-за непродуманности структуры.

                                    Но когда оказывалось, что сокращение предельного времени реакции на событие X означало, что вся старая логика детекта этого события на основании характерных свойств последовательности значений датчиков не работает,

                                    Ну вот примерно ради такого мы и отлаживали СУБД на миллион записей в секунду при том, что реально у нас всего 10 тысяч в пике (и до 200 без пика).

                                    Никакая «реальность» задачи, в Ваших терминах, не защитит от таких проблем.

                                    Да, тут только опыт. Помните у Туполева "сломается здесь"? 100% не предусмотришь, но 95% — вполне.

                                    Вот тут принципиально расходимся. Не ошибка.

                                    Уточню. Моя ошибка как аналитика предметной области. Ну или ошибка того аналитика, кто подписался, что уж такого — точно не будет.

                                    Можно только быть готовым держать систему наготове к движению в любую разумную сторону.

                                    И я об этом же. Если система к движению в какую-то сторону не готова — это ошибка аналитика. Или команда программистов вообще не видит дальше спринта (а надо смотреть на 5-10 лет вперед).

                                    Второе совсем сомнительно

                                    Красота — это ещё и выкидывание лишнего. Разных зацепок, закомментированного кода «на будущее», полировка разных мест, по которым видна история кода… В итоге красивый код модифируется хуже.

                                    Красиво:
                                    printf("V=%.1f\n",GetV());
                                    

                                    Некрасиво:
                                    double V = GetV());
                                    printf("V=%.1f\n",V);
                                    

                                    Но второй вариант проще и в отладке и в модификации.

                                    А что было неэффективным в случае иной связи?

                                    Обращение к переменным объемлющей процедуры. Алгол-60 это позволял. Указателей в алголе-60 и фортране-IV вроде не было (или не было в тех реализациях, с которыми я работал). В алголе-60 можно было немного оперировать с метками, но это указатели на код, а не на данные.


                                    1. netch80
                                      29.03.2017 10:08
                                      +1

                                      Давайте не путать изменения ТЗ с дополнениями, которые потребовали рефакторинг из-за непродуманности структуры.

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


                                      100% не предусмотришь, но 95% — вполне.

                                      В 95% мы вполне вкладывались. Оставшихся 5% хватало, чтобы последствия обсуждать ещё много лет. :) И Туполеву наверняка не ставили задачи в виде "самолёт должен летать год без посадки".


                                      И я об этом же. Если система к движению в какую-то сторону не готова — это ошибка аналитика. Или команда программистов вообще не видит дальше спринта (а надо смотреть на 5-10 лет вперед).

                                      Реально получалось видеть с достаточным качеством на год, в общих чертах — на три.


                                      double V = GetV());
                                      printf("V=%.1f\n",V);
                                      Но второй вариант проще и в отладке и в модификации.

                                      Ну, опустим, что они неравнозначны (вот в варианте

                                      printf("V=%.1f\n", (double) GetV())
                                      есть действительно полное соответствие). Если отладка это распечатать V и/или не спутать пошаговый проход GetV() с printf() — да, согласен.
                                      Но с модификацией связи не вижу. Наоборот, первый кажется проще для модификации — за счёт отсутствия лишних сущностей. Ту же переменную V надо проследить, чтобы её значение нигде дальше не использовалось. Вот если бы был оператор типа unvar (del в Python), чтобы поставить после printf и после этого чтобы V была неизвестна — тогда не надо было бы смотреть вниз.


                                      Указателей в алголе-60 и фортране-IV вроде не было (или не было в тех реализациях, с которыми я работал).

                                      В Фортране IV всё передавалось по указателю. Передача по значению появилась позже. От этого возникал ряд неприятных эффектов. Но я понял идею этого пункта, спасибо.


                                      1. Jef239
                                        30.03.2017 07:11

                                        Дополнения к ТЗ — это нормальное развитие продукта. Добавляются фичи, свистелки и так далее… Изменение ТЗ — это исправление ошибок. Ну или очень редкое, форсмажорное изменение внешней среды.

                                        С тем, что для пользователя мало понятно, какие изменения и дополнения ТЗ сделать легко, а какие нет — согласен. Архитектору ПО, как правило, это понятно.

                                        И Туполеву наверняка не ставили задачи в виде «самолёт должен летать год без посадки»

                                        Не только ставили, но и решили. Летчики в свинцовой кабине, в салоне — атомный реактор с выбросом в атмосферу. Более того, оно летало. По устной информации из музея ИАЭ имени Курчатова, на случай атомной войны планировалась автономность до года — то есть использование как оружия возмездия.

                                        Не могу удержаться от фото. Атомный реактор на ТУ-95
                                        image


                    1. VolCh
                      23.03.2017 11:12

                      Мда… Что это за анализ предметной области, если код нужно править в ближайшие полгода?

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


                      1. Jef239
                        23.03.2017 13:15
                        -1

                        В нормальном быдлокоде это дописывания, а не правка. Причем больше конфигурации, чем кода.

                        Но вообще внутренний софт редко пишется нормально…


                        1. VolCh
                          23.03.2017 14:10

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


                          1. Jef239
                            24.03.2017 09:14

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


                            1. khim
                              24.03.2017 17:46

                              Подумайте о том, почему в 1С-предприятии при тех же изменениях в законах не пришлось ничего переписывать.
                              Потому же, почему при изменениях в ТЗ не нужно переписывать код компилятора С или интерпретатора BASIC?

                              Вынуждан признать — с 1С я сам лично не общался. Но на болезненный процесс переписывания модулей при выходе новых законов моя сестра, бухгалтер, жалуется регулярно…

                              Уверяю вас, при изменениях в законах в системах, созданных на базе 1С приходится переписывать массу всего. А интерпретатор — он интерпретатор и есть, чего с него взять-то?


                              1. oxidmod
                                24.03.2017 18:35
                                +1

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


                              1. Jef239
                                24.03.2017 19:04

                                Ну насколько много? Где-то порядка десятой процента кода на 1С максимум. Потому что само 1С-предприятие — не просто интерпретатор языка 1С.

                                А «много переписывать» — это такая мантра, при помощи которой программисты на 1С набивают цену. Потому что можно ничего не переписывать, а сделать новый документ с новой функциональностью.

                                А дописывать — намного проще, чем переписывать. Так вот, структура 1С позволяет в большинстве случаев просто дописать новые документы (модули).


                            1. VolCh
                              27.03.2017 12:26

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


                              Я тоже не переписываю PHP при изменениях в законах. Вот надо интеграцию с ККМ делать теперь бизнесу — пишу PHP-код технической интеграции и делаю изменения в код бизнес-процессов.


                              1. Jef239
                                27.03.2017 13:09

                                Ускорение запросто делается путем написания своего компилятора, Благо технологии компиляции — это вполне доступная рядовому программисту штука. То есть один раз разпарсили, потом скомпилировали нужные SQL-выражения и записали во временном файле. Дальше просто проверяем, не изменилось ли описание бизнес-процесса.

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

                                Что касается эффективности — то у нас один и тот же технологический код отлаживался на персоналке, а выполнялся под DOS на 80188 с 40 МГц.

                                Вот на таких вот
                                image


                                1. VolCh
                                  27.03.2017 14:23

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


                                  1. Jef239
                                    27.03.2017 14:55

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

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


                                    1. VolCh
                                      27.03.2017 16:12

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


                                      1. Jef239
                                        27.03.2017 16:47

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


                                        1. VolCh
                                          27.03.2017 17:54

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


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


                                          1. Jef239
                                            27.03.2017 18:14
                                            -1

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

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


                                            1. VolCh
                                              27.03.2017 22:08

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


                                              1. Jef239
                                                27.03.2017 23:50

                                                Ну тогда и разницы между 8086 и Xeon тоже никакой нет. :-) В принципе архитектура та же. Подумаешь 3 гигагерца вместо 8 мегагерц…

                                                Ну и разница между dBase и MS SQL тоже нулевая. Ведь и то и другое — СУБД.

                                                Да и современный телевизор — брат-близнец приемника Поповаю


                    1. khim
                      27.03.2017 13:39
                      +1

                      Ну если if ( *(byte *)0x449 == 0x13) для вас хороший код — то вы на 100% правы. Потому что до такого мы даже в прототипах не скатываемся.
                      А в чём проблема с данным кодом? Два хорошо известных (в те годы) числа сравниваются друг с другом — в чём проблема? 0x449 — это текущий видеорежим, 0x13 — это VGA-графика (которую, соответственно, нужно отключить).

                      Эти числа в годы написания DOOM'а чуть ли не на столбах клеились! Уж во всяких книжках по программированию они были точно и, зачастую, в книжках, прилагаемых к компьютеру, они тоже существовали.

                      А влияние добавления сотни строк к коду на скорость компиляции в те годы оказазывало заметное влияние…


                      1. Jef239
                        27.03.2017 13:43

                        А элементарно задефайнить константы слабо? Ну скажем на случай смены видеорежима?


                        1. khim
                          27.03.2017 15:17

                          А элементарно задефайнить константы слабо? Ну скажем на случай смены видеорежима?
                          Вы притворяетесь или издеваетесь? После VGA — уже ничего никогда не было. Вообще. Никогда. SuperVGA — уже не было стандартом и, соответственно, простой заменой чисел не обойтись. Нужно будет добавить таблицы известных видеоадаптеров (да-да, это DOS, детка), код для их распознавания и прочее.

                          А оно точно надо во внутренней утилите конвертации файлов? Может лучше просто решить что вот конкретно она — будет работать только в VGA и всё?


                          1. Jef239
                            27.03.2017 15:45
                            -1

                            В любом случае — это пример быдлокода.

                            Что касается технической оправданности — вполне можно было подумать о порте под аркадный автомат с конкретным видоадаптером. Или о будущем порте под iPhone.

                            В любом случае, если бы я писал такой код, то он минимум был бы под #ifdef PC_VGA. Потому что #ifndef __NeXT__ это мягко говоря неправильно. Ну неверно же считать, что всё, что не NeXT — это именно IBM_PC и VGA!


                            1. khim
                              27.03.2017 16:24

                              вполне можно было подумать о порте под аркадный автомат с конкретным видоадаптером
                              Это вы утилиту конвертации файлов под аркадный автомат портировать собрались? Нафига она там?

                              Ну неверно же считать, что всё, что не NeXT — это именно IBM_PC и VGA!
                              Внутри студии id Software во времена создания Doom'а? Почти наверняка.

                              Ещё раз: вы смотрите на код вспомогательной утилиты, которая никогда не поставлялась вместе с Doom'ом.

                              Сам Doom был портирован… куда он только не был портирован! Разве что на калькуляторах его нет (хотя нет — есть). А утилита конвертации… изначально она только под NeXT затачивалась, а потом её ещё и на PC с горем пополам запустили.

                              Уже велась разработка Quake, уже было понятно, что этой утилите долго не жить — и вы хотите, чтобы её затачивали под аркадные автоматы???


                              1. Jef239
                                27.03.2017 16:43
                                -2

                                Интересно, откуда информация, что cmdlib — это утилита конвертации файлов? Судя по исходной статье — это что-то более интеллектуальное.

                                В любом случае, быдлокод — есть быдлокод.

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


                      1. alexeykuzmin0
                        28.03.2017 11:10

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

                        bool isTextVideoMode()
                        


                        1. VolCh
                          28.03.2017 13:58

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


                          1. DistortNeo
                            28.03.2017 15:45
                            +1

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


                            1. khim
                              28.03.2017 17:23
                              +1

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

                              Не стоит оценивать качество тогдашнего кода с позиций сегодняшнего дня. Чушь получается. Даже если сегодня пишется код под DOS (а он пишется, не сомневайтесь — вот прямо тут и пишется), но даже при этом они на этой крохе свои проекты не компилируют! А тогда… Вы думаете все эти NOKANJI и NOSERVICE от хорошей жизни появились?


                1. netch80
                  27.03.2017 09:57

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

                  Связано ли это с качеством её кода? Или всё-таки с тем, что принципиально беззащитный дизайн перестал котироваться, а компы дотянули до мощности, когда NT-based решения перестали быть аццким тормозом?
                  Насколько я в курсе, там существенные затраты шли таки на проблемы совместимости с DOS. Избавление от неё сначала при переходе на Win2000, а затем (в Vista) при устранении DOS mode и 16-битки — были громкими праздниками.


                  1. webkumo
                    27.03.2017 11:15
                    +1

                    Вы таки удивитесь, но таки Win2000 из линейки nt. И оно изначально было самостоятельной операционкой, а не надстройкой над DOS. Равно как и её продолжатель XP.


                    Линейка 9х кончилась в виде:
                    95 (+апгрейды), 98 (+апгейды), миллениум.


                    1. netch80
                      27.03.2017 20:44
                      +1

                      Вы таки удивитесь, но таки Win2000 из линейки nt.

                      Я таки удивился, что Вы считаете, что я считаю иначе. Я не дал к этому никакого повода.


                      95 (+апгрейды), 98 (+апгейды), миллениум.

                      Спасибо, кэп. :)


                  1. Jef239
                    27.03.2017 12:25

                    Вы путаете разные вещи. Одно дело — подсистема WoW, которая вполне себе жила и в Win2к и дальше и устранилась лишь в 64битных вариантах. Сосбственно никаких особых проблем она не создавала.

                    Другое дело — старт Windows 3.1 как приложения MS-DOS и использование досовых драйверов. Вот тут и были основные проблемы. Они решаемые, Win95 уже обычно использовала 32битные собственные драйвера для диска дисплея, звуковой карты и так далее… Но сказалась усталость кода…


                    1. netch80
                      27.03.2017 20:58
                      -1

                      Вы путаете разные вещи.

                      Нет, не путаю. Я явно указал, что тут два разных этапа избавления от этого наследия.


                      Одно дело — подсистема WoW

                      Про WoW я ничего не говорил. Говорил про то, что в линии NT называется NTVDM, а в 9x как-то иначе. Сейчас уточнил — да, оно в 32-битных версиях вроде бы есть и сейчас.


                      Но сказалась усталость кода…

                      Или скорее то, что альтернативный перспективный код был давно стабилизирован и готов к использованию.


                      1. Jef239
                        27.03.2017 23:25

                        RTFM, NTVDM — это основной компонент подсистемы WoW16:

                        NTVDM (NT Virtual DOS Machine — «виртуальная машина DOS для системы NT») — компонент, входящий в состав 32-разрядных редакций операционных систем семейства Windows NT, позволяющий запускать 16-разрядные приложения Windows и 16/32-разрядные приложения DOS


                        Для справки. Windows NT вышла в июле 1993 года, OS/2 Warp на той же кодовой базе в октябре 1994ого.

                        А линейка Win 3.1 загнулась после крайне неудачной WinMe:

                        Windows Me сильно критиковалась пользователями из-за её нестабильности и ненадёжности, частых зависаний и аварийных завершений работы. В одной из статей в журнале PC World аббревиатуру МЕ расшифровали как «Mistake Edition» (ошибочное издание) и поместили на 4-е место в списке «Худших продуктов всех времён».


                        Почитайте "Inside Windows 95" или Unofficail windows 95 — поймете, что только титаническим трудом они смогли заставить Win95 работать настолько стабильно. То есть падать раз в несколько часов, а не раз в 5 секунд. Но к WinMe даже возможностей микрософт для поддержания гавнокода не хватило.


                        1. khim
                          28.03.2017 04:10

                          Но к WinMe даже возможностей микрософт для поддержания гавнокода не хватило.
                          Не совсем так. Windows 98SE — последняя запланированная версия Windows 9X — была весьма стабильной. А Windows ME пришлось срочно выпускать, чтобы «закрыть дыру», когда-то? с Windows Neptune вышел облом-с.

                          Разумеется изделие сделанное далеко не лучшими программистами, знавшими к тому же, что они делают продукт «на выброс» оказалось не самым лучшим…


                          1. Jef239
                            28.03.2017 04:27

                            Может быть и так, особенно, если вы видели пруфы, что ME делала иная команда.


                        1. netch80
                          28.03.2017 15:21

                          RTFM, NTVDM — это основной компонент подсистемы WoW16:

                          Это никак не следует ни из процитированного Вами текста, ни из просто определения win-on-win. Скорее надо говорить, что NTVDM — нижележащее средство для WoW16.


                          Почитайте "Inside Windows 95" или Unofficail windows 95 — поймете, что только титаническим трудом они смогли заставить Win95 работать настолько стабильно.

                          Читал, и именно об этом и говорю. И там как раз написано, почему так — не потому, что просто вдруг оказался там кривой код (с их ресурсами они всё это исправили бы), а потому, что само построение ОС не давало шансов сделать беспроблемное устройство.


                          А линейка Win 3.1 загнулась после крайне неудачной WinMe:

                          Которую мало кто ставил.


                          1. Jef239
                            28.03.2017 20:23

                            Организационно NTDVM — это часть подсистемы WIn16. То есть у нас есть kernel API и подсистемы WIn32, Win16, OS/2, POSIX с пользовательскими API. А отдельной подсистемы DOS — нету, она считается «Win16 console».

                            Из этого следует интересный технический вывод — в консольной DOS-программе под Windows NT можно использовать то, что было в WIn16, но отсутствовало в DOS. Например — обращаться к сетевым файлам.

                            само построение ОС не давало шансов сделать беспроблемное устройство.

                            Это и называется «усталость кода». А кривизна там возникала из-за необходимости сделать совместимость с софтом, накопленным за 20 лет.


                            1. netch80
                              29.03.2017 10:14

                              А отдельной подсистемы DOS — нету, она считается «Win16 console».

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


                              в консольной DOS-программе под Windows NT можно использовать то, что было в WIn16, но отсутствовало в DOS. Например — обращаться к сетевым файлам.

                              Ну там очень много чего можно было использовать через спец. интерфейсы. Например, то, что запускалось через DOS4G[W] и тому подобные экстендеры, под Win95 запускалось нативно (а даже если программа просила экстендер, тот просто "встраивал" свои действия в Windows). Для сети Win95 эмулировала SMB интерфейсы стиля Lantastic и аналогов. Но если это не выглядело Win бинарником, а был просто досовским .exe — то прямой путь к Windows-интерфейсам был недоступен (можно было требовать её dll?ки, но там требовалась особая осторожность).
                              Вообще, этот слой там чуть ли не высшее произведение инженерной осторожности за всю историю осестроения — заслуживает отдельного рассказа (увы, я знаю оттуда дай бог чтобы 2%, и не возьмусь).


                              1. Jef239
                                29.03.2017 11:23

                                Ну в общем да, Win95 глюкало ещё то было… И для совместимости там столько наворочали,… что даже думать страшно. Вплоть до опознавания отдельных EXE (в основном игрушек) по имени.


        1. Arekus
          21.03.2017 10:06
          +2

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


          1. takkmoil
            21.03.2017 10:42
            +4

            В таком случае, почему вы позволяете этому происходить, если деструктивная природа действий вам очевидна? Если работник, преследуя личные интересы, вредит производственному процессу и лично вашей работе — чем это отличается от воровства, например? Если вас реально волнует результат работы, почему вы позволяете кому-то обесценивать ваш труд и вредительствовать? Хата с краю?


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


            1. Arekus
              21.03.2017 10:53
              +1

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

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


              1. dimm_ddr
                21.03.2017 15:55

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


              1. takkmoil
                21.03.2017 18:37

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


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


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


                1. 0xd34df00d
                  22.03.2017 18:17

                  А какие вопросы могут помочь это выяснить на этапе собеседования?


                  1. takkmoil
                    23.03.2017 19:34

                    Очевидно, любые, вас интересующие. А уж там всё становится понятно по ответам или уклонению от них.


        1. PastorGL
          21.03.2017 11:29
          +1

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

          словоблудием я мог бы заниматься, но во-первых, читать многабукав никто не будет, во-вторых, «спасибо за мнение, но мы всё равно будем делать как нам хочется, а не как по уму надо». то есть, всё решает политика. и бабло. по уму ведь делать — дольше и дороже.


          1. oxidmod
            21.03.2017 11:40
            +1

            Бизнес отлично понимает что такое стоимость владения и способен умножить человекочасы на рейт. А вот абстрактные «по уму и как надо» для бизнеса действительно белый шум.
            Проанализируйте ситуация и подайте в виде сравнительной таблицы
            Стоимость разработки, поддержки, внедрения новых фич в человекочасах. Если это не поможет, тогда либо начальник ваш Тимоти Декстер


            1. oxidmod
              21.03.2017 11:46
              +1

              либо ваши «лучше и как надо» на самом деле не лучше.


        1. VolCh
          21.03.2017 12:08
          +1

          Конечно же, эта пламенная речь должна сопровождаться хотя бы парой слайдов

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


          1. takkmoil
            21.03.2017 12:40
            +1

            Это только в первый раз, и то только при неоптимальном подходе. Я б даже сказал — неправильном. Любой доклад надо выносить, в один присест мало кто способен сделать.


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


            А слайды — скорее выжимка тезисов, изредка графики или скриншоты. Это несложно. Это же презентация технаря, а не маркетологов, тут смысл важен.


            1. VolCh
              21.03.2017 13:12

              Презентовать-то бизнесу надо, а не технарям.


              1. takkmoil
                21.03.2017 13:18

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


        1. KVL01
          21.03.2017 19:56

          Это хорошо, когда проблема в %название_модуля%, или двух модулей, или трёх… Но я-то вижу, что всё – говно. А начальство этого упорно не желает видеть (про коллег вообще молчу). А если я его и переубежу, то всё равно нет ни времени, ни достаточно квалифицированных программистов, чтобы это исправить, или хотя бы не допускать впредь. А я один за всех это разгребать не собираюсь, прошёл юношеский максимализм. Так вот говном и обрастаем.


        1. zxweed
          26.03.2017 09:40

          Пробовали, конечно. Пишешь такое письмо с кросспостом десятку адресатов (включая руководство) и получаешь ровно 0 (ноль) ответов, потому что длинные письма никто никогда не читает до конца, особенно, адресованные группе людей. И угадайте, кто будет виноват, когда при разборе полётов оно всё-таки всплывёт?


      1. Arekus
        21.03.2017 10:01
        +4

        Подтверждаю.

        За 15+ лет сформировалось по этому поводу не сколько утверждений, вот пара из них:
        — больше чем указывающего на недостатки (даже с приведенными решениями) люди ненавидят того, кто оказывается в этих случаях прав.
        — осуществлять критику и предлагать решения имеет смысл только в том случае, если изменения осуществимы.


        1. mayorovp
          21.03.2017 10:48

          Это называется "подтверждаю"? Вы понимаете, что вы только что намекнули человеку что все его предложения могли быть неосуществимы? :)


          1. Arekus
            21.03.2017 10:57
            -1

            Простите, но вы о чем? Что значит «намекнул», когда он сам об этом пишет? Более того, второй пункт из моего комментария указывает на необходимое условие для прохождения предложений.


        1. PastorGL
          21.03.2017 11:34

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

          и только наличие определённого опыта позволяет определять такие задачи заранее и поднимать панику, пока оно ещё не пошло в работу.


        1. takkmoil
          21.03.2017 13:11

          Указывать недостатки надо уметь. Можно ныть и поносить всё и вся, безрезультатно. А можно предлагать возможные решения и обсуждать их, совместно доводя до идеала. Важность социальных навыков программистами бывает сильно недооценена.


      1. YurySS
        21.03.2017 19:56

        40 лет, в IT c 16. Я в таких случаях сразу готовлю план «Б», что бы в критический момент можно было предложить альтернативу.


      1. rkosolapov
        22.03.2017 20:27
        +2

        Я код пишу с 91 года, плохо продуманных решений не боюсь — ну либо исправим, либо и так сойдёт. Совсем гавно не выпустим, ибо QA, процессы, люди хорошие, опыт и всё такое.

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


        1. mike1
          22.03.2017 21:47

          Сбежал несколько лет назад из такой фирмы, где говнокод считался нормой. Копипаста, перекрестные зависимости, неожиданные глобальные переменные, имена методов, прямо противоположные их функциональности, методы по 10 тыс строк и ни одного теста, просто никакого, ни юнит, ни неюнит, никакого — это норма. Проект был в таком запущенном состоянии, что проще его было переписать с нуля, чем починить. Меняешь в одном месте — разваливается в совершенно других непредсказуемых местах. На 20 глюкописов у них был один мальчик, который всё это самоотверженно вычищал в одиночку и… ненавидел этих субъектов-генераторов дерьмокода, поскольку не мог бороться с ними. А они ненавидели его. Мне была уготована роль второго такого мальчика… но это было выше моих сил… работать было почти невозможно… хотя я продержался там 2 года. Но я же не ассенизатор и не детектив, чтобы раскапывать коммит 1993 года, из-за которого в 1998 году появился баг, который неудачно исправили в 2000 году и он перестал проявляться до 2005 года, когда внесли другое изменение, после которого он стал проявляться, но не совсем так, как сейчас, потому что именно в это время криво реализовали другую функциональность, а вот теперь ее прямо реализовали и он стал проявляться нормально. Тьфу!!!


          1. rkosolapov
            23.03.2017 07:15

            Я говорил немножко о другом, но могу прокомментировать и ваш случай.

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

            И вот только тогда, когда доказано, что дело в копипасте и юнит-тестах — вот тогда надо за них бороться.

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

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


            1. VolCh
              23.03.2017 11:18

              Кому интересно, кому нет. Да и баг багу рознь, начиная с баг-репорта: "у меня система не работает" против "если я использую вот такое сочетание полей A и B в форме документа от юзера в группе "менеджеры", то документ идёт по маршруту 1, а согласно п. 7.3.4 описания системы должен идти по маршруту 3."


    1. Stasgar
      21.03.2017 06:22

      И какие планы строите на будущее?


    1. Durimar123
      21.03.2017 11:56

      Поэтому возникает грусть и некий налёт скуки.

      Т.е. первый комментатор прав:
      «прогрессирующее занудство, исчезающая самоирония и старческая слезливость»


      1. Zonzen
        22.03.2017 18:05
        +1

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


    1. Cromathaar
      21.03.2017 13:25

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


    1. Holahola
      21.03.2017 19:56

      Пришло время передевать опыт более юным коллегам =)


    1. nikolayv81
      23.03.2017 08:45

      И ещё раздражение со стороны менеджмента, он же приносит "новую прорывную идею, изобретённую долгими вечерами" а вы ему сообщает что это уже было и кончилось "ни чем"


    1. w4r_dr1v3r
      25.03.2017 15:57

      Ну то есть вам грустно от того, что вы стали тем, кем хотели — профи?))


  1. klev
    20.03.2017 23:21

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


  1. KonstantinSpb
    20.03.2017 23:27

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


  1. yar229
    20.03.2017 23:39
    +24

    * yar229 застрелился, просматривая список после фразы «Итак, что же нужно знать, чтобы тебя не выбросили на помойку?»


  1. DistortNeo
    21.03.2017 00:03

    40-летние программисты, как мне кажется, никуда не деваются, они просто растворяются в толпе прибывающей бешеными темпами молодёжи


    1. eevitaly
      21.03.2017 06:22

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


      1. Pakos
        21.03.2017 10:03
        +1

        Собеседую разных, как тут уже писАл — «звёзды» после 40, которые после института осели на одном объекте/проекте, зачастую в единственном экземпляре, являются заядлыми велосипедостроителями и не готовы развиваться, если кто пробовал разные направления — тот и после 40 готов учиться и развиваться. Хотя, моя выборка сужена фильтром HR по потолку з/п и требованиям — потому точные пропорции не видны.


      1. DistortNeo
        21.03.2017 11:46

        Да я и 25-30 летних динозавров уже успел повидать: что изучили в 20 лет, тем дальше и пользуются без расширения кругозора.


  1. NoRegrets
    21.03.2017 00:06
    +21

    У вас обычная прокрастинация, товарищ. Даже зная все на 100% из этого списка, всегда можно составить еще один такой список, чего вы не знаете, перед тем как идти на собеседование. Будьте откровенны с собой, вы либо не хотите работать в яндексе, либо очень хотите но ужасно боитесь что вам скажут «мы вам позже позвоним».
    И вообще, я не понимаю вашего пиетета по отношению к яндексу. Контора как контора, не лучше и не хуже других.


    1. Gorthauer87
      21.03.2017 00:13
      +10

      Раньше мечтал туда попасть, но как то тихо и незаметно она стала обычной компанией.


      1. ggrnd0
        21.03.2017 00:33
        +4

        Чем выше уровень развития, тем сложнее расти дальше.
        После 17 лет развития поисковой системы, как-то ее улучшить уже достаточно сложно.
        Если в самом начале гениальная идея могла прийти во время обеда, то теперь что бы выжать еще 0.5% скорости/качества/стоимости, нужно с десяток академиков привлечь…
        Такова судьба любой технологии.
        Если интересно менять мир, нужно искать новые перспективные технологии.
        В данный момент VR в тренде.
        А через десятилетие и туда придет стогнация


        1. Gorthauer87
          21.03.2017 00:36

          Я для себя мир блокчейна открыл, это как раз и стало поворотным моментом.


  1. lexore
    21.03.2017 00:30
    +8

    О Яндекс! Грааль мечты! Только у тебя люди не просто перекладывают данные, а делают с ними что-то осмысленное.

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


    1. mike1
      21.03.2017 06:31
      +1

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


      1. zxweed
        21.03.2017 08:40
        -1

        дался вам этот Яндекс с их методами мотивации


      1. PastorGL
        21.03.2017 11:37

        может быть, счастье в том, чтобы продолжать делать то, что хорошо умеешь?

        (если честно, я тоже не знаю ответа на этот вопрос, и хотел быть его найти.)


      1. nohuhu
        22.03.2017 06:58

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

        Меняйте профессию. Кроме программизма, в мире есть ещё много интересных инженерных дисциплин. :)


        Или, как вариант, откройте стартап. Скучать не придётся. :)


  1. x893
    21.03.2017 00:40
    +2

    Сделал себе небольшой «грааль», забил на собеседования и занимаюсь в своё удовольствие. За 30 лет сделать свою кормушку не проблема.


    1. j_wayne
      21.03.2017 09:41
      +1

      Сдается мне, что многие программисты от 40 как раз в свои «граали» и пропадают, а не в яндекс)


  1. zenkz
    21.03.2017 00:46
    +6

    Это очень интересная и актуальная тема для меня:
    С одной стороны сам видел, как провожали на пенсию одного из разработчиков (65 лет). Т.е. писать программы можно и в этом возрасте.
    С другой стороны по себе замечаю, что в свои 30 я уже не так эффективен, каким был в 25. Т.е. с точки зрения производительности я пока ещё дам фору 25и-летним, а вот с обучением всё уже намного хуже. Например я уже не готов жертвовать сном, чтобы написать какой-то тестовый проект и попробовать новую технологию; семья и дом отнимают бОльшую часть времени вне работы; технологии развиваются очень быстро и даже с моими попытками не отстать, всё равно отстаю. Вон уже Angular2 вышел, а я с Angular 1 ещё дальше простых примеров не продвинулся.
    И если в 30 лет всё можно списать на проскатинацию (и начать бороться с ней — притом довольно эффективно), то страшно подумать что будет в 45-50.
    Также правда была сказана про «стеклянный потолок». Компаниям не нужны программисты с 15-20 годами опыта, им достаточно 3-5 лет. Т.е. у разработчика с 3-5 годами опыта есть достаточно знаний (притом актуальных), умеренные апетиты в зарплате и лёгкая обучаемость по причине молодости), а то что вы писали 10 лет назад на VB6 или Delphi уже никого не интересует.
    Куда же деются 40-летние программисты: мне кажется есть несколько вариантов:
    — расти и учиться постоянно и со всё большим усердием, и быть умеренным в зарплате (и оставаться обычным разработчиком)
    — уйти в менеджеры или техлиды (но это путь не для всех)
    — развивать экспертизу и стремиться и стать уникальным специалистом (но есть шанс, что экспертиза или технология устареет морально)
    — учить архитектуру и идти в направлении системного архитектора (их требуется очень мало + обычно растят внутри компании).

    Так что разработчики — это как спорт или балет, пока молодой всё красиво и есть шанс заработать, но с возрастом — либо тренером, либо спиться :(

    ЗЫ: На самом деле не всё так грустно. Спрос на разработчиков пока ещё огромный, а квалифицированных людей всегда нехватает. Если ваш уровень хотя бы чуть выше среднего, то без работы вы не останетесь…


    1. zzzcpan
      21.03.2017 01:22
      -2

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

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

      Вообще работать 20 лет программистом это скорее исключение из правил, многим уже через 5-10 лет становится понятно, что надо уходить во что-то другое.


      1. Razaz
        21.03.2017 02:53
        +7

        С чего бы исключение? Я уж скоро 13 лет как работаю и наслаждаюсь профессией. И интерес не только не пропадает, а постоянно не хватает времени на то, что бы изучить новые интересные штуки.
        Не хватает тех, кто способен думать головой, исследовать, брать ответственность, принимать решения, развиваться и тащить банду обормотов, что бы они не отстрелили себе все подряд :) И биологический возраст тут не важен.


    1. divanikus
      21.03.2017 03:04
      +2

      > Например я уже не готов жертвовать сном, чтобы написать какой-то тестовый проект и попробовать новую технологию
      А это скорее не из-за возраста, а из-за опыта. Мой личный опыт показывает, что многие «новейшие» технологии на самом деле сырые и полные костылей и часто находятся на уровне proof-of-concept. Короче смысл перебирать все что модно-молодежно прямо сейчас как-то теряется, потому как время убивает, а серебряной пулей в итоге не становится. Начинаешь понимать медленный энтерпрайз с выверенным стеком устаревших технологий, но работающий. В одной из контор где я работал до сих пор используют программы на фортране, написанные в 90х, а может и раньше.


      1. DistortNeo
        21.03.2017 11:48
        +1

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


        1. divanikus
          21.03.2017 17:34

          Вот когда станут, тогда и приходите :)
          Серьезно, некоторые технологии пока я хотел изучить, но не было времени, успели стать немодными и чуть ли не deprecated. Why bother then?


          1. EviGL
            23.03.2017 19:12

            А с таким мышлением «новые технологии сырые, я старыми решу всё быстрее» мозг костенеет и можно оказаться программистом на Borland C++ Builder в 2017-ом. Причём на старте это всё действительно так и было, технологии сырые, без них быстрее, а потом переходный момент упускается. Ну или даже старыми технологиями всё ещё решается быстрее (с 10 годами опыта-то), но вокруг их никто уже не использует.

            А раз уж топик про старость, тут тоже есть подвох. С годами мозг всё меньше и меньше формирует новых нейронных связей, всё больше следует ранее проторенным дорожкам. И так как признать свою неполноценность человек неспособен, мозг начинает вырабатывать подобные реакции на абсолютно несознательном уровне, типа «как я раньше делал — единственный правильный путь, все остальные просто глупые и этого не понимают». Если пообщаться со стариками (60-80 лет), слышишь это постоянно, тут и там.

            Поэтому критично постоянно изучать что-то новое, развиваться. Даже если это новое кажется не нужно и глупо. Даже если это приходится делать вместо сна и семьи (ну, баланс надо искать). Это единственное что спасает мозг от старения.


            1. divanikus
              24.03.2017 01:50

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

              Т.е. хвататься за каждый «о, чуваки новую крутую штуку придумали, версия аж 0.2.137, надо срочно пробовать» не стоит, только распыляешь свое время.


              1. dimm_ddr
                24.03.2017 11:14

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


                1. divanikus
                  24.03.2017 14:26

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

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


            1. glestwid
              25.03.2017 00:18

              Даже если это новое кажется не нужно и глупо

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


      1. nikolayv81
        23.03.2017 19:03

        А ещё иногда бывает открыл новость о чём-то "новом", и в голове всплывает — "я же это уже видел n лет назад" :)


        1. nohuhu
          24.03.2017 03:20

          И не иногда, а очень часто. И чем больше опыта, тем чаще. :(


          Вот, скажем, до меня только недавно дошло, что Модная Технология MapReduce, с которой так носятся возбуждённые пионеры, это тупо вариации на тему grep/map блоков, которыми я пользовался в перле в конце 90-х. И которые изобрели ещё чёрти когда вообще, задолго до того, как я до них добрался.


          Хы-хы, сказали суровые сибирские мужики и пошли пить пиво.


          1. Idot
            24.03.2017 04:11

            Маркетинг-с!


            1. khim
              24.03.2017 17:58

              Маркетингом это стало, которая это стали продвигать как решение всех задач на свете. А так — это просто технология. Полезная и концептуально простая.


          1. khim
            24.03.2017 17:57

            Вот, скажем, до меня только недавно дошло, что Модная Технология MapReduce, с которой так носятся возбуждённые пионеры, это тупо вариации на тему grep/map блоков, которыми я пользовался в перле в конце 90-х.
            Дык. Решаемые задачи похожи, похожи и решения.

            MapReduce — это такой способ разбить задачу на три части: две (Map и Reduce) — известные «бизнес-аналитикам» и не требующие от них умения программировать кластеры и связывающая их распределённая сотировка, над которой «ломают голову лучшие умы» — но которая вообще никак не зависит от того, какая задача решается.

            grep/map блок — это в точности то же самое, только сортировка там выделена отдельно, не чтобы использовать 100'000 компьютеров в кластере, а мощь языка C, который гораздо быстрее perl'а.


            1. nohuhu
              24.03.2017 23:38

              Дык. Решаемые задачи похожи, похожи и решения.

              Всё уже украдено до нас. Иногда от этого даже грустно становится. :(


              grep/map блок — это в точности то же самое, только сортировка там выделена отдельно, не чтобы использовать 100'000 компьютеров в кластере, а мощь языка C, который гораздо быстрее perl'а.

              <зануда="вкл">
              В блоке grep { ... } map { ... } сортировка не выделена отдельно, её там вообще нет. Потому что для этого добавляется блок sort { ... }. :) А всё вместе называется Schwartzian transform.


              Что касается мощи языка C, который гораздо быстрее Perl, то это тоже не на 100% верно. Во многих задачах перловый код существенно быстрее чисто сишного.
              </зануда>


              :)


              1. Idot
                25.03.2017 08:48
                +2

                Примеры перолового кода, который быстрее сишного?


                1. nohuhu
                  28.03.2017 01:19
                  -2

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


                  Сравнения можете сами погуглить, если интересно. Во времена оно была популярная тема вполне.


                  1. TheShock
                    28.03.2017 01:32

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


                    1. nohuhu
                      28.03.2017 04:09
                      -2

                      В перле регулярные выражения встроены в синтаксис языка, это не отдельная библиотека, как в PHP или Java. Движок regex написан на C, с блекджеком и макросами. Я конкретно в ту часть не смотрел, но судя по другим кускам кода, без бутылки там не разберёшься и с бодуна такое не напишешь.


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


                      C вообще не лучший выбор для работы со строками, а тем более с большими объёмами строк. Никаких чудес, просто malloc/free, обнуления, копирования, защита от переполнений и ручная работа с UTF-8 будет стоить вам циклов CPU и седых волос задолго до того, как вы вообще доберётесь до регулярных выражений.


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


                      1. khim
                        28.03.2017 04:30

                        C вообще не лучший выбор для работы со строками, а тем более с большими объёмами строк
                        Вы, случаем, не из параллельной вселенной, где движки Google и Yandex на Perl'е написаны, нет?

                        Можно спорить по поводу удобства работы на строками на C (хотя чего там спорить — неудобно), но по-поводу скорости… Вы на цифры-то смотрели? Ну так взгляните: RE2 быстрее perl'а обычно, C'шный grep быстрее на порядок (хотя это и достигнуто за счёт использования более ограниченных регулярных выражений).

                        Зато перловая программа для поиска шаблонов в тексте скорее всего будет работать быстрее вашей самопальной на C, и чем больше текст и сложнее выражения, тем больше будет разница.
                        Ни разу не очевидно — см. egrep, опять-таки.

                        Никаких чудес, просто malloc/free, обнуления, копирования, защита от переполнений и ручная работа с UTF-8 будет стоить вам циклов CPU и седых волос задолго до того, как вы вообще доберётесь до регулярных выражений.
                        Опять-таки — это вопросы удобства, а не скорости. Ну так с дуру можно и х@й сломать. А вы, как бы, обещали большую скорость. Ну и где она? Примеры можно, а не абстрактные «махания руками»?


                        1. nohuhu
                          30.03.2017 02:33

                          Можно спорить по поводу удобства работы на строками на C (хотя чего там спорить — неудобно), но по-поводу скорости… Вы на цифры-то смотрели? Ну так взгляните: RE2 быстрее perl'а обычно, C'шный grep быстрее на порядок (хотя это и достигнуто за счёт использования более ограниченных регулярных выражений).

                          Вообще давно уже не смотрел ни на какие сравнения, тем более такие смехотворно притянутые за уши. Ну правда, мизерный набор данных, простейшие шаблоны поиска и сравнение свежих на тот момент библиотек с древним Perl 5.8 разлива 2002 года?


                          Но вот вы меня заинтриговали. Давайте попробуем. Текстовых файлов, достаточно больших, чтобы дать какую-то заметную разницу на современном железе, у меня не нашлось. Погуглил "sample csv data 2 gb", первая ссылка на эту страницу: https://sdm.lbl.gov/fastbit/data/samples.html (Sample Datasets from STAR Experiment). Я не в курсе, что это за эксперимент, но файл с данными http://sdm.lbl.gov/fastbit/data/star2002-full.csv.gz это текст и 2 GB вполне есть:


                          ~/Downloads/foo$ file star2002-full.csv 
                          star2002-full.csv: ASCII text
                          ~/Downloads/foo$ ls -lh star2002-full.csv 
                          -rw-r--r--@ 1 nohuhu  staff   2.0G Mar 29 12:51 star2002-full.csv

                          Давайте сперва попробуем найти много-много строк. Чтобы файловое I/O нам не мешало, мы это на шелл повесим и будем просто читать из stdin и писать в stdout:


                          ~/Downloads/foo$ time egrep ',\s?\-[0-9]+[^.]' < star2002-full.csv > subset1.csv
                          
                          real    1m19.848s
                          user    1m16.655s
                          sys     0m3.134s
                          
                          ~/Downloads/foo$ time perl -n -e '/,\s?\-[0-9]+[^.]/ && print' < star2002-full.csv > subset2.csv
                          
                          real    0m50.479s
                          user    0m47.595s
                          sys     0m2.852s

                          Упс, perl как-то быстрее на 30 секунд, на погрешность не спишешь. Может, мы не то нашли? Да нет, результаты одинакового размера и совпадают:


                          ~/Downloads/foo$ ls -l subset{1,2}.csv
                          -rw-r--r--  1 nohuhu  staff  1174943004 Mar 29 15:38 subset1.csv
                          -rw-r--r--  1 nohuhu  staff  1174943004 Mar 29 15:39 subset2.csv
                          ~/Downloads/foo$ diff subset1.csv subset2.csv 
                          ~/Downloads/foo$ 

                          Но этот эксперимент не совсем про скорость regex движка — совпадений много, писать в stdout тоже пришлось целый гигабайт. Давайте попробуем поискать строку, которой в файле нет; заодно и шаблон поиска чуть усложним (но только чуть, POSIX regex убогий):


                          ~/Downloads/foo$ time egrep '^(?:3|5),.*?,\s+0,\s0+,(?:\s+0,\s+0)?.*\-9{4}$' < star2002-full.csv > subset3.csv
                          
                          real    1m10.132s
                          user    1m9.276s
                          sys     0m0.847s
                          
                          ~/Downloads/foo$ time perl -n -e '/^(?:3|5),.*?,\s+0,\s0+,(?:\s+0,\s+0)?.*\-9{4}$/ && print' < star2002-full.csv > subset4.csv
                          
                          real    0m6.745s
                          user    0m6.104s
                          sys     0m0.638s

                          Ой-вей, разница в 10 раз это совсем упс. А точно ничего не нашли? Точно:


                           ~/Downloads/foo$ ls -l subset{3,4}.csv
                          -rw-r--r--  1 nohuhu  staff  0 Mar 29 15:39 subset3.csv
                          -rw-r--r--  1 nohuhu  staff  0 Mar 29 15:41 subset4.csv

                          А, да, чуть не забыл. Perl тоже не шибко свежий, системного разлива:


                          ~/Downloads/foo$ perl -v
                          
                          This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-thread-multi-2level
                          (with 2 registered patches, see perl -V for more detail)

                          В общем, вы это… Не трогайте меня за perl, не надо. Знаем, Любим, Ценим. :)


                          Опять-таки — это вопросы удобства, а не скорости. Ну так с дуру можно и х@й сломать.

                          Вы сами-то давно работали с Unicode в C? Нудно это и больно. Синьёру не завидно свой сломать, не то, что юниору.


                          1. khim
                            30.03.2017 19:37

                            Упс, perl как-то быстрее на 30 секунд, на погрешность не спишешь.
                            Зато можно списать на неумение пользоваться инструментами. Только люди твёрдо уверенные что «grep — это фигня и ничего кроме perl'а в природе нет» не знают, что grep — «сливает» (причём чудовищно «сливает») в UTF-8 режиме. Ничего хорошего в этом нет, но если вы хотите им пользоваться — знать про это необходимо. Ибо если UTF-8 не использовать, то он, как и было написано, зачастую быстрее perl'а.
                            $ export LC_ALL=C
                            $ time egrep ',\s?\-[0-9]+[^.]' < star2002-full.csv > subset1.csv
                            
                            real	0m11.069s
                            user	0m8.827s
                            sys	0m1.855s
                            
                            $ time perl -n -e '/,\s?\-[0-9]+[^.]/ && print' < star2002-full.csv > subset2.csv
                            
                            real	0m28.601s
                            user	0m27.093s
                            sys	0m1.504s
                            
                            
                            Давайте попробуем поискать строку, которой в файле нет; заодно и шаблон поиска чуть усложним

                            
                            $ time egrep '^(?:3|5),.*?,\s+0,\s0+,(?:\s+0,\s+0)?.*\-9{4}$' < star2002-full.csv > subset3.csv
                            
                            real	0m5.380s
                            user	0m5.046s
                            sys	0m0.332s
                            
                            $ time perl -n -e '/^(?:3|5),.*?,\s+0,\s0+,(?:\s+0,\s+0)?.*\-9{4}$/ && print' < star2002-full.csv > subset4.csv
                            
                            real	0m4.690s
                            user	0m4.263s
                            sys	0m0.428s
                            
                            В данном случае, действительно, perl выиграл. Но уж никак не в 10 раз.

                            Но давайте на RE2 посмотрим, что ли?

                            $ time re2g '^(?:3|5),.*?,\s+0,\s0+,(?:\s+0,\s+0)?.*\-9{4}$' ~/star2002-full.csv > ~/subset1
                            
                            real	0m4.959s
                            user	0m4.281s
                            sys	0m0.677s
                            $ time re2g '^(?:3|5),.*?,\s+0,\s0+,(?:\s+0,\s+0)?.*\-9{4}$' ~/star2002-full.csv > ~/subset3
                            
                            real	0m4.676s
                            user	0m4.178s
                            sys	0m0.496s
                            
                            Нельзя сказать что RE2 выиграла во втором случае, но и проигрыша «выликому, могучему и совершенно непобедимому» perl'у нет, извините.

                            В общем, вы это… Не трогайте меня за perl, не надо. Знаем, Любим, Ценим. :)
                            Знайте, любите и цените — дело ваше. Только если вы умеете пользоваться только perl'ом — то не стоит это выдавать за достоинство.

                            Вы сами-то давно работали с Unicode в C? Нудно это и больно. Синьёру не завидно свой сломать, не то, что юниору.
                            А с этим, как бы, никто и не спорит. Если бы C/C++ был не только быстрее, но ещё и более удобен, чем всякие Perl'ы и Python'ы — кто бы ими пользовался? Вы же обещали совсем другое:
                            Во многих задачах перловый код существенно быстрее чисто сишного.
                            Пока что… пшик.


                            1. nohuhu
                              30.03.2017 22:14

                              Ибо если UTF-8 не использовать, то он, как и было написано, зачастую быстрее perl'а.

                              Оба-це-на! Как бы на дворе 2017 год, UTF-8 был изобретён аж 25 лет назад и уже почти 10 лет как перехватил лидерство у однобайтных кодировок в интернетах.


                              И вот прямо сейчас, на минуточку, мне тут поют песни о том, что семибитный ASCII это, типа, фича? Которой, оказывается, надо уметь пользоваться?


                              Товарищ, у вас вещества просроченные. Уж 21-й век в разгаре, срочно меняйте дилера!


                              Нельзя сказать что RE2 выиграла во втором случае, но и проигрыша «выликому, могучему и совершенно непобедимому» perl'у нет, извините.

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


                              RE2 как инструмент мне совершенно не интересен. Судя по описанию, это узко заточенный под нужды гугля движок, который не поддерживает большинства возможностей перловых регексов. Ну, скажем, рекурсию я вряд ли когда использую, и даже отсутствие backreferences могу простить. Но без поддержки look(around) это что за движок и чем он лучше тупенького egrep?


                              В стандартную поставку макоси и CentOS оно не входит; стало быть, в скриптах использовать смысла нет. Так что с чем мы сравниваем сейчас?


                              А-а-а, нет, мы же не сравниваем, мы за уши притягиваем.


                              Только если вы умеете пользоваться только perl'ом — то не стоит это выдавать за достоинство.

                              О, как я люблю этот блистательный дивизион Диванных Военов Интернэта. Кто-то упомянул Ненавистный Проклятый Перл, да ещё и осмелился сделать это в позитивном свете! И, (gasp), даже цифрами подтвердил, негодяй!


                              Острый Батхёрт, все в Отаку!!11


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


                              Во многих задачах перловый код существенно быстрее чисто сишного.
                              Пока что… пшик.

                              Вы как чукча-читатель уже состоялись в жизни, или ещё в процессе? Прочитайте внимательно мою фразу, которую только что сами же процитировали. Ещё раз прочитайте, подумайте.


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


                              1. khim
                                31.03.2017 00:27

                                И вот прямо сейчас, на минуточку, мне тут поют песни о том, что семибитный ASCII это, типа, фича?
                                Нет. Фича — это тот факт, что ваш конкретный regexp не требует всех наворотов Юникода и будет корректно обработан в локали C даже притом, что в данных будет Юникод.

                                Про «великий, могучий и совершенно непобедимый» это вы откуда взяли? Не надо мне свои эротические фантазии приписывать.
                                Вот это вот чьи фантазии:
                                Перловый regex движок чертовски быстр и чем сложнее выражение, тем заметнее преимущество.


                                Далее.

                                RE2 как инструмент мне совершенно не интересен.
                                Очередной «перенос ворот»?

                                В стандартную поставку макоси и CentOS оно не входит; стало быть, в скриптах использовать смысла нет. Так что с чем мы сравниваем сейчас?
                                С вашими обещаниями, однако:
                                Во многих задачах перловый код существенно быстрее чисто сишного.

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

                                Вы просили подтверждений, я привёл два вполне реалистичных примера.
                                Вы привели два примера в обоих из которых вы неправильно использовали инструменты. Какое это имеет отношение к «во многих задачах перловый код существенно быстрее чисто сишного»? Очевидно что сравнивать имеет смысл только хорошо сделанные вещи! Ибо тот факт что любую программу на любом языке можно замедлить в любое количество раз — сомнений не вызывает.

                                Да, если вы не умеете пользоваться C и умеете пользоваться perl'ом — так и будет. Ну так это от вас зависит, а не от языка!

                                P.S. Я отнюдь не утверждаю, что нужно обрабатывать тексты на C — во многих случаях это сложнее и дольше пишется. Но вот чтобы «перловый код был быстрее чисто сишного» — это нужно очень специфический сишный код и очень специфический perl'овый код выбирать…


                      1. TheShock
                        28.03.2017 06:26
                        +1

                        В перле регулярные выражения встроены в синтаксис языка, это не отдельная библиотека, как в PHP или Java

                        Да, я знаю. Тот же движок, на самом деле, используется и в php и, вроде, в JS. И его в Си можно использовать, наверное. Просто я не совсем понял, как можно сравнивать движок написаный на Си и просто Си и при чем тут Перл? Ну да, в перле клевый движок используется, но он ведь на Си написан, как этот движок может свидетельствовать о скорости Перла?


                        1. khim
                          28.03.2017 17:25

                          Тот же движок, на самом деле, используется и в php и, вроде, в JS
                          Вы, наверное, про PCRE? Ну так он только в PHP и используется, у Perl'а и JS — свои движки.


          1. 0xd34df00d
            24.03.2017 18:57

            А задолго до перла это было в виде понятий моноида и катаморфизма.


    1. Arekus
      21.03.2017 10:12
      +5

      Еще варианты, куда деваться:
      — учить pet-проекты генерировать доход.
      — работать удаленно. В интернете никто не знает что ты кот 40-летний программист.
      — отправить работать жену.


    1. athacker
      22.03.2017 10:34

      Т.е. с точки зрения производительности я пока ещё дам фору 25и-летним, а вот с обучением всё уже намного хуже. Например я уже не готов жертвовать сном, чтобы написать какой-то тестовый проект и попробовать новую технологию; семья и дом отнимают бОльшую часть времени вне работы; технологии развиваются очень быстро и даже с моими попытками не отстать, всё равно отстаю.


      Я случайно для себя нашёл ответ на этот вопрос :) Когда внезапно стал тимлидом. И в должности тимлида стал доступен лайфхак — даёшь задание молодым: «вот тебе мануал по продукту/технологии/протоколу, разберись и через недельну доложи коротенько, стоит с этим возиться или нет». Как минимум — уменьшает время на перебор разных продуктов (подойдёт или не подойдёт, т. к. чтобы это понять — надо посидеть и поразбираться. И когда «не подойдёт», то жалко потраченного времени).

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


      1. mike1
        22.03.2017 10:56

        Цена ошибки может быть слишком высокой: молодежь при оценке технологии/библиотеки/софта может не учесть важных факторов, не протестировать ее как следует или ошибиться при их оценке. А ваш софт уже будет написан и ответственность ляжет на вас.


        1. athacker
          22.03.2017 11:01

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

          А во-вторых — да, указанный вами риск есть. Но от ошибок не застрахован никто, даже ракеты вон падают из-за программерских ошибок.

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


  1. kozzztik
    21.03.2017 03:08

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


    1. mike1
      21.03.2017 06:41

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


      1. Arekus
        21.03.2017 10:16
        +1

        Ну как куда податься — программирование микроконтроллеров, ЧПУ, всякий там софт для IoT развивать. Во многих случаях просто откроются новые неосвоенные земли, где потребуются все возможные знания из индустрии.


        1. mike1
          26.03.2017 12:21

          Программирование микроконтроллеров мне не кажется прогрессом по сравнению с тем, чем я сейчас занимаюсь. Может, не в тему, но приведу пример.
          Как-то друг дал девайс чинить. Знаете такие девайсы Lacie (мини-комп с RAID-массивом). Так вот, друг поставил в устаревший Lacie диски больше 3Гб и девайс не забутился, потому что boot был старый и не поддерживал большие диски. Я нашел апдейт и перепрошил, но речь не об этом. Я посмотрел исходники этого boot image, чтобы проверить патч, который эту проблему лечит. Весь имадж 256 кбайт. Но mama mia. Это ассемблер для ARM-процессора Motorola 68000. Что-то мне подсказывает, что я этим не хотел бы заниматься. Там страшный код. Если не сказать большего. Как туда после С++ перейти? Немыслимо.


  1. rg_software
    21.03.2017 03:22
    +2

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

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

    — Работать там, где не уволят (крупная компания, государство и т.п.) Предвижу ухмылки, но тут всё зависит от конкретных мест и обстоятельств, всё может оказаться не так плохо.

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

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

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

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


    1. Areso
      21.03.2017 06:52
      +1

      Частный случай первого варианта: уйти в банковский сектор. Там можно сидеть долго и получать даже несколько выше рынка.


      1. Pakos
        21.03.2017 10:11
        +1

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


      1. Arekus
        21.03.2017 10:18

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


  1. mad_god
    21.03.2017 04:23
    +3

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

    Мне 37 и я всё ещё не программист. Да, я кое-как пишу программы, но всё ещё не зарабатываю этим себе на жизнь. Чёрт, я даже не знаю, смогу ли вообще. Что, если нет? Кто сказал, что я доживу хотя бы до 60?
    Не об этом я думал, когда в юности гадал, что со мной будет в будущем. А ведь это единственная сфера (как я считал ранее), в которой я могу спокойно ошибаться, а потом исправлять свои ошибки, и ничего плохого из-за моих ошибок не случится. Оказалось, многие мыслят быстрее, безошибочнее, чем я, мгновенно дают ответы, над которыми мне нужно думать неделями. В школе, среди будущих трактористов, я считал себя программистом, а вот уже в институте, среди программистов, я понял, что я тракторист.


    1. mike1
      21.03.2017 06:50

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


      1. dimm_ddr
        21.03.2017 16:07
        +1

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


        1. 0xd34df00d
          22.03.2017 18:30

          Трудно найти экстремум зависимости полезности от уровня самобичевания


  1. dipsy
    21.03.2017 05:27
    +2

    Лет с 30 уже можно начинать активно вести здоровый образ жизни, почитать Курцвейла «Transcend. Девять шагов на пути к вечной жизни», и его же книжку про сингулярность. Разница между 30 и 45 не столь драматическая, если не угробить свой организм в процессе, что при желании сделать весьма просто.
    Если вы сами не деградируете во всех смыслах к этому возрасту, то я думаю в любом случае это будет лучше, даже учитывая предвзятое отношение работодателей к тем, кому «за».


  1. ijsgaus
    21.03.2017 06:23
    +3

    Мне 46. И не вижу ни одной из проблем указанных в статье. Собеседование в начале — но простите, непрофессиональность многих айчаров от возраста соискателя не зависит. Как раз много раз сталкивался с крайне положительным опытом работы в компаниях с молодым коллективом, там где есть дух ПРОРАММИРОВАНИЯ, знания и опыт всегда будут к месту. А проблемы с недостаточной квалификацией для ведущего российского разработчика — ну да, не все специализируются на тех задачах, которые нужны им. Кстати, мне очень интересно, а авторы React, Rust, Haskel, WPF смогли бы пройти их собеседование? Все же специалист по программированию не только и не столько специалист по мат алгоритмам.


    1. WinPooh73
      21.03.2017 13:04

      Вспоминается история, как то ли Томпсон, то ли Керниган не смог пройти внутреннюю гугловскую аттестацию на знание языка Си.


      1. firegurafiku
        23.03.2017 17:03

        Не могли бы вы поискать ссылку на эту историю?



  1. alexander_v_pryadko
    21.03.2017 06:23
    +5

    Как-то проводил собеседование, и пришел мужчина 80 лет. Он с ребятами (такими же по возрасту как он) с подачи зарубежного организатора окучивали стоматологический рынок земли обетованной. Спрашиваю в чем причина, зачем хочет уйти, ответ был поразителен: Надоели старые зануды.
    И вот тогда, в свои 38 я понял, что и 80 не предел. Дотянуть бы, а там разберемся!

    Александр, 42 года


    1. d1f
      21.03.2017 06:51
      +1

      > и 80 не предел.

      Вы его взяли?


      1. alexander_v_pryadko
        22.03.2017 22:21

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


  1. MarkNikitin
    21.03.2017 06:23

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


  1. f9k56
    21.03.2017 06:23
    -2

    Ясно куда. На Бали же.)


  1. dtrs
    21.03.2017 06:23

    Автомат Калашникова — это чтобы застрелиться?


    1. mike1
      21.03.2017 06:56
      +6

      Ага, конечный автомат Калашникова.


      1. fishca
        21.03.2017 14:44
        +1

        Существует мнение, что этот автомат является огнестрельным костылём…


      1. RomanArzumanyan
        21.03.2017 14:46
        +1

        И множество на 30 терминальных состояний.


        1. dipsy
          21.03.2017 16:27

          Вопрос на засыпку, боекомплект в АК это очередь или стек?


          1. mayorovp
            21.03.2017 16:28

            Сначала стек. В процессе работы элементы перекладываются в очередь.


            1. hdfan2
              22.03.2017 08:06
              -2

              А если разрядить его в очередь, то она превратится в стек.


          1. rg_software
            21.03.2017 16:36

            Для этого достаточно вспомнить, что у АК «магазин», а у конечного автомата (pushdown automaton) — «магазинная память».


          1. vasiliysenin
            27.03.2017 15:12

            LIFO
            https://ru.wikipedia.org/wiki/LIFO

            Абстрактный механизм LIFO, применяемый в вычислениях, реализуется в реальных структурах данных в виде стека, название которого совершенно очевидно имеет отношение к «пачке бумаги», «стопке тарелок» и т. п. (англ. stack переводится как «штабель, кипа, стопка»).


  1. FranzK
    21.03.2017 06:24

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

    А потом… потом я думаю посвящу себя квиркам браузеров. Хорошенько в них закопаюсь… Ох какие квирки, прям жду не дождусь


  1. Novosedoff
    21.03.2017 06:24
    -14

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


    1. devalone
      28.03.2017 21:57
      +2

      сам то понял, что написал?


  1. Raskolnikov2
    21.03.2017 06:24

    Даже не был уверен, кем стану: программистом или сисадмином.


    И стали программистом. А меня интересует вопрос: «Куда деваются сисадмины после 40?»


    1. dimsoft
      21.03.2017 19:56

      Меня тоже очень интересует
      38+


    1. Rohan66
      21.03.2017 19:56

      Уходят в безопасники! )))


    1. mike1
      21.03.2017 20:52

      Напишите об этом, когда Вам будет 40+. Кроме шуток, из моих знакомых сисадминов многие со временем переквалифицировались в программистов.


  1. VolCh
    21.03.2017 06:33
    +9

    — Но молодые специалисты это тоже знают. Почему мы должны платить вам на 15% больше?
    — Но у меня семья, дети, ипотека…

    Никогда не понимал подобных "причин" для обоснования повышенной по сравнению с другими зарплатой. Правда, обычно, такое характерно как раз для "молодых специалистов": "Я женился и хочу ипотеку — повысьте зарплату". Думал, к 40 годам ко всем приходит понимание, что твои проблемы никого не волнуют, ни за "выслугу лет", ни за "жену и детей" платить никто не будет, если это не явно заявленная политика фирмы. В основном платят за то, что ты можешь делать. Если к 40 годам не можешь сформулировать почему тебе надо хотя бы на 15% больше чем "студенту" платить, то, скорее всего, и не за что.


    1. mike1
      21.03.2017 07:00
      +6

      Это ироничный пример неверного поведения на собеседовании как интевьюруемого, так и интервьюирующегося. Оба стоят друг друга. Конечно, недопустимо ни приводить такую аргументацию, ни задавать вопросы по бумажке, не разбираясь в теме.
      </zanuda mode off>


      1. VolCh
        21.03.2017 12:13
        +1

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


    1. dmpas
      21.03.2017 19:56
      +4

      Никогда не понимал подобных «причин» для обоснования повышенной по сравнению с другими зарплатой

      Никогда не понимал причин, почему надо объяснять свою зарплату относительно других. «Я хочу» — это уже сама по себе достаточная причина хотеть такую зарплату. А платить или нет — это решать работодателю.

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

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


      1. VolCh
        21.03.2017 20:52
        +1

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


        1. nohuhu
          22.03.2017 07:22

          Обоснование может быть только рыночным. Мне сейчас платят X, я сижу на булках ровно и чувствую себя хорошо. Если я вам нужен, давайте X + 15%. Не даёте? Будьте здоровы, не чихайте.


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


          1. VolCh
            22.03.2017 11:42

            А если X и есть твоя реальная рыночная цена? Менять работу с рисками разного рода "не сложилось" из-за шанса, что получится развести текущее руководство на +15%? По-моему, за применение очень похожих скиллов есть уголовная ответственность.


            1. oxidmod
              22.03.2017 12:01
              +3

              Ну на самом деле «гоните бабло или я ухожу» это проиграшная стратегия.
              1. Нужно быть готовым уйти (иметь запасной аэродром или запас прочности на время поисков в крайнем случае)
              2. Даже если руководство прогнется, потмоу что вы ценный кадр и на вас многое держится, то отношение к вам в большинстве случаев сменится с «отличный надежный сотрудник» на «надо бы срочно подыскать кто сможет его заменить». И как только замена будет найдена, то вас уйдут или зделают так, что сами уйдете.
              3. Больше одного раза такое не прокатит, ибо после первого руководство будет готово к подобному повороту.

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

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

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


              1. VolCh
                22.03.2017 12:25

                Полностью согласен, особенно с пунктом 2, о котором многие вообще не думают почему-то.


              1. khim
                22.03.2017 18:54

                Больше одного раза такое не прокатит, ибо после первого руководство будет готово к подобному повороту.
                Прокатывает и 3 и 5 и 10 раз. Только с одним отличием: нужно не пугать тем, что вы уйдёте, а сходить на пару собеседований и вернуться с реальным предложением от команды куда вы, в принципе, были бы готовы реально уйти.

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

                А если такой компании всё никак не находится — то значит вы и стоите столько стоите, сколько вам платят — и нефиг кого-то шантажировать и расстраивать.


              1. nohuhu
                22.03.2017 21:30

                Ну на самом деле «гоните бабло или я ухожу» это проиграшная стратегия.

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


                По поводу пунктов: у вас такой опыт есть или вы теоретически рассуждаете? У меня есть, и он работает. Но только в том случае, если реально готов уйти в другое место и на руках предложение оттуда с конкретными цифрами.


                Вы посмотрите на это со стороны вашего начальника: он, может, и не против поднять вам зарплату, но ему ведь тоже какое-то обоснование нужно. Наличие предложения от другой конторы на X + Y% это железобетонный повод пойти к своему начальству и сказать: вот, смотри какой ценный кадр. Даже уходить не хочет, просто денег хочет. Давай удержим.


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


                1. oxidmod
                  23.03.2017 10:31

                  По поводу пунктов: у вас такой опыт есть или вы теоретически рассуждаете? У меня есть, и он работает. Но только в том случае, если реально готов уйти в другое место и на руках предложение оттуда с конкретными цифрами.


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

                  2. Так как я не практикую подход «башляйте или свалю», то в таких ситуациях я не бывал. Но был свидетелм двух случаев. В первом парень получил повышение, а через полтора месяца его увоилили. Вот прямо сразу как заказчик принял проект. Во втором случае парню ну и уходи.

                  3. Ну тут мое имхо


                  1. nohuhu
                    23.03.2017 21:18

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

                    Случаи разные бывают. Обычно когда решаешь уйти с работы, то для этого есть определённые причины: платят мало, не устраивает то и сё. А теперь представьте, что начальство предлагает и деньги поднять, и устранить то и сё. Будете срываться нипочему, или подумаете?


                    У меня были и такие ситуации, и не такие. Всё относительно.


                    Так как я не практикую подход «башляйте или свалю», то в таких ситуациях я не бывал.

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


                    1. oxidmod
                      24.03.2017 10:28

                      Случаи разные бывают. Обычно когда решаешь уйти с работы, то для этого есть определённые причины: платят мало, не устраивает то и сё. А теперь представьте, что начальство предлагает и деньги поднять, и устранить то и сё. Будете срываться нипочему, или подумаете?


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

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


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

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

                      ззы. У нас в Украине основная масса программистов работает как ЧП, потому уволить кого-либо это как два пальца об асфальт. Возможно потому я предпочитаю не делать «башляйте или свалю». Даже если забашляют, то уволить могут прямо через неделю, если появится достойная замена.


              1. alexeykuzmin0
                28.03.2017 13:09

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

                Сейчас я получаю X рублей, но мне дали оффер на 30% больше. Это меня расстраивает, я чувствую себя недооцененным в нашей компании, так что, если есть возможность, я бы хотел получить повышение зп, или бонус, или акции, или что угодно еще. Это не шантаж, если ответ будет «нет», я не уйду и приложу все усилия к тому, чтобы и дальше работать продуктивно, но, сам понимаешь, это все будет меня демотивировать.
                На моей практике никто ни разу не отказал и потом никаких козней не строил.
                Разумеется, это текст для случая, если уходить не хочешь. Если хочешь уходить — стоит сразу об этом сказать, но дать возможность обсудить варианты твоего удержания, просто из лояльности и уважения к текущему работодателю.


            1. nohuhu
              22.03.2017 20:48
              +4

              Мы с вами о разных рынках разговариваем? Рыночная цена === сколько платят или сколько готовы платить в другом месте. Если платят X, а хочется Y, то поди найди, где будут платить Y. Если найдётся и контракт на подписи, значит рыночная цена — Y. А если нет, то X. Чудес не бывает.


              А вот что делать, когда контракт уже на подписи — бежать или пытаться добиться повышения на текущем месте, это уже вопрос растяжимый.


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

              Ага, ещё есть томные грёзы работодателей добавить в УК статью за попытку уйти с текущего места. Даёшь крепостное право обратно в массы! Это для их же пользы!


              1. VolCh
                23.03.2017 11:21

                Я не про ситуацию, когда есть на руках конкретное предложение, а когда приходишь и говоришь "мне предложили +100%, давайте столько же или я уйду", прекрасно понимая что на рынке вряд ли получишь хотя бы +10%.


                1. nohuhu
                  23.03.2017 21:24

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


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


          1. zzzcpan
            22.03.2017 21:43
            +1

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

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

            А вот по поводу рыночного обоснования, если это не аутстаф и аутсорс, то компаниям все-таки выгодно удерживать работников как можно дольше. И они вполне могут платить гораздо выше рыночных денег тем, кто будет за это бороться. Опять же, все в руках работника, soft skills и все остальное.


            1. nohuhu
              22.03.2017 21:56

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

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


              Если я приду к начальству и скажу: хочу +10% к зарплате, это не даст результата. Если я приду и скажу: у меня на руках job offer от другой конторы, они дают мне +15%, это даст результат. Потому что конкуренция за ресурс (мою голову). И результатом этой конкуренции является рыночная цена в +15%.


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


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


              1. edogs
                22.03.2017 22:03
                +2

                Никто никогда не будет платить выше рынка, в том-то и фикус
                Четкого рынка не существует в принципе, вот в чем фокус.
                Кого-то контора наняла когда ей остро нужен был сотрудник и переплатила 20%, теперь фиг понизишь. Кого-то контора наняла когда ему остро нужна была работа и недоплачивает 20% и будет недоплачивать, т.к. уйдет этот — придет другой, вакансия не критична. Кто-то согласился на 20% зарплату ниже потому что компания ближе к дому на 2 часа. Кому-то заплатили на 20% выше потому что мало кандидатур согласных ездить 2 часа к ним в офис в е-ня.
                Рынок — миф. Для средней квалификации разброс в 30% в зарплате норма. Чем выше квалификация — тем меньше вакансий и специалистов — тем больше разброс.


                1. nikolayv81
                  23.03.2017 20:15
                  +1

                  Это и есть рынок, просто в нём не 2 измерения как в упрощённой модели а гораздо больше.


                1. Idot
                  23.03.2017 20:31
                  +1

                  Рынок — миф. Для средней квалификации разброс в 30% в зарплате норма. Чем выше квалификация — тем меньше вакансий и специалистов — тем больше разброс.

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


    1. edogs
      21.03.2017 21:35
      +1

      Никогда не понимал подобных «причин» для обоснования повышенной по сравнению с другими зарплатой.. Думал, к 40 годам ко всем приходит понимание, что твои проблемы никого не волнуют, ни за «выслугу лет», ни за «жену и детей» платить никто не будет, если это не явно заявленная политика фирмы. В основном платят за то, что ты можешь делать.
      Это потому что Вы со стороны руководителя на это не смотрели. Платят еще и за надежность.
      -хочу на 15% больше.
      -почему?
      -я не сменю работу, доведу проект до конца, буду стабилен
      -с чего бы?
      -у меня дети, ипотека, куда я денусь — надо пахать.
      В упомянутом Вами сценарии 3 и 4 фраза пропущены как самоочевидные обоим сторонам. Обременения и платежи подразумевают что человек не забьет на все и не слиняет за лишней пару рублей или обещания карьеры.
      Мы как-то фрилансера нанимали молодого, через месяц после работы над проектом пропал, появился через месяц с шикарной отмазой (цитируем по памяти) «ну лето, пиво, расслабился, решил отдохнуть, живу у мамы, кормит сестра, чего мне у тебя на проекте ж-пу рвать, другой найду»©


      1. VolCh
        22.03.2017 11:39
        +1

        Как по мне, то требование повысить зарплату на 15% из-за "-у меня дети, ипотека, куда я денусь" — первый звоночек что не откажется от ещё +15% в другом месте. Собственно сам такой по большому счёту. Когда один, то размер зарплаты после какого-то уровня — дело десятое. Когда семья, у которой, как правило есть неудовлетворенные материальные потребности из-за ограниченного бюджета, да ещё под гнетом платежей типа ипотечных, то несколько по другому смотришь даже на +5%. Грубо, если я получаю N на текущем месте и знаю, что N мне заплатят "где угодно", то предложение N+5% буду рассматривать серьезно, в случае наличия долгосрочных обязательств.


        1. edogs
          22.03.2017 16:11

          первый звоночек что не откажется от ещё +15% в другом месте.
          Может да, может нет. Но если ипотечника будет удерживать необходимость стабильности, то не ипотечника она удерживать не будет.

          Когда семья, у которой, как правило есть неудовлетворенные материальные потребности из-за ограниченного бюджета, да ещё под гнетом платежей типа ипотечных, то несколько по другому смотришь даже на +5%.
          И по другому смотришь на вероятность потерять 100% на неизвестный срок.
          У Вас ипотека-то есть?:) Можно ужать расходы на еду, на транспорт, даже на пиво в конце концов. Но ипотечный платеж — это то что надо выкладывать каждый месяц и риск потери этой возможности — не стоит ни 5%, ни 15%, ни даже 30% прибавки.


          1. VolCh
            22.03.2017 17:22

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


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


            1. edogs
              22.03.2017 19:25
              -1

              Но ипотечник гораздо больше заинтересован в увеличении дохода, чем неипотечник.
              У ипотечника приоритеты «стабильность — доход», у неипотечника «доход- что-то еще, что-то еще — стабильность». В этом суть.
              Но даже если принять Вашу точку зрения, то получится то же самое в результате. Если ипотечник больше заинтересован в увеличении дохода, значит если ему не повысить доход, то есть риск его ухода, а значит для сохранения кадра доход придется повысить. Поэтому и аргументируют ипотекой. Мы с этим не согласны, но логически это верно.


              1. Razaz
                22.03.2017 19:30

                Ну вы как-то слишко однобоко. Корректнее было бы баланс между стабильностью и уровнем зп.

                Как вы например относитесь к аргументации — предлагают +25%, так как зарплаты на рынке выросли, а отказываться не хочется, так как ипотека? :)


              1. VolCh
                22.03.2017 19:33

                Моя точка зрения: ипотека, жена и дети не должны влиять на принятие решения о приёме на работу и(или) повышении зарплаты. Второй вариант — должны влиять отрицательно, если кандидат/сотрудник об этом сообщает как о причине почему его нужно брать или повышать ему зарплату. Исключение разве что готовность ему платить выше рынка, чтобы он понимал, что большей зарплаты он нигде не получит.


                1. edogs
                  22.03.2017 19:45
                  -1

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


                  1. VolCh
                    22.03.2017 19:54

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


                    1. nohuhu
                      22.03.2017 20:53

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


                      Похоже, в России есть ещё над чем работать законодателям.


                      1. DistortNeo
                        22.03.2017 21:13
                        +1

                        А в России некоторым работодателям для этого даже не нужно ничего спрашивать — сами найдут всю информацию.


                        1. nohuhu
                          22.03.2017 21:16

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


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


                          1. edogs
                            22.03.2017 21:22
                            +1

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


                            1. nohuhu
                              22.03.2017 21:37

                              Напротив, ее необходимо учитывать.

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


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

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


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


                              1. edogs
                                22.03.2017 21:47

                                Каким образом?
                                Про Big Data слышали?
                                В америке есть анекдот.
                                Человек идет по улице и падает в открытый люк, потом в другой, потом в третий. Кто он? Борец за права дорожных люков. Ему нельзя дискриминировать дорожные люки по признаку их открытия.

                                Кто-то дал лично вам особое разрешение на то, чтобы судить людей по их обстоятельствам?
                                Наука. Эволюция. Опыт.
                                Нам правда не хочется на полном серьезе обсуждать обиженного 300 фунтового 70 летнего деда выигравшего суд против стрип-клуба barely legal teens, когда ему отказали узнав о весе и возрасте и поле. Это настолько махровая фигня, что мы уже давно на это не ведемся, так что не прокатит — идите на фиг:)

                                Это рынок, он так работает. В чём проблема?
                                Проблема в том, что Вы на рынке пытаетесь ставить во главу угла «как бы кого не обидеть», а не «как бы сделать бизнес успешным».
                                Эдак завтра Вы запретите спрашивать информацию об образовании и опыте и знаниях, т.к. «а кто сказал что человек без всего этого будет хуже работать»? А вдруг будет? Случаи-то бывали, когда человек с улицы работал лучше чем образованный профи с опытом. Так что теперь — и это запретить спрашивать? В маразм не впадайте.


                                1. nohuhu
                                  22.03.2017 22:16
                                  -1

                                  Про Big Data слышали?

                                  Слышал много шума из ничего. Каким образом это относится к обсуждаемой теме дискриминации при приёме на работу?


                                  В америке есть анекдот.

                                  Сколько лет здесь живу, анекдота не слышал. Это очередное из разряда "мы тут придумали, чтобы поржать с поцонами?"


                                  Наука. Эволюция. Опыт.

                                  Правая рука ещё не дёргается в попытках изобразить зиг хайль?


                                  Проблема в том, что Вы на рынке пытаетесь ставить во главу угла «как бы кого не обидеть», а не «как бы сделать бизнес успешным».

                                  Я не вижу, каким образом запрет дискриминации помешал бы делать бизнес успешным, а вот наборот — легко. Подумайте, поймёте.


                                  Эдак завтра Вы запретите спрашивать информацию об образовании и опыте и знаниях,

                                  У вас юношеский максимализм ещё не отбулькал, или просто врождённая страсть всё доводить до абсурда? Именно об этом речь и шла: когда вам нужно делать работу, то вас должна интересовать способность человека выполнить эту работу: квалификация, опыт, и т.д. А возраст, наличие семьи и финансовые обстоятельства к работе отношения не имеют.


                                  В маразм не впадайте.

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


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


                                  1. 0xd34df00d
                                    22.03.2017 22:23

                                    Я не вижу, каким образом запрет дискриминации помешал бы делать бизнес успешным, а вот наборот — легко. Подумайте, поймёте.

                                    Если живёте здесь, то поймёте, что это at-will employment в абсолюте без соответствующего билля о правах.


                                    У вас юношеский максимализм ещё не отбулькал, или просто врождённая страсть всё доводить до абсурда?

                                    Лично я предпочитаю называть это методом доказательства от противного. Или у вас все нечётные числа тоже простые, а 9 — это просто доведение до абсурда?


                                    1. nohuhu
                                      22.03.2017 22:33

                                      Если живёте здесь, то поймёте, что это at-will employment в абсолюте без соответствующего билля о правах.

                                      Я не знаю, где именно вы имеете в виду под словом "здесь". Я в Калифорнии живу, и работаю на калифорнийскую же компанию. Для меня at-will employment означает, что я могу уйти в любой момент, или меня могут уволить в любой момент без объяснения причин. Чем это отличается от ситуации в России? Я там давно не работаю, за изменениями в ТК не слежу.


                                      Лично я предпочитаю называть это методом доказательства от противного.

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


                                      1. 0xd34df00d
                                        23.03.2017 03:49

                                        Я не знаю, где именно вы имеете в виду под словом «здесь».

                                        «Сколько лет здесь живу, анекдота не слышал.»


                                        Чем это отличается от ситуации в России? Я там давно не работаю, за изменениями в ТК не слежу.

                                        В России вас уйти при отсутствии вашего на то желания не могут. Хотя я тоже уже пару лет не слежу.


                                        Доказательство «от противного» возможно, если есть чётко определённая противоположность. В математике это бывает, в жизни не всегда.

                                        Мне вот интересно, как люди вообще живут, не применяя формальный метод к жизни?


                                        1. nohuhu
                                          23.03.2017 20:25

                                          В России вас уйти при отсутствии вашего на то желания не могут.

                                          Прогулы, пьянство и прочее служебное несоответствие уже отменили? Чудны дела творятся.


                                          Мне вот интересно, как люди вообще живут, не применяя формальный метод к жизни?

                                          Очень неплохо, спасибо. Пожаловаться особо не на что.


                                          1. 0xd34df00d
                                            24.03.2017 02:19

                                            Прогулы, пьянство и прочее служебное несоответствие уже отменили? Чудны дела творятся.

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


                                            1. dimm_ddr
                                              24.03.2017 11:19

                                              работника, хорошо исполняющего свои рабочие обязанности, а не прогуливающего и пьющего


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


                                              1. 0xd34df00d
                                                24.03.2017 18:58

                                                Безусловно. Но уравнивать американское at-will employment и российский ТК несколько некорректно, ИМХО.


                                            1. senglory
                                              25.03.2017 00:18

                                              Вы, молодой человек, еще наивно полагаете, что Вас под закон подставить нельзя. Зря так думаете. При наличии системы контроля доступа на раз-два организовать Вам прогул просто потому, что карточка Ваша «не читается». Плюс манипуляции с премиальной частью зарплаты. Да, с титановыми нервами можно послать их в суд и даже выиграть его. Но сможете ли Вы потом находиться в том месте с 9-18, когда там будет против Вас постоянная война? Ах да, еще на Вашем рабочем компе найти что-то из УК и привет.


                                              1. 0xd34df00d
                                                25.03.2017 17:58

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


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


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


                                        1. w4r_dr1v3r
                                          25.03.2017 17:16
                                          +1

                                          — Чем это отличается от ситуации в России?

                                          — Я там давно не работаю, за изменениями в ТК не слежу. В России вас уйти при отсутствии вашего на то желания не могут. Хотя я тоже уже пару лет не слежу.

                                          Это что, размышления евреев, неспешно пьющих немецкое пиво на отдыхе в Гоа и постоянно проживающих в Англии о судьбе рынка труда в России?


                                          1. 0xd34df00d
                                            25.03.2017 17:58

                                            А почему ви спрашиваете? Ви таки антисемит?


                                            1. w4r_dr1v3r
                                              25.03.2017 21:00

                                              Таки не могу ответить — NDA.


                                  1. edogs
                                    22.03.2017 22:38

                                    nohuhu,
                                    Вместо ответа по сути сообщения весь Ваш пост — переходы на личности.
                                    Потрясающая иллюстрация Вашего лицемерия, после Ваших лозунгов «личность человека не важна, важны результаты его деятельности».


                              1. 0xd34df00d
                                22.03.2017 22:00

                                Понятия свободного рынка и свободного договора дали на это разрешение.


                                И один разговор, если вам не нравится, как реагируют на ваши ответы о вашем семейном/жилищном статусе, другой — если эти данные собирают из открытых источников, и третий — если из закрытых.


                                1. nohuhu
                                  22.03.2017 22:23
                                  -1

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


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


                                  А вы живите там, где вам нравится. На то он и свободный рынок, правда?


                                  1. 0xd34df00d
                                    22.03.2017 22:27
                                    +1

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

                                    Запрещено напрямую — намайнят по открытым источникам. Не спалились по фейсбучеку? Вы, конечно, молодец, но возьмут средний ответ по вашему возрасту-полу.


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

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


                                    Законы и другие штуки в России мне не нравились, поэтому я там больше не живу. А вы живите там, где вам нравится. На то он и свободный рынок, правда?

                                    Did you just assume my country?


                                    1. nohuhu
                                      22.03.2017 22:43

                                      Вы, конечно, молодец, но возьмут средний ответ по вашему возрасту-полу.

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


                                      Кстати, а как вы угадаете мой возраст по телефонному интервью? У вас модуль телепатии так тонко настроен? Круто, завидую.


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

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


                                      Did you just assume my country?

                                      Читайте внимательнее написанное, не гадайте между строк. Речь шла о дискриминации при приёме на работу, которая по эту сторону лужи запрещена законом, а по ту… честно, не знаю. Мне здесь больше нравится, а где нравится вам — это исключительно ваше дело.


                                      1. 0xd34df00d
                                        23.03.2017 03:57
                                        +1

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

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


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


                                        Во-вторых, в лучшем случае вы узнаете об этом критерии оценки по соответствующему вопросу. В худшем — не узнаете совсем.


                                        Кстати, а как вы угадаете мой возраст по телефонному интервью?

                                        Ну, у вас в резюме же есть прошлые места работ? Если у вас первое место работы упомянуто в 90-м году, то вам физически едва ли меньше 30. А скорее — не меньше сорока.


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


                                        Вы жениться собираетесь или делать работу за деньги? Зачем так драматизировать?

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


                                        Не подойдёте, уволитесь и уйдёте в другое место.

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


                                        Речь шла о дискриминации при приёме на работу, которая по эту сторону лужи запрещена законом

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


                                        1. nohuhu
                                          23.03.2017 20:59
                                          -1

                                          Можно спорить до посинения… но это не так.

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


                                          Потому что если я сижу допоздна на работу

                                          Если вы сидите на работе допоздна, это говорит о вашем неумении сделать свою работу в отведённое для неё время. Более ни о чём.


                                          потому, что у меня спиногрызы и ипотека

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


                                          б) Судя по использованию слова "спиногрызы", детей у вас либо нет, либо они для вас обуза. Не надо судить людей по себе. Да и вообще судить людей это плохая идея.


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


                                          Ну, у вас в резюме же есть прошлые места работ?

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


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


                                          Если у меня семья и ипотека, то в гробу я видал всех этих задротов

                                          Судя по всему, у вас нет ни того, ни другого. О чём мы разговариваем?


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

                                          Посмотрите в зеркало, пристально. Различаете на лбу третий глаз и огненную надпись "я велик и интересен любому чуваку"? Нет? Какая жалость.


                                          Давайте сначала действительно разберёмся с дискриминацией людей без высшего образования

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


                                          А кроме говноконтор типа Yahoo! и Google, где ценится бумажка, есть ещё много других компаний. Страна большая, работы хватит.


                                          а потом продолжим эту тему, как смотрите?

                                          Можно и не продолжать, мне с вами скучно.


                                          1. Idot
                                            23.03.2017 21:13

                                            Если вы сидите на работе допоздна, это говорит о вашем неумении сделать свою работу в отведённое для неё время. Более ни о чём.

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


                                            1. nohuhu
                                              23.03.2017 23:00

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


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


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


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


                                              Один коллега по бывшему цеху любил фразу: Plan your work. Work your plan. В ней есть сермяжная мудрость.


                                              1. 0xd34df00d
                                                24.03.2017 02:45

                                                А как надо уметь отдыхать-то? Что после работы правильно делать? Если я прихожу домой, часик туплю, а потом сажусь за хобби-проект, или за книги, или что-то такое, это норм или не норм и я скоро выгорю и умру?


                                                1. nohuhu
                                                  24.03.2017 03:40

                                                  А как надо уметь отдыхать-то? Что после работы правильно делать?

                                                  Моя практика показывает, что лучше всего заниматься чем-нибудь, отвлечённым от компьютеров вообще. Я вот на днях фрезер прикупил, в выходные возьму старшего сына в охапку и пойдём в какаш(*) ящички для верстака строгать. А до этого кофемашину починял, забавная штука оказалась. Унутре у неё неонка и булькатель.


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

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


                                                  (*) "Какаш" это в переводе со слов среднего, "гараж". Но там обычно как раз какаш, сколько ни прибирайся. :(


                                                  1. 0xd34df00d
                                                    24.03.2017 19:00
                                                    +1

                                                    Моя практика показывает, что заниматься компьютерами норм. Код тоже пописывать, всякое такое. Уж больше половины жизни это делаю, а всё не устал как-то.


                                                    А книги хорошо, это да. Только чем принципиально грамотное и продуманное изучение книги по матану отличается от ковыряния в коде? А книги, не знаю, по новому языку программирования?


                                          1. 0xd34df00d
                                            24.03.2017 02:44

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

                                            Вы бы до конца дочитали пост, что ли. И даже дочитали, судя по комментариям в ответ, так зачем оставлять эту ремарку?


                                            Если вы сидите на работе допоздна, это говорит о вашем неумении сделать свою работу в отведённое для неё время. Более ни о чём.

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


                                            Судя по использованию слова «спиногрызы», детей у вас либо нет, либо они для вас обуза.

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


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

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


                                            Но речь-то, обратите внимание, не о вас, а о конфликте интересов, непонимании поколений и всяком таком.


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

                                            А как вы туда попадаете? Одним гитхабом, что ли?


                                            Просто посмотрели на мой код на гитхабе

                                            В моём гитхабе коммиты примерно с 2007-го. Можно предположить, что мне не меньше 25, а скорее — лет 30 (на самом деле таки 25). Гитхаб, конечно, молодой, но ещё через 10 лет люди, которые начали коммитить в 2007-м, как раз будут подбираться к сорока годам.


                                            Судя по всему, у вас нет ни того, ни другого. О чём мы разговариваем?

                                            О том, что вы меня не поймёте, а я — вас.


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


                                            Посмотрите в зеркало, пристально. Различаете на лбу третий глаз и огненную надпись «я велик и интересен любому чуваку»? Нет? Какая жалость.

                                            Непонятно, как вы сделали вывод о наличии таковой надписи, ну да ладно.


                                            А кроме говноконтор типа Yahoo! и Google, где ценится бумажка, есть ещё много других компаний. Страна большая, работы хватит.

                                            Хватит, конечно. Но только, если не секрет, вы в какой области работаете?


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


                                            Можно и не продолжать, мне с вами скучно.

                                            Прям жалко стало :(


                                            1. nohuhu
                                              24.03.2017 23:16

                                              так зачем оставлять эту ремарку?

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


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

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


                                              Вы в курсе, что код, написанный на рабочем лаптопе, или даже просто находясь в офисе в нерабочее время, принадлежит компании? И распоряжаться этим кодом может только компания?


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


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


                                              Или ныкаюсь от жены и детей.
                                              Или ныкаюсь от гнетущей пустоты холостяцкого дома.
                                              Да мало ли.

                                              Если бы я был вашим начальником, то мне было бы совершенно всё равно, от кого вы ныкаетесь, это ваши половые сложности. Зато мне был бы совершенно не пофигу сам факт вашего нахождения на рабочем месте в неположенное время. Потому что если, скажем, вы налабали свой прототип ИИ и он таки всех зохавал, то прилетит за это нарушение ТК мне. Или вы потребуете чего-нибудь за свой прототип, чтобы он не зохавал, тоже разбираться мне. Или даже просто премии попросите за переработку, оно мне надо?


                                              Не говоря уже о потенциальных нарушениях режима доступа к информации, буде таковой наличествует. И о многих ещё других штуках, о которых вы, как простой наёмный инженегр, понятия не имеете и не думаете. В мелких говностартапах всем пофигу, потому что до проверки DOL они как правило не доживают. В более крупных компаниях вам таких вольностей не увидеть.


                                              Но речь-то, обратите внимание, не о вас, а о конфликте интересов, непонимании поколений и всяком таком.

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


                                              Вы работу делаете? Деньги за неё получаете? Далее свободны.


                                              А как вы туда попадаете? Одним гитхабом, что ли?

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


                                              В моём гитхабе коммиты примерно с 2007-го. Можно предположить, что мне не меньше 25, а скорее — лет 30 (на самом деле таки 25).

                                              А на моём гитхабе коммиты с 2011, потому что до этого я пользовался локальными Subversion, а ещё раньше локальными CVS. А в программерском резюме опыт трудоустройства начинается с 2012, потому что до этого я занимался совершенно другими штуками.


                                              Давайте, вычисляйте мой возраст.


                                              О том, что вы меня не поймёте, а я — вас.

                                              В свои 25 я тоже так думал. Знаете, почему люди старше вас обычно с вами не спорят? Потому что скучно и времени жалко. Плавали, знаем. Были точно такими же балбесами и думали точно такие же мысли. Со временем они надоедают.


                                              Но только, если не секрет, вы в какой области работаете?

                                              Жабаскрипт лабаю, будь он неладен. В печёнках уже сидит, но кормят хорошо, поэтому каторгу приходится терпеть.


                                              Однако, опыт показывает, что наличие образования таки немножечко расширяет перспективы как само по себе (если не заборостроительный кончать, конечно), так и за счёт формальных критериев, как бы это ни было печально.

                                              Образование !== диплому, а перспективы вполне расширяет умение решать задачи, которые никто больше не может решить, в сроки, которые никто больше не может обеспечить.


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


                                              1. w4r_dr1v3r
                                                25.03.2017 17:32

                                                Вас занятно читать.

                                                Вы в курсе, что код, написанный на рабочем лаптопе, или даже просто находясь в офисе в нерабочее время, принадлежит компании? И распоряжаться этим кодом может только компания?

                                                Вы в курсе, что в РФ всем на это положить? Доказательства возьмите у Сысоева.


                                                1. nohuhu
                                                  28.03.2017 01:26

                                                  Вы в курсе, что в РФ всем на это положить? Доказательства возьмите у Сысоева.

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


                                                  Какого Сысоева вы имеете в виду, я не в курсе. Фамилия распространённая, сам знаю нескольких Сысоевых.


                                                  А вышенаписанный абзац относился в основном не к РФ, цитирую:


                                                  особенно если вы работаете в каком-либо из соединённых штатов.

                                                  И да, я рад, что вам занятно меня читать. Развлекаться, так вместе. :)


                                                  1. w4r_dr1v3r
                                                    28.03.2017 05:49

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


                                              1. 0xd34df00d
                                                25.03.2017 18:10
                                                +1

                                                Вы в курсе, что код, написанный на рабочем лаптопе, или даже просто находясь в офисе в нерабочее время, принадлежит компании? И распоряжаться этим кодом может только компания?

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


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

                                                За какое такое нарушение ТК в США? Я не знаю про Калифорнию конкретно, но вроде как в остальных штатах закон не запрещает вам хоть круглые сутки на работе сидеть.


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

                                                Потребую — откажете — я сделаю выводы, вы сделаете выводы, в чём проблема?


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

                                                И который возможен только в нерабочее время?


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

                                                Ну, как минимум, не во всех.


                                                Вы почему-то исходите из неверной посылки, что ваш внутренний мир кому-то интересен и до вас кому-то есть дело.

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


                                                Давайте, вычисляйте мой возраст.

                                                Окей, конкретно с вами будет сложнее. Но в среднем такой метод вполне прокатывает.


                                                Были точно такими же балбесами и думали точно такие же мысли. Со временем они надоедают.

                                                Если бы я получал по доллару каждый раз, когда это слышал…


                                                Жабаскрипт лабаю, будь он неладен.

                                                Это объясняет, спасибо.


                                                А я пишу околоматанный код на плюсах и на хаскеле. Такие дела.


                                                Образование !== диплому

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


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

                                                Приведёте, любопытства ради, пару примеров таковых задач из вашей практики?


                                                и предлагали они, по странному совпадению, тоже 100к. Только не рублей в месяц, а долларов в год.

                                                С релокейшном или прям в Москве столько платить готовы были?


                                                1. nohuhu
                                                  28.03.2017 03:12

                                                  А вы точно со мной спорите?

                                                  Я с вами даже не спорю, в данном случае просто советую. Опять же исходя из личного опыта.


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

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


                                                  У адвокатов логика очень особенная, инженерам её понять очень трудно. Просто я на это уже напарывался, а вы ещё нет. Хорошо, если и не придётся.


                                                  За какое такое нарушение ТК в США?

                                                  В США есть National Labor Code, и у штатов может быть свой локальный. В Калифорнии весьма продвинутый по сравнению, скажем, с Техасом. Всех подробностей я не знаю, т.к. labor law в мои интересы до сих пор входил только очень умеренно.


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

                                                  Кроме прямых запретов, бывают другие соображения. Пример: вы сидите на рабочем месте поздно ночью, лабаете свой ИИ. У вас начинает болеть спина из-за неудобного стула. День болит, месяц болит, вы идёте к врачу. Врач вам говорит: поздравляю, у вас искривление позвоночника, нужна операция стоимостью $чуть-более-чем-дохрена. Вы идёте в суд и подаёте иск на компанию, требуя компенсации прямого ущерба в виде стоимости операции + моральный ущерб + всё, что придумает ваш адвокат.


                                                  Установить, заболела ли у вас спина в результате нарушения правил OSHA или это с работой не связано, кто должен оплачивать операцию и прочие обстоятельства сможет только суд. Чтобы дойти до суда, понадобится в лучшем случае пара лет + Очень Дохрена Денег на адвокатов. Или можно просто выплатить вам компенсацию в $сколько-нибудь, чтобы покрыть операцию и на пиво с чипсами осталось, попутно подписав бумаги о том, что вы больше претензий не имеете.


                                                  В любом случае компания в проигрыше. А как можно этого избежать? Проще всего — выгнать вас нафиг с рабочего места после окончания смены.


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


                                                  Потребую — откажете — я сделаю выводы, вы сделаете выводы, в чём проблема?

                                                  См. выше. Судебные иски это очень дорого и больно.


                                                  И который возможен только в нерабочее время?

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


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

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


                                                  Окей, конкретно с вами будет сложнее. Но в среднем такой метод вполне прокатывает.

                                                  Это у вас профессиональная деформация такая, всех усреднять? :)


                                                  Это объясняет, спасибо.
                                                  А я пишу околоматанный код на плюсах и на хаскеле. Такие дела.

                                                  Очень рад, что моё признание в интимной близости с JavaScript позволило вам слегка самоутвердиться и почувствовать себя чуточку круче меня. Мне это ничего не стоило, а вам приятно. :)


                                                  Приведёте, любопытства ради, пару примеров таковых задач из вашей практики?

                                                  Пару не приведу, долго писать. Вот один:


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


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


                                                  CTO провайдера, один из первых CCIE в России, звонит мне и честно говорит: ваше решение на базе вендора A мне совершенно не нравится, но Cisco утверждает, что в сроки уложиться вообще нереально. Я, говорит, пообещал владельцам, что 1 января колл-центр будет работать. Если ты мне дашь своё личное слово, что он заработает, то мы выберем вас. Я говорю: 100% функциональности не обещаю, но звонки пойдут и операторы смогут работать, это гарантия.


                                                  Мы каким-то чудом выигрываем тендер, размещаем заказ. Я уже говорил, что это была чуточку лотерея? Ну, мы победители по жизни, и минимально нужная часть оборудования прошла таможню и была доставлена на объект вечером 26 декабря. Первая очередь внедрения была рассчитана на 100 операторских мест, обычно это две недели работы. Я вышел из их помещения в 4:30 утра 30-го декабря, когда мы прогнали тестовые звонки и убедились, что всё работает.


                                                  Я отлично помню дату и время, потому что когда вышел на улицу, обнаружил, что кто-то заблокировал мою машину между сугробом и немаленьким мусорным контейнером. Видимо, в спешке я как-то неудачно припарковался и занял чьё-то место, на что мне любезно указали перед уходом на новогодние каникулы. 30-е декабря, 4:30 утра, промзона на юге Москвы… А мне домой в Королёв… Машину я всё-таки вытащил из сугроба враскачку, 4x4 и хорошая резина творят чудеса. Особенно когда больше суток на ногах и все чувства обострены лёгким ночным морозцем. :)


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


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


                                                  С релокейшном или прям в Москве столько платить готовы были?

                                                  В Москве конечно, 100к зарплата + соцпакет + всякие плюшки типа корпоративной машины и проч. Плюс, тут надо специфику рынка понимать — позицию мне предлагали очень вкусную, в плане перспектив всяких разных, в т.ч. финансовых. Даже оставаясь в рамках закона можно было иметь очень некислую прибавку к пенсии, а уж если плюнуть и как все...


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


                                                  1. 0xd34df00d
                                                    28.03.2017 06:35

                                                    Я с вами даже не спорю, в данном случае просто советую. Опять же исходя из личного опыта.

                                                    Удивился, не увидев совета не пихать пальцы в розетку и не сушить кошку в микроволновке. Как же жить теперь.


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

                                                    Крайним в том, что проявил инициативу? Окей.


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

                                                    Если я сплю и вижу, как писать код, то мне даже в голову не придёт на кого-то подавать в суд.


                                                    В любом случае компания в проигрыше. А как можно этого избежать? Проще всего — выгнать вас нафиг с рабочего места после окончания смены. Потому что если у вас спина разболелась дома, это уже ваши проблемы.

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


                                                    См. выше. Судебные иски это очень дорого и больно.

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


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

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


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

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


                                                    Это у вас профессиональная деформация такая, всех усреднять? :)

                                                    Да, конечно, корректнее было бы написать что-то вроде «для людей, которые указывают сильно прошлые места работы либо которые давно ведут гитхаб, это прокатит, и я подозреваю, что таких людей большинство в интересующей нас категории людей», но это писать слишком долго :(


                                                    Очень рад, что моё признание в интимной близости с JavaScript позволило вам слегка самоутвердиться и почувствовать себя чуточку круче меня. Мне это ничего не стоило, а вам приятно. :)

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


                                                    Вот один:

                                                    А какие предпосылки у вас были предполагать, что вы уложитесь и успеете?


                                      1. nikolayv81
                                        24.03.2017 08:23

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


                                      1. w4r_dr1v3r
                                        25.03.2017 17:21

                                        Кстати, а как вы угадаете мой возраст по телефонному интервью? У вас модуль телепатии так тонко настроен? Круто, завидую.


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


                                  1. edogs
                                    22.03.2017 22:48
                                    +1

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

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

                                    Кроме того, Вы явно троллите. Мы не верим в том, что Вы неспособны понять разницу между «запрещено задавать вопросы о расе» и «запрещено отказывать в работе на основании расы». А Ваша агитка в пользу первого свидетельствует о том, что Вы пытаетесь подменить второе в пользу первого.


                                    1. khim
                                      22.03.2017 23:23

                                      Мы не верим в том, что Вы неспособны понять разницу между «запрещено задавать вопросы о расе» и «запрещено отказывать в работе на основании расы».
                                      Законом запрещено последнее.

                                      А Ваша агитка в пользу первого свидетельствует о том, что Вы пытаетесь подменить второе в пользу первого.
                                      Это не агитка. Это то, что вдалбливается всем интервьюерам (мне, в том числе) каждый год. Под роспись. Потому что если где-то в суде, не дай бог, как-то всплывёт письмо в котором будет сказано «что-то староват кандидат — ну его нафиг», то фирма налетит на очень хорошие бабки.

                                      Есть юристы, которые на этом специализируются просто. Это неплохой бизнес.


                                      1. edogs
                                        23.03.2017 00:10

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

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


                                        1. khim
                                          23.03.2017 01:02

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

                                          поэтому вопрос о поле тут закономерен, а отказ с полом будет не связан.
                                          Ага. Конечно. Нет, вы конечно можете попробовать, но на последнем тренинге нам настоятельно не рекомедовалось использовать слова «he» и «she» при описании отзыва.

                                          А вот это подмена лечения болезни (дискриминация по возрасту) лечением симптомов (а давайте запретим спрашивать возраст). И это печальнее всего.
                                          И чего ж тут такого печального, интересно? Это — работает. Не идеально — но работает.


                                          1. edogs
                                            23.03.2017 01:10

                                            И даже в этом случае — вы будете регулярно «налетать на бабки» и отстаивать своё право не брать на работу мужчин.
                                            Так мы не отрицаем что будем, мы говорим о том, что это неправильно.

                                            И чего ж тут такого печального, интересно? Это — работает. Не идеально — но работает.
                                            Оно работает в плане избавления от штрафов, лечит симптомы. А проблему — усугубляет.
                                            «не думай о красной обезьяне»© — это не тот метод.


                                            1. khim
                                              23.03.2017 01:37

                                              «не думай о красной обезьяне»© — это не тот метод.
                                              Если человеку не давать возможность обсуждать «юнцов» или «стариков», то «думать о красной обезьяне» — становится гораздо сложнее.

                                              Оно работает в плане избавления от штрафов, лечит симптомы. А проблему — усугубляет.
                                              Ну если для вас проблема — это какие-то глубоко внутренние философские переживания, то да, может быть. Если для вас проблема — устроиться на работу (вот как тут, например), то нет — лечится именно проблема. Женщин и пожилых разработчиках я в США видел гораздо больше, чем в России.


                                              1. edogs
                                                23.03.2017 13:36

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

                                                Ну если для вас проблема — это какие-то глубоко внутренние философские переживания, то да, может быть. Если для вас проблема — устроиться на работу (вот как тут, например), то нет — лечится именно проблема
                                                Э, вообще мы не о себе говорили, а о тех у кого с этим проблема.
                                                Но еще раз — лечение симптомов, а не болезни, откладывает и усугубляет проблему.
                                                Утрированный пример. Допустим у человека паталогическая фобия красного цвет, но о ней нельзя спрашивать. И его нанимают в коллектив где все фанаты red socks, о чем их тоже нельзя было спрашивать. Человек нанят — симптомов нет. Но как насколько эффективно сможет работать, как будет психологически травмирован, насколько здоровая атмосфера будет в коллективе, чем это закончится? Поэтому лечение симптомов (не спрашивать) приводит к усугублению проблемы (неэффективности).


                                                1. khim
                                                  23.03.2017 18:41

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

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

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

                                                  Утрированный пример. Допустим у человека паталогическая фобия красного цвет, но о ней нельзя спрашивать.
                                                  Вот только не надо доводить до абсурда, а? Человек, который патологически боится женщин — таки болен. И если ему некомфортно работать в коллективе, где есть представительницы прекрасного пола — то лучше бы ему пройти курс реабилитации, а не требовать, чтобы его фобии «уважали».


                                                  1. edogs
                                                    23.03.2017 21:50

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

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

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


                                                    1. khim
                                                      24.03.2017 18:07

                                                      Ах. Вы так ничего и не поняли.

                                                      Вы не запретили ему об этом говорить.
                                                      Об этом именно что запрещено говорить. Вообще. В принципе. Где-бы-то-ни-было.

                                                      Вы запретили ему об этом говорить во время интервью на работе.
                                                      Просто во время интервью проще нарваться на судебный иск, только и всего. Тренинг, объясняющий почему не нужно определённые вещи делать — касается как служебной переписки так и разговоров в курилке.

                                                      Дав тем самым повод говорить еще больше во всех остальных местах.
                                                      Если вы будете об этом «говорить еще больше во всех остальных местах» то вас сначала вызовет ваш менеджер, а потом — могу и уволить, извините.

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

                                                      Вы вообще понимаете, что Вы только что сказали? Похоже нет.
                                                      Я-то прекрасно понимаю. Но, как известно свобода вашего кулака кончается там, где начинается нос вашего соседа! И вопрос «а кто решает по каким параметрам можно дискриминировать, а по каким нельзя» — решается примерно на этом уровне.

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


                                                      1. edogs
                                                        25.03.2017 22:22
                                                        +1

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

                                                        как известно свобода вашего кулака кончается там, где начинается нос вашего соседа!
                                                        При условии что он свой нос не сует куда не надо.


                                                  1. 0xd34df00d
                                                    24.03.2017 02:47

                                                    Человек, который патологически боится женщин — таки болен. И если ему некомфортно работать в коллективе, где есть представительницы прекрасного пола — то лучше бы ему пройти курс реабилитации, а не требовать, чтобы его фобии «уважали».

                                                    Ну вот, записали в больные :(


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


                                                    1. dimm_ddr
                                                      24.03.2017 11:32

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


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

                                                      P.S. Вся эта тирада не означает что я согласен с вашим оппонентом.


                                                      1. 0xd34df00d
                                                        24.03.2017 19:01

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


                                                        1. khim
                                                          24.03.2017 20:43

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

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


                                                          1. 0xd34df00d
                                                            25.03.2017 18:11

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


                                                            Объективность, беспристрастность, вот это всё.


                                                            1. khim
                                                              25.03.2017 20:48

                                                              Найдёте источник — покажите. На практике — это не работает.


                                                    1. khim
                                                      24.03.2017 18:12

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

                                                      Задача всех этих тренингов — не сделать вас «белым и пушистым интервьюером», а тупо — минимизировать риски работодателя…


                                                      1. rg_software
                                                        25.03.2017 04:55

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


                                            1. 0xd34df00d
                                              23.03.2017 04:03

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


                                        1. 0xd34df00d
                                          23.03.2017 04:01
                                          +1

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

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


                                          Более того, почему первый дискомфорт социально приемлем, а второй — нет?


                      1. edogs
                        22.03.2017 21:21

                        Похоже, в России есть ещё над чем работать законодателям.
                        Не россии, а многим странам.
                        -Знаешь как называется научный подход к различиям между людьми?
                        -Расизм.


                      1. 0xd34df00d
                        22.03.2017 21:31
                        +1

                        Любопытства ради, вы готовы отказаться от информации о том, что происходит в компании (от методов стимуляции сотрудников до атмосферы)? Ну от всяких glassdoor и прочее.


                        Потому что непонятно, почему подобная защита информации должна работать только в одну сторону.


                        1. nohuhu
                          22.03.2017 21:46
                          -2

                          Любопытства ради, вы готовы отказаться от информации о том, что происходит в компании (от методов стимуляции сотрудников до атмосферы)? Ну от всяких glassdoor и прочее.

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


                          Потому что непонятно, почему подобная защита информации должна работать только в одну сторону.

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


                    1. edogs
                      22.03.2017 21:11

                      Минус это у Вас или нет это не важно, важно что у Вас это фактор.
                      А раз это фактор, то узнать его о работнике важно, вот и всё.


            1. nikolayv81
              23.03.2017 20:22

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


      1. alexeykuzmin0
        28.03.2017 13:19

        Казалось бы, дети и ипотека означают, что существенная часть зарплаты тратится на обязательные расходы, то есть, повышение зп даже процентов на 10 уже приведет к существенному росту количества свободных денег, то есть, такой человек должен быть менее надежен. Конечно, он не уйдет «в никуда», но на 1.5х к зарплате уйдет куда более охотно, чем если бы у него не было детей и ипотеки.
        Я как-то неправильно рассуждаю?
        PS: у самого дети и ипотека, не надо писать «вырастешь — поймешь».


  1. TheDeadOne
    21.03.2017 08:16
    +3

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


  1. intsurfer
    21.03.2017 08:48
    +1

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


  1. Vlad_fox
    21.03.2017 11:43
    -1

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

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

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


  1. marshinov
    21.03.2017 12:55

    Я бы без проблем взял на работу сорокалетнего программиста при хорошем знании ASP.NET MVC и  ES6 + React, нормальной производительности труда и нормальном характере (без закидонов). Не могу согласиться с тем, что вот прям таки все компании в восторге от найма двадцатилетних. К сожалению, наша система подготовки программистов — очень слабая, сотрудников приходится обучать на работе.


  1. DistortNeo
    21.03.2017 13:17

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

    А что, возможны какие-то другие варианты?


  1. kartvladek
    21.03.2017 13:23
    +4

    Мне 48 почти, неоднократно проходил собеседования в IT компаниях средних масштабов (Питер И Киев). Предлагали сотрудничество практически сразу, один из ключевых факторов — именно мой возраст. Поинтересовался почему-же выбирают меня из достаточного количества претендентов возрастом 20-35. Ответ был прост — адекватность и реальное понимание поставленных задач. Надоел «молодняк», который может в один из дней просто не появиться в офисе. Это практически цитата. Так то!


    1. VolCh
      21.03.2017 13:28

      Подтверждаю про оба города :)


    1. Cromathaar
      21.03.2017 14:09
      +1

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


  1. iperov
    21.03.2017 16:39

    Все, что должен знать программист, чтобы его после 40 лет не выбросили на Помойку,

    Целая статья на основе чьих-то личных интерпретаций.

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


    1. w4r_dr1v3r
      25.03.2017 18:12

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


  1. aqwAntonio
    21.03.2017 17:41

    ну вообще сложно это все. тугодумство с возврастом растет, лень подкатываает. свободного времени меньше, здоровье не то. иногда излишнее знание подводных камней начинает тормозить сомнениями там, где молодняк сделал бы не лучше, по быстрее. а работа старпером под руководством молодняка? поверьте, в статье не раскрыта и малая часть того с чем сталкиваешься после 30..40...50


    1. mike1
      21.03.2017 21:01

      Согласен, что тема раскрыта не до конца. You are welcome! Оставьте коммент об этом или потрудитесь побольше и напишите целую статью на эту тему.
      Но надо сказать, что «под руководством молодняка» я не работал. Не иду работать в фирмы, где руководство вызывает у меня малейшие сомнения в своей адекватности. Думаю, что дело не в возрасте начальства, а в адекватности.


      1. aqwAntonio
        21.03.2017 23:26

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


  1. kurojneko
    21.03.2017 19:56
    +1

    На личных наблюдениях программисты за 40 уходят в отдел сишников, которые пилят очень серъезную штуку )) (Там просто все дядьки около 50, старые фидошники)
    Я немного устал от веба, самое динамичное направление вроде как. Реально хоть каждый день какую нибудь новую штуку можно учить. Я пошел в «железные» программисты ) чистый С, электроника, verilog, ассемблер наконец ) Интересно, не скучно ) смешно смотреть на достаточно замшелые принципы С, после новомодного веба.


    1. mike1
      21.03.2017 21:04
      +1

      Я и сам С-шник с 2000 года и теперь уже практически не признаю ничего, кроме С и С++. Остальное — тормозно! Еще asm рулит.
      Пилю очень сильно серьезную штуку!
      И куда можно дальше идти после этого? :)


      1. DistortNeo
        21.03.2017 21:58

        А как смотрите на С++11 и последующие стандарты?


        1. mike1
          21.03.2017 22:02

          Отлично смотрю! Спасибо моему текущему работодателю, если вдруг он это читает, за то, что дал мне возможность это ежедневно практиковать!


          1. lovermann
            22.03.2017 01:11

            Михаил, вы уволены.


            1. mike1
              22.03.2017 07:05

              Аааа!!! Не губите, Порфирий Петрович! :) Я ж ничего плохого про свою компанию не сказал!


  1. Prolych
    21.03.2017 19:57

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

    До 80-ти ещё тридцать лет. Полагаю, что 30-ти лет хватит, чтобы написать то, на что в молодсти не хватило времени.


    1. VolCh
      21.03.2017 20:55
      +2

      Что значит "пора"? Далеко не все хотят своё дело в принципе, а некоторые переросли этап "сам себе начальник" и только если работы совсем не будет начнут думать в эту сторону.


      1. Prolych
        21.03.2017 22:39
        -1

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


        1. VolCh
          22.03.2017 11:53

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


          А по личному опыту "своего дела" на себя "горбатиться" приходиться гораздо больше, причём без всяких гарантий того, что получишь хотя бы свою рыночную стоимость как специалиста. Как по мне, то следует разделять роли специалиста и бизнесмена. Если уж решил их совместить, то начинать надо с заключения (хотя бы мысленного) трудового договора самого с собой :) Чтобы четко видеть что ты получил за обычную 40-часовую неделю программиста, а что как бизнесмен, а то легко не заметить на фоне формально увеличившихся доходов, что как специалист ты стал получать раза в полтора меньше в час, просто работать стал по 80 часов в неделю, а как бизнесмен, тратя часов по 20 в неделю вообще выходишь в минус, даже не смотря на то, что нашел лоха, который по 80 часов горбатится на тебя, получая в 1,5 раза меньше своей нормальной ставки.


          1. Prolych
            22.03.2017 12:36

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


            1. mike1
              22.03.2017 13:11

              Я как раз такой. Для меня очень важно чтобы меня похвалили. Даже деньги особо не важны. Например, я делаю все задачи очень быстро и качественно, за последние полгода никто не нашёл в моих пуллреквестах ни единой бани, решения задач очень полные и качественные, внимательно продуманные. Делаю в 2-3 раза больше чем молодёжь и в 4 раза более качественно. И требую всего ничего — чтобы меня похвалили. И получаю от этого моральное удовлетворение.


              1. kartvladek
                22.03.2017 14:52

                Да согласен полностью за исключением финансов — без материальной компенсации, адекватной решенной задаче, интерес пропадает


                1. mike1
                  22.03.2017 15:03

                  Да, но если моральная составляющая приходит автоматически и ее не надо измерять, то материальная трудноизмерима, да и запариваться на такие вычисления не хочется. Есть зарплата — и спасибо большое работодателю.


                  1. kartvladek
                    22.03.2017 15:07

                    Измерить материальную компенсацию возможно вашим согласием — если согласны, то она и будет подходящей. А моральная — да, важна и очень. Бывает пару недель закрываешь задачу, закрыл таки, отправил на просмотр — и… тишина. Да, принята, да — все Ок. Ну а «молодец спасибо» — язык отвалится?


            1. VolCh
              22.03.2017 13:35

              Моя мечта не такая. Одно место или тридцать поменяю за оставшиеся лет 30 мне без разницы, хотя тридцать даже лучше. Работаю не от забора до обеда. А вот гарантированный доход, в размере достаточном чтобы не думать о бытовых проблемах, законно решаемых за деньги — важно. Риски неполучения доходов за продукт, в разработке которого я участвую в роли ведущего разработчика или руководителя разработки, без гарантированного приличного дохода, я отдаю работодателю. Если риски не реализуются, то он получит значительную часть доходов, а если реализуются, то заплатит мне из своего кармана.


              Если когда-нибудь государство или кто-то другой обеспечит мне гарантированный доход порядка 300 000 рублей в текущих ценах, то я буду разрабатывать проекты чисто по техническому интересу без всякой оглядки на коммерческие перспективы. А сейчас большинство проектов имеют и финансовый интерес в виде получения пускай и небольшого (относительно потенциальных доходов от проекта), но гарантированного заработка.


            1. 0xd34df00d
              22.03.2017 19:08

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


              Ваша надменность мне непонятна.


    1. mike1
      21.03.2017 21:07

      Есть у меня проектик, о котором я мечтаю, но пока даже не приблизился к своей мечте. Работать надо, панимаишь. Мечта ничего не даст, кроме морального удовлетворения, а работа денежки приносит. Кушать тоже хочется. Когда мечтать? К тому же как там у Макаревича? «И мечтой уже быть перестала...»


      1. Prolych
        21.03.2017 22:42

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


        1. mike1
          22.03.2017 13:14

          Да, относительно молодой и расходы просто огромны: семья, ипотека, дети...


        1. alexeykuzmin0
          28.03.2017 14:14

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


          1. VolCh
            28.03.2017 14:34

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


            1. alexeykuzmin0
              28.03.2017 15:28

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


              1. VolCh
                28.03.2017 16:31

                А каковы гарантии, что деньги не окажутся выкинутыми на ветер?


                1. alexeykuzmin0
                  28.03.2017 16:39

                  Не понимаю, при чем тут какие-то «гарантии». Риски в нашем мире всегда есть, а асфальта бояться — вообще не ходить.
                  Даже если 99%, что результат будет нулевой, неужели оставшийся 1% вероятности лично продлить жизнь представителей человечества (и свою в первую очередь) того не стоит?

                  Но это вариант в первую очередь для больших сумм (а, скорее всего, если они у вас есть — то и навыки управления людьми уже есть, что резко повышает шансы на успех). А в пределах $1mln любую сумму можно эффективно потратить на благо семьи. Грубо говоря, высшее образование пяти детям оплатить.


        1. oxidmod
          28.03.2017 15:09

          мне бы ваши проблемы))


  1. kuftachev
    21.03.2017 19:57
    +1

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


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


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


    1. mike1
      21.03.2017 21:46

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

      Моральное удовлетворение и материальное подкрепление ему.


    1. spot62
      22.03.2017 21:12

      вообще, как бы приходится нанимать конкретных людей, а не штатные единицы по расписанию

      опыт говорит об обратном: даже те, кто не будет — будет;)


  1. 50kiloofcabbage
    21.03.2017 19:57

    Проблема не в том, что тебе 40 лет, и ты программист, или ещё кто-то.
    Проблема в том, что окружающая действительность на 1/6 части суши не требует компетентности. Ты можешь быть талантливым программистом, но будешь загнивать под руководством молодого управленца, который руководит проектом, а поскольку он давно в школе учил бейсик, он прекрасно знает, как надо строить архитектуру приложения, и что «вот эту функцию» ну точно можно реализовать к понедельнику, потому что в понедельник презентация, и надо показать продукт жизнедеятельности.
    Смена места работы проблемы не решает, потому что, во-первых, у тебя действительно семья и ты не можешь всё бросить и уехать в поисках лучшей жизни куда-либо, а во-вторых, на потенциально новом месте на тебя будут смотреть как на лузера. Потому что в 40 лет, по мнению кадровичек, человек не может менять работу только потому, что предыдущая ему надоела, а его компетентность однозначно подвергается сомнению. Поэтому работать он должен практически бесплатно, тем более, он же не знает сотен этих современных штучек, технологий, модных тенденций и т.д. (о которых никто и не вспомнит через год-другой).
    Не требуется удовлетворенность результатами. Бывает даже, что важен процесс, а не результат — под процесс (ну скажем, разработки мощной информационной системы) выделяются деньги, большие деньги, которые необходимо освоить, делается нечто, которое потом благополучно «забывается». В таких условиях сгниёт любой специалист. Но кто-то находит в этом выход: можно умело дожить до пенсии, получать отличную зарплату, не сделать ничего полезного, и совершенно не напрягаться по этому поводу. Главное — свято верить, что «наше дело правое».


    1. kartvladek
      22.03.2017 14:59

      Удивлен вашему мнению о кадровичках. Им глубоко фиолетово на ваши мотивы по смене работы, а если вы — специалист, то заполучить вас — это именно то, за что им платят зарплату. Видел их изрядно )))


      1. VolCh
        22.03.2017 15:13

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


  1. Xeroxed
    21.03.2017 19:57

    Случайно не является ли девяносто девять процентов вышеприведённого списка как мусор?..

    Лекарство «чтобы не зачерстветь»:

    1. определиться с языком, и чем раньше, тем лучше;
    2. изучать его;
    3. научиться обходиться без библиотек — это и чистота кода, и переосмысление, и опыт, и всё вместе.

    Добра.


    1. mike1
      21.03.2017 21:51

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

      Определились, изучили от корки до корки, читаем по нему самый «свежак», последние стандарты, можем обойтись совсем-совсем без библиотек, даже без stl родимого, написав его с нуля (а зачем писать? можно закопипастить, он же неплох, как грится писали люди with decades of experience, а лучше вряд ли получится :), и что дальше? И дальше что?


      1. nikolayv81
        24.03.2017 08:57

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


  1. b0rmann
    21.03.2017 19:57

    уговорили. иду застрелится.


    1. mike1
      21.03.2017 21:55

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


      1. w4r_dr1v3r
        25.03.2017 19:14

        Вы ещё картинку кита прикрепите, ну. Фиолетового. Для пущей убедительности.


  1. borisxm
    21.03.2017 19:57
    +2

    Один из вариантов работает у нас: человек-программист, 47 лет, знает C, Delphi, SQL и имеет огромный опыт реализации различных задач. Скорость написания кода однозначно ниже, чем у молодых коллег. Но никто его увольнять не собирается, потому что молодежь выдает решение через 2 дня и еще неделю ходит по граблям и правит баги, а он выдает код через неделю, но уже отлаженный и обложенный тестами по самое не хочу. Плюс, всегда дает ценные предложения еще на этапе постановки задачи.

    Менять профессию, равно как и изучать все «новомодное» вне имеющегося профиля он не хочет, и прямо сказал — когда я перестану справляться или стану мешать, то просто увольте. Что касается зарплаты, то получает он на 15-20% больше, чем 22-х летние работники при соизмеримом объеме работы.


  1. FedjaNew
    21.03.2017 19:57
    +2

    Где-то в начале 90-х наблюдал такую картину:
    Сначала было массовое указание в вакансиях, что требуются сотрудники не старше 30 лет.
    Через несколько лет уже «не старше 35». Потом — «не старше 40». Потом указание возраста в вакансиях было запрещено.
    Но по факту, откликов на резюме молодых будет в разы больше.

    По запросам же работодателей у меня есть такой пример:
    «Требуется девушка до 25 лет, имеющая двух взрослых детей, с 10-летним опытом работы, умеющая вести переговоры на английском и китайском, со знанием основных языков программирования. Одна из 20-ти обязанностей — объяснение нашим партнерам, что написали программисты».

    > мне ведь еще минимум лет 40 работать
    2017 — 40 = 1977
    Как раз в этом году я познакомился с Алголом-60 и «Минск-22».


    1. sshikov
      21.03.2017 21:57

      >Как раз в этом году я познакомился с Алголом-60 и «Минск-22».

      Наш человек. Правда, у меня была М-222, Минск как-то прошел мимо. Зато я видел и работал на МИР-2, это вообще редкость, при том удивительная.


    1. kartvladek
      22.03.2017 15:03

      Не могу плюсануть — поэтому поддерживаю буквами


  1. raydac
    21.03.2017 19:57

    имхо, лучше не испытывать систему неформальных российских взаимоотношений, а переезжать заграницу, я так и сделал, а то в рф уже в 36 можно начать нарываться на «у нас молодой коллектив»


    1. w4r_dr1v3r
      25.03.2017 19:24

      у нас молодой коллектив

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

      Адекватный эйчар всегда оценит юмор бывалого, а неадекват высадится и собес закроется, экономя ваше время, нервы и деньги.

      ПС: всё написанное выше взято из личного опыта и публикуется строго на правах «имхо».


      1. mike1
        25.03.2017 21:00

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


        1. w4r_dr1v3r
          25.03.2017 21:13

          Собственно это напрямую сопрягается с тем, что я описал выше в части описания стартапа.


          1. mike1
            25.03.2017 21:18

            Ну заемные средства — это да. Но неужели наспех и на коленке там сляпано? O) И это давно уже не стартап. Уже лет 15.


            1. w4r_dr1v3r
              25.03.2017 21:25

              Не стартап? Яндекс? Сириусли? Ну то есть по вашему он не создаёт в рамках своей операционной структуры\деятельности вот такие вот микропроекты, хотя бы в исследовательских целях? Он по вашему что, кретин?


              1. mike1
                25.03.2017 21:48

                Под стартапом я понимаю то, что еще не «на бою». А наш «грааль мечты» в строю уже дай бог с 2000 года.
                Микростартапы внутри себя может и создает.


                1. w4r_dr1v3r
                  25.03.2017 22:00

                  Ну, по сравнению с андронным коллайдером и ВКонтакт — детская песочница, так что понятие «боя» весьма условно, на самом деле; а иное отношение к понятию — суть снобизм и яйцкмерка, но я понял вас.


      1. VolCh
        27.03.2017 12:43

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


  1. mrhru
    21.03.2017 19:57
    +2

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


    Жека, 52 года
    PS. Офигеть! Уже 52 года!


    1. lovermann
      22.03.2017 01:03

      Блин, Жека, ты счастливый парень! Я хочу пойти по твоим стопам (без сарказма).
      Всегда привлекали люди, молодые умом! + те в карму.


  1. joker2k1
    21.03.2017 19:57
    +1

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


    1. mike1
      21.03.2017 21:38

      Согласен на 100% и полностью поддерживаю!


  1. dmnBrest
    21.03.2017 19:57

    А в чем проблема работать удаленно? Удаленно всем пофиг на твой возраст. Я уже много лет работаю из дома и абсолютно не знаю сколько кому лет других программистов в командах и никто никогда не спрашивал сколько мне лет (напрямую не спрашивал). Есть куча проектов где главное чтобы ты выполнял задачу. Делаешь задачу — работаешь, не делаешь — не работаешь. Да и к 40 годам уже пора иметь опыт и имя за плечами которые позволят устраиваться на работу без прохождения собеседований. А если программист в 40 лет пытается пройти квест на профпригодность как рядовой выпускник технического вуза, то это уже о многом говорит. Никому не нужен на фирмах человек в возрасте с опытом школьника. А если опыт соотвествующий годам, то фирмы сами захотят вас в штат.


  1. shakolo
    21.03.2017 19:57

    Мне 34, более 5 лет опыта консультанта по внедрению. До этого работал веб-мастером) была такая профессия.
    Проектов больше нет, потому что гладиолус. Хотя до 2014 были проекты с компаниями национального масштаба, в том числе и в ближнем зарубежье.
    Переквалифицируюсь в программисты, прошел bootcamp, писали на си, с++, java, сейчас пишу на python, впереди еще sql, mvc и небольшой pet-проект и поиск работы.
    Короче, жизнь повернулась так, что приходится не думать, о том что же я буду делать после 40. Пришлось принять тот факт, что карьера завернутая на внутренний рынок пошла по п***де, хотя сулила профиты гораздо большие, чем у моих друзей девов (в планах было выйти на уровень партнера).
    Так вот, сейчас я думаю, что зря я не начал карьеру программиста эдак 10-15 лет назад, хотя были предпосылки и возможности. А автору рекомендую задуматься, что бы он делал после 40, если бы он не были программистом. Имхо, в других профессиях все обстоит не лучше, а скорее гораздо хуже (и в плане денег и в плане предвзятом отношении) и молодых специалистов не меньше.


    1. mike1
      21.03.2017 21:37
      +1

      Тьфу-тьфу. Хорошо, что я — программист. Все же мой труд ценится. Как-никак, но ценится.
      А Вы слишком на многих языках пишете для начала. И на С, и на Java, и на python. Вот вы знаете/используете декораторы и метаклассы в python? Или там не знаю продвинутые фичи в С++? Уж не знаю какой пример привести. Variadic templates и perfect forwarding? Уж лучше освоить что-то одно, но очень глубоко.


      1. DistortNeo
        21.03.2017 22:25

        Вообще говоря, каждый уважающий себя программист должен знать (хорошо знать) какой-нибудь язык низкого уровня (например, С), среднего уровня (например, C#, Java) и скриптовый язык (например, Python, Perl).


        1. edogs
          21.03.2017 22:31
          +1

          язык низкого уровня (например, С)
          :facepalm:
          asm, не?


          1. DistortNeo
            21.03.2017 23:03

            Обратите внимание на слово "например".


            1. edogs
              21.03.2017 23:14

              Нет той вселенной где С это язык низкого уровня.
              Даже в виде «примера».


              1. DistortNeo
                22.03.2017 00:26

                Есть. В моей вселенной (обработка изображений) C и C++ — языки низкого уровня. Причина проста: использование интринсиков полностью заменяет ассемблер и даже превосходит его. Код на ассмеблере требует на порядок больше затрат на написание и поддержку, а выхлоп получается нулевой — код может получиться даже медленнее плюсового за счёт оптимизаций компилятора.


                C#/Java — языки высокого уровня для написания интерфейса для C++ кода.


                Python/Matlab — языки скриптового уровня для быстрого прототипирования и исследований


                1. edogs
                  22.03.2017 00:45

                  Было бы неплохо что бы определения из Вашей вселенной там и оставались. Потому что у Вас все перевернуто с ног на голову, ассемблер у Вас видите ли не низкоуровневый, потому что Вы тратите больше затрат на написание и поддержку и получаете на нем более медленный код. О_о?! WTF?!

                  Во всех остальных вселенных язык нижнего уровня это язык непосредственно машинных кодов и ни С ни С++ к ним никоим образом не относятся.
                  asm стопудово да, smali с небольшой натяжкой.


                  1. DistortNeo
                    22.03.2017 01:15
                    +2

                    Во всех остальных вселенных язык нижнего уровня это язык непосредственно машинных кодов и ни С ни С++ к ним никоим образом не относятся.

                    Всё относительно. Относительно Java C является языком низкого уровня, а относительно ассемблера — высокого. Сложность систем возрастает, и если в 80-е язык С был языком высокого уровня, то сейчас у меня не поворачивается язык назвать его высокоуровневым.


                    Моё утверждение относилось к тому, что полезно знать языки с разными уровнями абстракций, чтобы не писать пару дней на С++ то, что на питоне делается за час, и не писать на питоне то, что будет работать на порядки медленнее, чем на C++.


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

                    Где я это утверждаю?


                    О_о?! WTF?!

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


                    1. edogs
                      22.03.2017 01:36
                      -1

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

                      И никакие Ваши рассуждизмы о том, что си Вам кажется слишком низким, а ассемблер слишком медленным этого не изменят. 2*2=4, вне зависимости от того кажется Вам 4 слишком маленьким числом или нет.

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


                      1. DistortNeo
                        22.03.2017 02:47
                        +1

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


                        Да, по классификации по учебнику единственный язык низкого уровня — это семейство ассемблеров, а всё остальное — языки высокого уровня. В 60-е годы, когда было введено определение языков низкого и высокого уровней, оно было актуально.


                        Сейчас же определение в таком виде не имеет никакого смысла и нуждается в доработке, потому что оно делит языки на чёрное и белое — ассемблер (доля — 2% во версии TIOBE) и все остальные. Причём все остальные — вне зависимости от уровня абстракций. Вы же правда не ставите в один ряд С и Python?


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

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


                        1. mike1
                          22.03.2017 13:32

                          Господа, не надо флеймить и засорять ветку. Все все прекрасно знают — что такое С, что такое asm, а флеймят.


                        1. edogs
                          22.03.2017 16:05

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

                          Отсутствие подобных академических знаний (да, я не знал, что С — язык высокого, а не низкого уровня) мне почему-то совершенно не мешает программировать.
                          Как минимум мешает адекватно дискутировать — говорите одно, подразумеваете другое.
                          С другой стороны, возможно и программировать тоже.
                          Понимаете, если Вы говорите «язык низкого уровня» подразумевая «С», то что нам, например, думать когда Вы скажете «ООП» или «инкапсуляция» или «наследование»? Может у Вас и на эти случаи свои определения?

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


                      1. YgReEk
                        22.03.2017 14:26

                        Я, конечно, извиняюсь, но 2*2 = 1 mod 3. По определению колец вычетов :)
                        Так что определения — они не универсальны, и надо бы уточнять каким именно вы пользуетесь, раз уж хотите к ним апеллировать.
                        </zanuda mode off>


                    1. khim
                      22.03.2017 19:00
                      -1

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

                      А зато видел другое: выходила новая версия процессора — и старый код, скомпилированный с новыми инструкциями работал быстрее, чем старый код, написанный на ассемблере.

                      Написать код на ассемдлере — это полдела, это ещё можно себе представить. Но переписывать его каждые год-два — это уже перебор.


                      1. DistortNeo
                        22.03.2017 19:05
                        +2

                        Ни разу такого не видел.

                        Я такое увидел, когда решил попробовать Intel Compiler
                        До этого же пытался писать узкие места на ассемблере


                        1. khim
                          22.03.2017 20:31

                          Я такое увидел, когда решил попробовать Intel Compiler
                          Если только вы не попали на известный разработчикам ICC peephole (который суть руками же написанный код), то этого обычно не происходит.

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


                  1. w4r_dr1v3r
                    25.03.2017 19:29

                    Во всех остальных вселенных


                    Меньше LSD, товарищи!!! Переходите на зелёный чай :)


        1. 0xd34df00d
          22.03.2017 19:17
          -2

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


          1. DistortNeo
            22.03.2017 19:23
            +2

            А чем шелл не скриптовый язык? Вполне подходит.


            Питон нужен, например, чтобы построить график. Можно, конечно, на любимом C++ вывести цифры в файл, а затем подцепить его через Excel/gnuplot, но продвинутая молодёжь быстрее решит эту задачу с помощью Python.


            1. 0xd34df00d
              22.03.2017 19:36
              -2

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


              И откуда у вас эти самые цифры-то берутся? У меня это, как правило, код на C++ (потому что вычислительный эксперимент и надо быстро), и куда проще, на мой взгляд, за минуту с отключённым мозгом наваять цикл, который выводит циферки в gnuplot-ready-формат, чем подключать что-то питонистое в пайплайн. Да и рядом, как правило, оказывается цикл, который выводит те же или чуть другие циферки в виде TeX-таблички.


      1. shakolo
        21.03.2017 23:13

        Спасибо за совет, но мне нравится понимать разницу между языками и в целом развитие языков программирования. По-сути мы изучали базу (сложности, рекурсия, ООП), некоторые задачи писали и на си и на php, что бы понимать в чем особенности каждого. Python в процессе, декораторы да, использую. На очереди книга по ассемблеру. По итогу в принципе уже могу выбирать куда углубляться =)


  1. echi
    21.03.2017 19:57
    +1

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

    Агентство поставило нам около двадцати человек с солидным опытом, а собственными силами найдены разработчики 25-30 лет.

    Общее впечатление от первой группы полностью перекликается с данным постом. Депрессивное, гнетущее, склонное к конкуренции мировосприятие. Запросы около 200 тысяч, знание актуальных технологий на уровне «да ладно, завтра выучу». Технически собеседовать часто было невозможно — сплошная апелляция к опыту, уважению и т.д. Приходилось прерывать собеседование и спрашивать, действительно человек хочет на эту позицию? Не будет ли ему скучно? Хоть кто-то сказал бы свое «нет». Напротив, человек упорно рассказывает о былых годах, о своих проектах, пытаясь на всякий случай победить в собеседовании. Игра с ненулевой суммой, главное отличие от нового поколения с win-win «старичков». Идеальное собеседование для такого кандидата было бы, если я погуглил факты из его резюме и просто восхищался, не в коем случае не оскорбляя вопросами, сказал бы «да», даже если это было бы собеседование на должность джуниора, которая ему не нужна.

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

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

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

    Так вот, какой смысл нанимать 40+ разработчика, работающего по Negative Driven Development за 200К или середнячка, знающего свое место за 100-150К? Опыт, мотивация пары не сломавшихся сеньеров вполне покрывает потребности группы разработки.

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


    1. mike1
      21.03.2017 21:23

      Мне 43. :) Бысто отвечу на Ваши простые вопросы и перейду к сложным :) По зарплате совсем не требователен. Но ничто уже не привлекает (опять пересыпать из пустого в порожнее? перекладывать из одного контейнера в другой?). И Ваша фирма тоже, наверно, не привлекла бы :) Если бы попал вдруг на собеседование и понял, что компания неинтересна — так и сказал бы и сразу бы ушел :)


    1. DistortNeo
      21.03.2017 23:02

      На самом деле хотелки такие высокие из-за:


      1. Чрезмерно высокой квалификации, которая не нужна работодателю.
      2. Высокой зарплаты на предыдущем месте работы.
      3. Желания побороть отсутствия интереса к работе денежной мотивацией.

      Наверное, стоит просто сменить область и стать снова junior?


      1. Idot
        22.03.2017 18:24

        Забыли:
        пункт 4. наличие семьи с подросшими детьми, которым не только одним пелёнки требуются.
        пункт 5. родители на пенсии.


        PS Даже, просто наличие девушки/подруги/жены/нужное_вписать заметно повышает хотелки по зарплате в сравнении с её отсутствием.


        1. DistortNeo
          22.03.2017 19:12

          Высокие расходы не являются оправданием высоких запросов.


          Пункт 4 компенсируется отсутствием расходов на жильё. Если в 25-35 лет львиная доля расходов — это съём или ипотека, то к 40 годам хорошо уже иметь собственное жильё, тогда освободившиеся деньги можно тратить на детей.


          Пункт 5 актуален и для 25-30-летних.


          1. Razaz
            22.03.2017 19:17
            +1

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

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


            1. spot62
              22.03.2017 21:06

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


              1. Razaz
                22.03.2017 23:37

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


              1. VolCh
                23.03.2017 11:30

                С точки зрения работодателя неочевидно, почему он должен платить работнику больше, если у того жена, дети и ипотека, если он может платить одинокому тому, кто об этом ничего не говорит, на 50% меньше. А вот очень многим работникам это очевидно — у семейного расходов больше,


                1. 0xd34df00d
                  23.03.2017 16:50

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


                  1. Idot
                    23.03.2017 17:34

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


                    1. 0xd34df00d
                      23.03.2017 17:47

                      У этого вопроса две части, про желание и про наглость соответственно. С желанием-то никто не спорит, оно вполне объяснимо.


                  1. VolCh
                    27.03.2017 13:50

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


      1. Idot
        22.03.2017 18:43
        +1

        Наверное, стоит просто сменить область и стать снова junior?

        Порадуйте Вашу жену известием, что Вы теперь будете получать зарплату junior'а, и расскажите об её реакции.


        1. DistortNeo
          22.03.2017 19:17

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


          1. Idot
            22.03.2017 19:56

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


            1. DistortNeo
              22.03.2017 20:01

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


            1. VolCh
              22.03.2017 20:02

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


              1. Idot
                22.03.2017 20:08

                Тогда добавляем:
                пункт 6. создание подушки безопасности.


                Что опять же повышает хотелки.


                PS если джуниор сидит на шее у своих родителей, то он пользуется родительской подушкой безопасности.


        1. VolCh
          22.03.2017 19:35
          +1

          Любящая жена ответит: "не переживай о деньгах — прорвёмся, лишь бы ты на работу не ходил как на каторгу, пускай даже не срываяь на нас".


          1. nohuhu
            23.03.2017 00:18

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


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


            1. VolCh
              23.03.2017 14:02

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


              И речь не о "мне скучно", а о "каторга, а не работа, пускай и кормят хорошо".


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


              1. nohuhu
                23.03.2017 22:09

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

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


                Вы готовы больше работать, меньше кушать и взять на себя детей, чтобы поддержать жену и дать ей возможность осуществить мечту жизни? Безоговорочное "да"? Поздравляю, вы — любящий муж.


                А если вдруг потеря трудоспособности

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


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

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


                то тоже развод?

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


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


                И речь не о "мне скучно", а о "каторга, а не работа, пускай и кормят хорошо".

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


                А желание всё бросить и поменять без учёта интересов своей же семьи и есть самодурство в чистом виде.


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


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


                1. 0xd34df00d
                  24.03.2017 02:50

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

                  Это уже какое-то жонглирование словами.


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


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


                  1. nohuhu
                    25.03.2017 01:02

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

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


                    Only football gives us thrills, rock'n'roll just pays the bills. ©


                    1. 0xd34df00d
                      25.03.2017 18:12
                      +1

                      В худшей — это в какой? Жить с бюджетом в пару тыщ рублей в месяц мне тоже приходилось, хорошее время было, кстати, светлое такое.


                      Самореализация не идентична работе, конечно, но куда лучше и эффективнее 8 часов самореализовываться на работе, а потом 8 часов самореализовываться дома, чем только 8 часов дома.


                      1. nohuhu
                        28.03.2017 03:36
                        +1

                        В худшей — это в какой?

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


                        От денежной подушки осталось N, которых хватит месяца на три, а может и меньше, т.к. стоимость переезда и жизни ты недооценил кардинально, а доходов нет и когда будут, неизвестно. Жена работать не может, всё на тебе. По новой специальности резюме пустое, а по старой работать нельзя, т.к. виза. Ищи работу, корми семью.


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


                        Самореализация не идентична работе, конечно, но куда лучше и эффективнее 8 часов самореализовываться на работе, а потом 8 часов самореализовываться дома, чем только 8 часов дома.

                        Золотые слова. Жаль, после работы сил не остаётся на самореализацию. Если, конечно, работать, а не на хабре тупить.


                        1. 0xd34df00d
                          28.03.2017 06:38

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

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


                          И всё равно круто было.


                          Жаль, после работы сил не остаётся на самореализацию. Если, конечно, работать, а не на хабре тупить.

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


                1. w4r_dr1v3r
                  25.03.2017 19:42

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

                  Вы явно живёте не в России. Здесь подавляющее большинство если и страхует что-либо, то себя как правило в последнюю очередь, как правило добровольно-принудительно и как правило скрипя зубами. Ибо дорого.


                  1. Idot
                    25.03.2017 19:53

                    Даже в США большая часть населения до Obama-care сидела без нормальной страховки.


                  1. nohuhu
                    28.03.2017 03:41

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


                    Кому как, а мне спокойствие дороже денег.


    1. Razaz
      21.03.2017 23:25
      +3

      1. Человеку с опытом open source разобрать какой нить фреймворк не особо сложно.
      2. Я во время собеседований просто прошу оценить свой уровень и задаю пару контрольных вопросов необходимой сложности. Если ответы не устраивают, то уже копаю дальше. Смысл задавать человеку с большим опытом простые вопросы? Ну и я всегда гуглю все по резюме, смотрю социалки, аккаунты на GitHub и StackOverflow. В основном пытаюсь понять как он думает и принимает решения. Больше интересуюсь личными качествами, чем конкретными мелочами.
      3. Пессимисты то же нужны в команде :)
      4. А вот фраза «знающего своё место» это уже перегиб.


      1. VolCh
        22.03.2017 12:22
        +1

        Пессимисты то же нужны в команде :)

        Вроде на баше было что-то вроде "Эстимэйты пессимистов на практике самые точные" :)


        1. nohuhu
          23.03.2017 22:32

          Это потому, что как правило, пессимист — это хорошо побитый жизнью информированный оптимист.


          В бытностью мою юниором, один из коллег сказал мне: nohuhu, молод ты и глуп, и не видал больших за$уп.


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


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


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


          Вот и спускают молча на тормозах, или ещё хуже, идут работать в Ацкый Кровавый Ынтырпрайз, Где Всё Говном Мамонта Поросло.


          Тупыыыые. :)


          1. TheShock
            23.03.2017 22:35

            Это потому, что как правило, пессимист — это хорошо побитый жизнью информированный оптимист.

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


            1. nohuhu
              23.03.2017 22:39

              Не всегда. Сам я себя считаю реалистом, а вот остальные члены команды — пессимистом. :)


              1. TheShock
                23.03.2017 22:44

                Ну я и говорю, что пессимисты по непонятной причине считают себя реалистами. А вот оптимисты более реально смотрят на вещи и, обычно признают, что они оптимисты.

                По-моему, со стороны пессимистов это лицемерие)


                1. nohuhu
                  23.03.2017 23:06

                  А по-моему, со стороны пессимистов это наличие опыта, а со стороны оптимистов это как раз его отсутствие. См. выше. :)


                  На этом предлагаю и закончить упражнение. Цитируя любимую фразу моего босса: Let's agree to disagree. :P


                  1. TheShock
                    23.03.2017 23:14

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


    1. borisxm
      22.03.2017 07:43

      Идеальное собеседование для такого кандидата было бы, если я погуглил факты из его резюме и просто восхищался, не в коем случае не оскорбляя вопросами, сказал бы «да»


      Вы будете смеяться, но именно такое «собеседование» я прошел по телефону в известной компании на букву «M» (нет, не той, что делает операционки). Позвонили, уточнили, что это на самом деле я, поинтересовались, смогу ли посещать различные мероприятия, уточнили, что устраивает предложенная оплата. И все — вы приняты. Правда, работа там оказалась весьма скучной и через год пришлось уволиться.


      1. spmbt
        26.03.2017 01:04
        +1

        Макдональдс?


        1. borisxm
          26.03.2017 08:16

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


      1. Idot
        26.03.2017 07:59

        МММ?


  1. no_one
    21.03.2017 19:57
    +1

    Мне 32, учусь самостоятельно программированию на Java, есть вышка медицинская, сколько таких статей уже прочитал, вот думаю стоит ли начинать в этом возрасте, сомневаюсь что возьмут на работу хотя бы для начала Junior'ом, хватит ли мозгов для дальнейшего обучения, ведь на горизонте уже 40.


    1. Dywar
      21.03.2017 21:13
      +1

      Я начал в 28 работать программистом, до этого 2 года самостоятельно учился IT, работал админом. Образование гуманитарное.
      Полет нормальный, вижу что дальше лучше.

      Главное — ваше желание и возможность потратить время на старте.
      Могу по 10-12 часов в день изучать новую интересную технологию, потому что интересно, вот почему я в этой профессии.


  1. seo8ceo8com
    21.03.2017 19:57

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


    1. mike1
      21.03.2017 21:11
      +1

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


      1. nohuhu
        22.03.2017 07:27
        -1

        Можно, всё можно. И создать полный продукт, и продать, и поддерживать, и ещё много чего можно. В одно рыло, да.


        Времени только много уходит и сил, зато скучать некогда.


        1. mike1
          26.03.2017 12:37

          Наверное, вы правы, но, скажем, картиночки в Photoshop-e рисовать — это уже за пределами моих возможностей, хотя дизайн продукту необходим. :)


          1. nohuhu
            28.03.2017 03:47

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


            Главное, это научиться правильно загнать себя в угол. Мотивация — великая сила.


            1. mike1
              28.03.2017 22:15

              Да можно и картиночки, но получится такая дрянь… как у Остапа Бендера, когда он свою тень обводил на плакате.
              Всяко лучше пойти в конторку софт пописать, чем рисковать своим стартапом. Вдруг он не взлетит, а ты израсходуешь время и усилия? А так хоть 100 тыс, но свои! За 100-то всяко возьмут!


              1. VolCh
                29.03.2017 10:08
                +1

                Да просто заниматься стартапом часов по 20 в неделю, продолжая работать обычно и отказываясь от привычного отдыха — нормально. Но потом приходит понимание, что 20 часов мало, что чтобы через год позволить себе уйти с работы надо сейчас работать по стартапу 40 часов, и их уже вытягиваешь из сна, из семьи, да и работы, но и этого оказывается мало через несколько месяцев, нужно или вкладывать деньги, которые зарабатываешь, чтобы кого-то нанять, или увольняться и работать над стартапом по 80 часов (уже с опасениями что через несколько месяцев окажется, что надо работать будет и 120 часов в неделю, а то и 200). Это уже далеко не "Вдруг он не взлетит, а ты израсходуешь время и усилия?" — это уже "Вдруг он не взлетит, а ты потеряешь почти всё, что имел, да ещё и должен останешься"


      1. seo8ceo8com
        22.03.2017 23:23
        +1

        да согласно теории нужно быть шизиком
        чтобы 1 полушарием писать продукты а 2 полушарием продавать

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

        возможно одиночество дает шанс плыть в лодке 1


  1. kill04er
    21.03.2017 19:57

    хм, у нас в коворкинге


  1. FunkyPenguin
    21.03.2017 19:57

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

    Рядом мед. эксперты, тоже 40-50 лет срединй возраст — у них полное взаимопоинмание.
    Начальство тоже довольно, отчеты есть, новый фунцкионал разрабатывается, человек серьезный, опытный.

    Сделали для него рабочую неделю 3 дня на базе + 2 дома + выходные, так он за 2 дня дома делает больше чем за 3 на базе, потому что не дергают, не отвлекают и не мешают.
    Задач не боится, способен к самоорганизации, в общем его возраст — только плюс.


    1. no_one
      21.03.2017 21:17

      размышляя над проблемой возраста программиста, имея входные данные: образование не техническое, нет опыта, есть курсы онлайн, самостоятельная учеба (Java, Python, С# — всего по немножку) и огромное желание развиваться в ИТ, метаюсь между двумя направлениями:
      1. учиться и пытаться устроится на работу, тут вопрос кому я нужен такой с таким багажом знаний и возрастом.
      2. учиться и не париться требованиями работодателя а работать на себя, а именно разработка собственных торговых роботов, (опыт ручной успешной торговли есть).
      И там и там перспективы неизвестны, получится ли. Ребят, у кого какие мысли на этот счет, подскажите.


      1. mike1
        21.03.2017 21:59

        Сразу с 0 на себя разрабатывать? Не знаю. Кажется, лучше вариант 1. На работе научитесь программировать, а потом можно и «на себя». :)


      1. VolCh
        22.03.2017 12:29

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


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


        1. no_one
          22.03.2017 12:52

          про фриланс тоже думал, но на java трудно найти удаленку, там в основном веб разработка, куда не хочу (пробовал — не мое), да и заработок не стабилен (первое время), а в семью денежку надо приносить. Больше склоняюсь к java, но как посмотрю на требования juniora, руки опускаются, такое ощущение что им нужен нобелевский лауреат :)


          1. VolCh
            22.03.2017 13:42

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


        1. edogs
          22.03.2017 16:16

          Пытаться создать бизнес на базе софта собственной разработки без реального опыта промышленной разработки — очень рискованно, по-моему.
          Да вообще создавать бизнес на основе софта это не здраво.
          Это попытка совместить в себе и бизнесмена и разработчика, не надо так. Умеешь разрабатывать — разрабатывай для бизнеса и получай за это деньги. Умеешь делать бизнес — делай бизнес и нанимай разработчиков.
          Иначе получается и не бизнесмен и не разработчик и ни рыба и ни мясо.


          1. no_one
            22.03.2017 19:00

            Иначе получается и не бизнесмен и не разработчик и ни рыба и ни мясо.

            Ну почему же, вот например бизнесмен-разработчик


            1. edogs
              22.03.2017 19:20

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


      1. kartvladek
        22.03.2017 15:19

        Я бы обязательно устроился на работу, пусть и не в топ компанию. Знаете-ли, практические задачи и обязательная необходимость сдавать их в срок + глубокое погружение + немного стресса = неоценимый опыт. Потом будет легче. То есть п.1 — обязательный, п. 2 — как приятное дополнение. Потом можно поменять местами.


      1. vasiliysenin
        28.03.2017 13:21

        И там и там перспективы неизвестны, получится ли. Ребят, у кого какие мысли на этот счет, подскажите.

        По первому пункту. Если зарплатные ожидания большие, то маловероятно.
        По второму. Торговля на форексе это замаскированное казино, об этом уже была подробная статья на хабре. То есть согласно теории вероятности, если долго играть в игру с нулевой суммой и фиксированным капиталом, то когда нибудь потеряешь деньги. Если же игра с отрицательной суммой, то потеряешь деньги быстрее. Если же сумма положительная (растущий тренд на акции), то 50 на 50, в зависимости от Ваших способностей.


        1. no_one
          28.03.2017 13:46
          +1

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


  1. DoktorS
    21.03.2017 21:09

    Вот, тоже некоторое время назад стал прикидывать для себя дальнейшие перспективы на рынке труда в IT и затраты, которые потребуются, чтобы удержаться на позициях или продвинуться повыше. Ситуевина напомнила мне эпизод бега с Черной Королевой из "Алисы в Зазеркалье". И, признаться, идея бежать изо всех сил до гробовой доски мне как-то не понравилась. Правда, я для себя нашел непопулярное решение — ушел из программистов (правда, иногда до сих пор что-то для кого-то делаю "по старой памяти") а потом и из IT вообще… Но у меня давнишнее хобби, которое я развернул в профессию. Графика, полиграфия и фотостаж более 30 лет — было что развернуть.
    Вероятно, этот путь подходит не каждому.
    Вполне возможно, кому-то лучше сделать свою "конюшню", в которой будут работать те самые молодые под мудрым присмотром. А кому-то, и впрямь, лучше в менеджеры податься. Ну и я вполне допускаю варианты, в которых люди находят свою нишу "маленькую, но фейербаховскую", и в которых десятилетиями "сидят на теме". Каждому свое. Главное, чтобы оно было именно "свое".


  1. Antelle
    21.03.2017 22:34
    +1

    Забейте на список, качайте soft skills, не переставайте учиться, это всё важнее чем технологии. Человек, который пишет пусть и не самый красивый код, но понимает, зачем оно надо, как из этого получаются деньги и как делать это лучше, намного более ценен в любом возрасте.
    Но я не знаю, это мне сейчас так видится, мне 30, я вернусь сюда через 10 лет.


    1. mike1
      25.03.2017 20:17
      +3

      Жду нового коммента от вас в этой ветке 21 марта 2027 года. :)


  1. Danik-ik
    21.03.2017 23:15
    +1

    Уверен, чтобы никуда не деться после сорока, надо разумно сочетать в себе два фактора: достаточный, без гипертрофии, интерес к новому и спокойное (надо — значит, надо) отношение к рутине. Эти два фактора можно слить в одно понятие, которым не блещет молодёжь, а именно — надёжность. Причём надо быть в первую очередь — надёжным, и лишь во вторую — динамичным. "Папа может в си" при всей своей гротескности мне импонирует больше того, кто "Я знаю c, c#, java, angular, react, php, oop и много других умных слов". Потому, что один "может", а другой всего лишь "знает"...


  1. africaunite
    21.03.2017 23:38
    +1

    Ну все. Если так пойдет и дальше — придется, видимо, скрывать свой возраст (хорошо, что в жизни он никому не интересен, совсем).

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

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

    Дорогие «старики». Не знаю как вам, а мне, в конце 80-х, очень не хватало адекватных взрослых коллег. Давайте не допускать повторения трагедии, не нужно самоустраняться.


  1. degressor
    21.03.2017 23:43

    Чем старше, тем меньше времени есть на обучение и всякие эксперименты. И в работе хочется результатов, а на новые технологии не остаётся времени.


    1. mrhru
      22.03.2017 02:51

      Смерть: Я завтра зайду в 10
      Lexa: Б**, Оля! Смени ник!


      © bash


    1. VolCh
      22.03.2017 12:33
      +1

      Как по мне, то ровно наоборот. Чем старше — тем больше свободного времени, тем меньше проблем, которые не являются тратами.


      1. degressor
        22.03.2017 12:45
        +1

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


        1. VolCh
          22.03.2017 13:44

          Ну это совсем детство. :) Я же сравниваю первые годы с семьёй и время, когда дети в школу пошли, а то и в институты уже.


  1. hfinn
    22.03.2017 06:58

    Усечённый список какой-то. Где про Android? iOS?


  1. rensaid
    22.03.2017 06:58

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


    1. nikolayv81
      24.03.2017 18:09

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


      1. rensaid
        26.03.2017 17:11

        Знакомства нужны в очень коррумпированных кругах. Если бы у программистов процветала коррупция, то вообще бы никто не работал.


  1. Dywar
    22.03.2017 07:57
    +3

    По статье.
    В целом настрой положительный, «динозавры» оседают в крупных компаниях.

    Но вот проблема одна не раскрыта.

    1) Вы покупаете футболку в магазине. Вам пытаются продать товар с наворотами, но зачем спрашиваете вы, мне ведь просто на 1 сезон, обычную, не нужна мне защита от влаги и солнца.
    С работой тоже самое, вы говорите работодателю что ему нужно, и обижаетесь когда ваши взгляды на жизнь не совпадают. Если компании «А» не нужны супер профи, заказчик не будет платить больше просто за то что продукт будет хорошего качество, нужно ведь быстро и дешево. Это нужно не только заказчику, но и вам, в магазине. Вы обижаетесь на свои же взгляды на жизнь. И это не значит что продукт не выполняет своих функций, он их выполняет, но хуже чем товар более дорогой категории. Не всем нужен люкс.
    Что бы сделать сайт блог не нужен профи, это не ракеты запускать и медицинское оборудование проектировать.

    2) Истории из собеседований.
    Иногда истории похожи на бред, но.
    — Если HR менеджер задает технические вопросы это значит что он экономит время технических специалистов, которые устали выслушивать всех подряд. Это просто фильтр, который защищает рабочую силу от напрасной траты времени. Не надо обижаться, вопросы либо простые, на которые можно дать однозначный ответ и HR специалист сможет их проверить, либо они составлены не правильно. Но и это не ваша проблема, к вам на кухню никто не заходит что бы сказать как там все плохо, но когда туда не пускают вас, это огорчает.
    HR специалист не обязан знать все и про всех, это невозможно, найм может вестись сразу по многим направлениям.
    Не чините чужие «фильтры», ищете тот что пропустит вас.

    3) — Но молодые специалисты это тоже знают. Почему мы должны платить вам на 15% больше?
    — Но у меня семья, дети, ипотека… Да я и английский знаю.
    Это что за ответ такой? Естественно вам откажут.
    Вы заявляетесь к работодателю и говорите, дай мне больше денег, у меня проблемы, мне ведь нужнее чем другим.
    И в тоже самое время люди пишут что «видят» на 20 шагов дальше чем их младшие коллеги, так вот об это и надо говорить на интервью, а не о своих проблемах.

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


    1. spot62
      22.03.2017 19:21

      1) да, но все почему-то надеются сторговать футболку с наворотами по цене обычной и ладно если бы навороты действительно были бы не нужны.
      2) hr без знаний в предметной области — это вам не бомбила без шашечек. вы видимо считаете, что, в отличие от специалиста, кандидату не должно быть жаль своего личного времени на «интервью» c hr? ибо «работать в нашей фирме — такая честь...»
      3) у меня уровень жизни такой, к которому привык я и мои близкие и, если это не дауншифт, он должен оставаться таким и впредь. т. е. качество моей жизни должно быть заложено в стоимость вашего продукта, а не наоборот. потому что, я работаю, чтобы жить, а не живу, как часто внушают молодым, чтобы работать.


      1. VolCh
        22.03.2017 19:51

        3) Всё это работодателю в общем случае не интересно. Ему интересно какие преимущества его продукт получит, если заложить в его стоимость вашу (желаемую) зарплату. В общем и в целом, приводя какие-то "левые" по отношению к своей ценности для продукта аргументы, вы, как минимум, теряете позицию полноправного партнера по переговорам, становитесь просящей стороной, которая ничего особо ценного предложить не может. Говорить о своих расходах допустимо, по-моему, если работодатель, услышав желаемую зарплату задаёт вопросы типа: "Да куда тебе столько денег?!", но лучше при таких вопросах держаться от такого работодателя подальше.


        1. spot62
          22.03.2017 20:43
          -1

          какие же это «левые» аргументы? это аргументы абсолютно «правые» и самые что ни на есть фундаментальные, поскольку оплата моего труда целиком и полностью зависит от рынка, т.е. от того каким количеством материальных благ я смогу компенсировать потраченное на работу над продуктом время, Деньги — товар — деньги, так сказать.
          Ну а то, что совок не умер и на периферии предлагают поработать на совесть за идею и интерес, при такой постановке вопроса как «интересно какие преимущества мой продукт получит» просто умиляют.
          В противном случае непонятно, почему работодателю-капиталисту неинтересно сколько стоит на рынке трудовой ресурс.
          С другой стороны вы часто видите в магазине, чтобы на продукте писали обоснование его цены? Т.е. мы «делаем офигительный хлеб и он стоит столько-то, потому что...» Да никогда. Все просто: купи и ощути разницу, или не ощути. Почему в этом смысле соискатель должен объясняться с работодателем?


          1. 0xd34df00d
            22.03.2017 21:42
            +2

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


            1. spot62
              22.03.2017 22:26

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


              1. 0xd34df00d
                22.03.2017 22:27

                Тогда я не понимаю предмета дискуссии.


                1. spot62
                  22.03.2017 22:38
                  +1

                  предмет дискуссии состоит в том, что аргументом может служить не только субъективное вербальное обоснование суммы компенсации, но и объективные товарно-денежные отношения в социуме;)


                  1. VolCh
                    23.03.2017 14:18

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


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


                    1. edogs
                      23.03.2017 16:15

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


                      1. 0xd34df00d
                        23.03.2017 16:51

                        На мой взгляд, кстати, нет.


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


                      1. VolCh
                        27.03.2017 14:29

                        Декретный отпуск — объективный фактор трудовых отношений, закрепленный действующим законодательством.


                        1. 0xd34df00d
                          28.03.2017 06:18

                          Требовать от законодателей, окей. Невелика разница.


                          1. VolCh
                            28.03.2017 08:19

                            Очень велика. Законодатель не является непосредственной стороной объективных товарно-денежных отношений на рынке труда. К нему обращаются, когда рыночными методами свои интересы отстоять не получается в надежде (в теории), что он найдёт твои интересы совпадающими с долгосрочными интересами государства, например демографическими или инвестиционной привлекательности.


          1. khim
            22.03.2017 22:00

            В противном случае непонятно, почему работодателю-капиталисту неинтересно сколько стоит на рынке трудовой ресурс.
            Ему именно что интересно сколько стоит трудовой ресурс! Но определяется это соотношением зарплат и умений. А ваша ипотека — его не волнует.

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

            поскольку оплата моего труда целиком и полностью зависит от рынка
            Именно так. На рынке есть работодатели и разработчики. Кто-то ничего не умеет, но готов работать за «похлёбку риса», кто-то — в одиночку может создать операционку за полгода, но и просит как целая команда разработчиков… а вот куда эти деньги он собирается пустить — работодателя не волнует в принципе. Его какое дело?

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


            1. spot62
              22.03.2017 22:25

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


  1. Emelian
    22.03.2017 10:57
    +1

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

    Чтобы быть успешным, нужно не столько образование и опыт, сколько энергия. В таких случаях я всегда говорю: «Одержимость важнее образования!». Это в плане достижения материальных благ и широкой известности. Пример, Крис Касперски (который недавно вроде как случайно(?) погиб) Но если целью является серьезный результат, то только тогда на первом месте будет качественное образование и только на втором одержимость. Однако в любом случае без одержимости делов не будет. Даёшь адекватную одержимость – вот главный лозунг.

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

    Попутно замечу, что Желание Энергию не порождает, но Желание может служить основой Намерения, что немаловажно. Собственной Энергией обладает Страсть, хотя страсть может быть не только положительной, но отрицательной. Некоторые отрицательные эмоции тоже могут порождать Энергию. Такие как Месть, Зависть, Ненависть, Жадность и т.п. Но это уже скорее разрушительная энергия, чем созидательная, которая часто служит основой для Хищного Творчества или Творчества Хищников.

    Что по сути статьи, но проблем будет меньше, если программировать ради удовольствия, а не за деньги, тем более которые не особо стремятся платить чуть ли не всем «кому за 30». Есть места, где хороших специалистов мало, например, у нас здесь в ЛНР / ДНР. Все одержимые уехали в Россию, профессиональной конкуренции практически нет, если не брать крупные фирмы в Донецке и Луганске (да и там вакансии имеются). Платят, правда, немного, зато есть свободное время, которое можно тратить на самообразование и программирование ради удовольствия. А стремиться надо к Интернет бизнесу, благо технические возможности для этого сейчас имеются. Единственное ограничение неразвитая межбанковская связь. Но этот вопрос, думаю, решится в ближайшие годы. А пока ничто не мешает самосовершенствоваться :).


    1. spot62
      22.03.2017 20:54

      «успешность» и «тайм-менеджмент» это дурь, которую вбивают лайф-коучеры в неокрепшие умы. Просто потому, что неокрепшие умы пока неспособны к самостоятельной рефлексии, а лайф-коучерам тупо нужно что-то кушать


    1. w4r_dr1v3r
      25.03.2017 20:22

      вроде как случайно(?) погиб


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


      1. Idot
        25.03.2017 20:26

        А на ВикиЛикс есть сливы по случаю подобных смертей хакеров?
        Некоторые случаи уж очень подозрительны и описаны полицией как "застрелился".


        1. w4r_dr1v3r
          25.03.2017 21:06

          Я собственно (и очень толсто) и подвожу к тому, что как бы пиндостан просто таки МСМК в том, как подтягивать доказательную базу к уже случившемуся так, что невозможно или почти невозможно доказать обратное. И случается это с завидной регулярностью. Достаточно вспомнить ретроспективу взаимоотношений «хакеры vs. штаты (+бизнес штатов +политика штатов)» последних 10 лет


  1. spot62
    22.03.2017 19:42

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

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

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


  1. umnijdrug_com
    22.03.2017 20:28
    +1

    Не знаю как все, но помимо знаний и умений, главное к 40 годам надо еще и здоровье не просрать запустить! А то всё постоянные таски, скрамы, дедлайны, погоня за новыми фичами…


    1. mike1
      22.03.2017 21:17

      Точно! Хожу в спортзал 3 раза в неделю, рекомендую всем! А то бы загнулся уже давно. После рабочего дня все равно голова болит и тошнота подкатывает в прямом смысле от смотрения в монитор в течение 8-9 часов.


      1. 0xd34df00d
        22.03.2017 22:04

        Везёт. А я после спортзала как выжатый лимон, ничего делать не хочется, энергии ноль. Жалко так вечера тратить.


        1. edogs
          22.03.2017 22:06
          +1

          Что-то неправильно делаете.


          1. 0xd34df00d
            22.03.2017 22:28

            Осталось понять, что.


            Питаюсь неправильно, вероятно, это да, но это чинится уже чуть сложнее.


            1. edogs
              22.03.2017 22:35

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


              1. 0xd34df00d
                23.03.2017 04:06

                Это что, как минимум два раза в день есть, что ли?


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


                1. edogs
                  23.03.2017 13:42
                  +2

                  Тренер может указать на какую-то мелочь, которая Вы не видите, просто потому что не знакомы с вопросом и не считаете это важным в принципе. Если тренер хороший конечно.
                  Гуглить проблему самому — тут проблема в том, что для правильной постановки вопроса надо знать 90% ответа. Вы просто не знаете что гуглить.


              1. xdevel
                23.03.2017 13:48

                Выиграл я как-то «N занятий с тренером» в одном спорт-залефитнес-клубе Москвы.
                После пары занятий с ней я неделю работал из дома, потому что ходить мог только через боль на одной ноге держась за стену. Так что тренер тренеру волк… А все было из побуждений составить программу и делать все правильно.


                1. webkumo
                  23.03.2017 15:05

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


                  1. xdevel
                    23.03.2017 15:08
                    +1

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


                1. Razaz
                  23.03.2017 16:12

                  Ну если вы первый раз пришли в зал и у вас нет физ. подготовки, то даже приседание с пустым грифом даст вам такой эффект. Как говорит одна тётя — это норма :)


                  1. xdevel
                    23.03.2017 16:18

                    Я ходил до этого и в качалку неоднократно (тогда это не называлось так модно, «фитнес-клуб»), но был очень большой перерыв (лет может в 5). Появилось время — решил заняться собой. Но таких проблем никогда не было… Ни в прошлые разы, ни после. Вот просто такой случай.
                    Я это все к тому, что все тренеры одинаково полезны и можно нарваться и на такую (была представлена как мастер спорта где-то там в чем-то там, сейчас не припомню даже).


                    1. webkumo
                      23.03.2017 17:19

                      И вы ещё удивляетесь результату?


                      • она МС (ей сложно рассчитывать на обывателя, она привыкла к спортсменам)
                      • был офигенный перерыв (который вы сами задолбаетесь учитывать… я бы при таком перерыве все результаты кроме остаточной мышечной памяти свёл в ноль… которая даст бонус только в скорости освоения, но не в объёме нагрузки)

                      PS и да — магний надо пить! Магний!.. ну и ещё можно белков-кальция и прочих необходимых микроэлементов...


                      1. xdevel
                        23.03.2017 17:39
                        +1

                        Она в первую очередь тренер в фитнес-клубе. Это её работа. Если она не в состоянии заниматься с новичками зачем она там работает (ок, не совсем так: зачем она берется за новичков)?
                        Был перерыв, да. Поэтому вводные данные для нее были такие: начать абсолютно с нуля.
                        Я просто рассказал про прошлый опыт встречи с «первоклассным тренером», дабы показать что можно нарваться и на такие чудесные последствия от общения с не очень компетентными в своей области людьми.
                        Ни в прошлые, ни в последующие разы (от этого случая) не было такой проблемы.
                        Да, мышцы болели, да от этого никуда, но так чтобы до туалета 10 минут брести… никогда.


                1. TheShock
                  23.03.2017 16:30

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

                  Ага, я тоже когда второй раз начинал имел тот же опыт.
                  В первый день качали ноги — мышца так задубела, что уже даже не болела, просто невозможно было согнуть ногу.
                  Потом спину, бицепс — не мог за ухом почесать.
                  На каждую часть тела 2-3 таких тренировки и пройдет. Можно BCAA попить паралельно, чтобы мышцы быстрее восстановились


              1. DistortNeo
                23.03.2017 20:36

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


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


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


                Ну и просто психология — проецирование собственного опыта тренера на других: "я смог, и ты сможешь", что неверно.


                Вот и остаётся единственный вариант штудировать литературу и гуглить.


                1. edogs
                  23.03.2017 21:55

                  В приличных спортзалах о тренере информации достаточно выложено.
                  Одно дело когда кмс по поверлифтингу.
                  Другое дело когда это тренер с 15 летним стажем закончивший лесгафта.
                  Отзывы опять же.
                  Никтож не говорит что надо идти к «какому-то тренеру», право выбора и анализа к кому идти — на фига дадено?


                  1. DistortNeo
                    23.03.2017 22:24

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


                    1. edogs
                      23.03.2017 23:22

                      ну давайте тогда ни к кому не ходить, Вы это предлагаете?:)


                      1. DistortNeo
                        23.03.2017 23:51

                        Это банальная психология. Если человек потерпел несколько неудач подряд, то он становится пессимистично настроенным. А если советы из интернета ему помогли больше, чем 3-5 врачей/тренеров, то доверие к последним исчезает полностью.


        1. mike1
          22.03.2017 22:45

          Утром хожу, до работы. Спортзал, бассейн, сауна в 8.30. Потом на работу к 10. Подзаряжает энергией на весь день. Может вам тоже будет лучше утром ходить?


          1. 0xd34df00d
            23.03.2017 04:07
            +1

            Я патологическая сова с уходящими вперёд часами (то есть, в моих сутках часов 25-26), и я только полгода назад научился есть с утра. Мне, признаться, стрёмно пробовать с утра.


            1. TheShock
              23.03.2017 06:32

              Если фрилансер — идите в зал как только очухаетесь после сна)


              1. 0xd34df00d
                23.03.2017 16:53

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


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


  1. LynnLinden
    22.03.2017 20:28
    +1

    Когда я была юная, на первом курсе, в 1992 году, на самой-самой первой лекции профессор по информатике сказал нам так: «Запомните: вы — устаревающие специалисты. Вам придётся всю жизнь учиться. В среднем вы устареваете раз в 2 года. К моменту вашего выпуска вы устареете 2.5 раза. Поэтому сразу говорю — рассчитывайте только на себя и самообразование». И вот что в 25 это было правдой, что в 30, что в 40 — ничего не изменилось.
    Конечно, не все молодые и зелёные коллективы готовы взять к себе программиста старше себя, тем более «тётеньку» в моём случае. Особенно тяжко было, когда сменила специализацию и хотела пойти на позицию джуниора — поучиться в бою, так сказать. 100% отказов получила. И что? Ушла во фриланс, набралась опыта, обзавелась хорошим портфолио. Когда решила вернуться на постоянку, ещё и выбирала из нескольких офферов.
    А когда я стану старая, осяду на каком-нибудь Апворке и перееду в тропический климат. :)
    В сорок лет жизнь только начинается (с) одно очень известное кино.

    Линн, 41 год.


  1. OxanaS
    22.03.2017 20:28
    +1

    Прошу прощения, что не совсем в тему, но, скажем так, вопрос из «смежных философий». Мне 40 лет, заканчиваю политех и пытаюсь устроиться на позицию junior. Потенциальные работодатели даже к стажировкам близко не подпускают. То есть берут всю молодежь за минусом меня. Подскажите, плиз, исходя Вашего опыта и опыта коллег — мои перспективы стремятся к нулю, я правильно понимаю?


    1. ggrnd0
      22.03.2017 20:37

      Как вас так занесло?


      1. OxanaS
        22.03.2017 21:10
        +1

        Отличный вопрос))) Шестнадцать лет отработала юристом, лет шесть назад начала работать с электронными закупками G2B, B2B и т.п. В ходе работы пришлось зачастую сталкиваться с «негуманитарными» вопросами, генерить ЭЦП, контактировать с техподдержкой электронных торговых площадок и т.п.… помимо знания алгоритмов проведения тех же госзакупок, с точки зрения законодательства, начала видеть организацию, структуру, алгоритм работы самих сайтов… и начала понимать, что мне все это жутко интересно. Позднее стало ясно, что надо учить матчасть — поступила в ВУЗ. В школе за мной никогда не наблюдалось особой любви к математике (да и училась в химико-биологической школе — не до математик), в универе полюбился матан))) Так получилось, что только к 40 годам я смогла прийти к тому, что мне близко. Нет, мне грех жаловаться на юридическую практику — у меня очень богатая и нетривиальная юридическая практика, но близким по духу, пожалуй, это никогда не было. С моей стороны было предпринята масса усилий, а сейчас, получается, что только потому, что в паспорте у меня стоит такой-то возраст, для меня закрываются все двери. В связи с этим я просто хочу понять и спросить совет — есть ли свет в конце тоннеля))


        1. nohuhu
          25.03.2017 01:30

          Я вам сейчас страшную вещь скажу: нет никакого тоннеля, есть только эффект туннельного зрения.


          Учите английский, участвуйте в open source проектах. Создайте парочку своих на Github. Лучше всего по теме, в которой глубоко понимаете. Когда работали юристом, были у вас какие-нибудь пожелания на тему: а вот если бы была такая программа, или можно было бы сделать вот так и так, было бы очень круто? Вот вам и тема.


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


          А карьеру поменять никогда не поздно. Я это делал в 25, в 28, в 33 (с горкой); скоро 40 и крепнет ощущение, что опять надо что-то делать.


    1. mike1
      22.03.2017 20:55
      +1

      Не думаю. Перспективы всегда есть, пока Вы живы. Меня после ВУЗа в 1995 году не брал вообще никто. Удалось-таки начать свою карьеру в замшелом гос. проектном институте с большим скрипом. Только через 5 лет я попал в полноценную программерскую контору. Последний раз искал работу в 2015 году в течение полугода: не брал вообще никто за исключением 2-3 неинтересных мне мест. Я проявил невиданное упорство, прорешав штук 20 тестовых заданий и сходив более чем на 50 собеседований. Наконец получил офер.
      Причем ведь не говорят, почему именно не берут, и в этом самое неприятное. Под пытками не выдадут. Обычно просто тупо погружаются в вечное молчание. Редко-редко пришлют отказ на е-майл.
      Желаю вам проявить бешеное упорство. Посетить ВСЕ фирмы, которые существуют в вашем регионе. Откликнуться на ВСЕ вакансии, которые могут подойти. Посетить ВСЕ собеседования, на которые вас пригласят. Прорешать ВСЕ тестовые задания, которые вам дадут. Добиться от ВСЕХ, почему вам отказывают. Удачи!


      1. OxanaS
        22.03.2017 21:14
        +1

        Спасибо огромное!!!!))) Это вселяет надежду:) Я для себя тоже уже решила, что я сделаю все, что от меня зависит… чтобы потом не жалеть, что чего-то не доделала, на что-то не решилась:) Еще раз спасибо:)


    1. rg_software
      25.03.2017 04:49

      Я вот сейчас спорную вещь скажу, с которой многие не согласятся, но сам я в эту концепцию верю и следую ей, что немаловажно. У нас очень легко попасть в высококонкурентную среду: поступайте в MIT, будет вам конкурс 100500 человек на место, собеседуйтесь в Google, пишите на самом модном языке программирования и так далее. Получается этакая ситуация крысиной гонки, в которой трудно победить, поскольку всегда найдётся тот, кто раньше вас начал, лучше вас соображает и просто готов тратить на работу и обучение всё свободное ото сна время. Да и в победе не так много радости, если подумать, потому что это означает, что вас проверяют на соответствие некоему шаблонному профилю, ну и ура, вы победитель.

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

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


    1. alexeykuzmin0
      28.03.2017 15:26

      Попробуйте пообщаться с более крупными компаниями, по моему опыту, в них меньше стереотипов. Тот же Яндекс, про который в статье говорят.


  1. seo8ceo8com
    22.03.2017 23:25
    -3

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


    1. OxanaS
      23.03.2017 08:47

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


  1. wkia
    25.03.2017 19:50
    +1

    Мне же, чтобы дорасти до минимального «проходного» уровня Яндекса (я трезво оцениваю свои знания) необходимо 2-3 года интенсивной подготовки.

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

    Роман, 38 лет


    1. mike1
      25.03.2017 20:03

      Наверное, прибедняюсь, но по последнему опыту хождения по собеседованиям offer rate (процент походов на собеседования/оферов) был что-то в районе 5%. Не правда ли, не особо круто для профессионала с 20-летним опытом? Были в тех компаниях, куда ходил, люди, у которых можно было чему-то поучиться, но офера туда не было :) А где давали офер — там скука, все ясно и понятно. И неинтересно.


      1. wkia
        25.03.2017 21:10

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


        1. mike1
          25.03.2017 21:16

          Не понял. Это много или мало?


          1. wkia
            25.03.2017 21:19

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


            1. mike1
              25.03.2017 21:32

              У меня есть excel-ник с описанием всех контактов с компаниями/собеседований, которые я проходил последнее время (веду с 2013 года). Не поленился, посмотрел его сейчас. И — о ужас — там 76 строчек. Это все компании, с которыми я завязывал общение (с некоторыми по нескольку раз). Из них на собес приглашали процентов 60-70. Вот и считайте.
              Про этот печальный опыт я писал ранее на Хабре: https://habrahabr.ru/post/285600/
              Не считаю себя совсем уж никудышным специалистом, но наверно, работодатели иногда читают у меня в глазах полное равнодушие и скуку и не делают офер. Возможно, я просто не умею себя подать и продать. А возможно, по формальным критериям где-то не прохожу.
              Те же, кто делают офер, потом не хотят со мной расставаться.


              1. wkia
                25.03.2017 22:36

                То есть «последний опыт хождения по собеседованиям» — это все собеседования начиная с 2013 года? В среднем — это больше, чем по одному собеседованию в месяц в течение четырёх лет)) Похоже, что вы любите ходить по собеседованиям))

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

                Но тем не менее я прочитал вашу статью от 2013 года. Вопрос — вы определились-то со специализацией? или до сих пор не знаете, что вам интересно?


                1. mike1
                  26.03.2017 09:34

                  В среднем — это больше, чем по одному собеседованию в месяц в течение четырёх лет)) Похоже, что вы любите ходить по собеседованиям))

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

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

                  Я по факту определился со специализацией, точнее, за меня ее определили — я программист С++ с 2000 года. Нравится ли мне это или нет? Ну это не противно по крайней мере. И иногда даже доставляет удовольствие. Могло быть и хуже :) По сути до сих пор не знаю, что могло бы быть интереснее программирования на С++.


                1. glestwid
                  26.03.2017 15:07

                  Но зачем ходить на собеседование, если скука и полное равнодушие?

                  Затем, например, что надо как КВС — постоянно мониторить окружающее пространство и постоянно отслеживать потенциальные аэродромы для внештатной посадки.


                  1. wkia
                    26.03.2017 15:23

                    Очевидно же, что автор не для этого ходит по собеседованиям))


                    1. mike1
                      26.03.2017 15:25

                      Хм. Я для того, чтобы найти работу хожу на собеседования, а не мониторинга.


                    1. glestwid
                      26.03.2017 23:47

                      Кому — очевидно? Мне — нет, например.


                      1. wkia
                        27.03.2017 12:00

                        Это очевидно из текста статьи. Там в общем-то прямым текстом написано.))
                        Да и автор тут сам отписался, куда уж очевиднее))


        1. w4r_dr1v3r
          25.03.2017 21:20

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

          Если вы ответили «да», срочно телеграфируйте адрес и быстро, решительно отсыпьте — я немедля вылетаю первым рейсом и скуплю оптом всё, что у вас там есть\осталось.


  1. boxbotbiz
    26.03.2017 09:17

    Ясен хер им проще молодого наебать чем брать 40 летнего который более опытный и с большими запросами


    1. Prolych
      26.03.2017 10:28

      Согласен с предыдущим оратором: о)


  1. Sergunka
    28.03.2017 00:09

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


  1. billyevans
    29.03.2017 04:08
    +1

    Есть еще 3я категория — бывшие сотрудники Яндекса ;-)


  1. fillosofik
    29.03.2017 20:22
    -2

    Программист в 40 лет должен уже на пенсии сидеть, где-то на Ямайке или другом живописном месте. Это если программист хороший и до 40 лет он смог себе обеспечить безмятежный отдых. А если у программиста руки из ж… ы растут, то пускай вкалывает и до 60 лет, можно оправдать его недальновидность — это призвание! Или что-то в этом роде)) У хорошего программиста судьба своя в своих руках, он может не только программировать в виртуальной реальности… Программирование может быть как денежный вклад в банк, сделал одну вещи — и она всю оставшуюся жизнь приносит бабки (как в банке проценты). Работая виртуально, программист тем самым программирует своё будущее в реальности.


    1. mike1
      29.03.2017 20:27
      +1

      Приятно сознавать после 20 лет работы программистом, что у тебя руки из ж… растут. Честно трудился, и посейчас тружусь, а руки-то оказывается — из ж...!


      1. Prolych
        30.03.2017 20:15

        «Я опытный поэт, я знаю что такое позор»: о)))


    1. VolCh
      30.03.2017 09:17

      Программирование может быть как денежный вклад в банк

      Вкладами занимаются инвесторы, бизнесмены, а не работники. И слово "пенсия" тут не уместно.


    1. dimm_ddr
      30.03.2017 10:11
      +2

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


      1. mike1
        30.03.2017 19:49

        Я очень люблю свою работу, работаю по 10 часов в день. Мной очень довольны работодатели. Драйв придает осознание того, что их проект очень успешен. Это дает колоссальную энергию.
        Но все же на пенсии я хотел бы заняться своим проектом наконец, на который сейчас не хватает времени. Пусть он будет не так успешен, как проект, над которым я сейчас работаю. :)


    1. alexeykuzmin0
      30.03.2017 12:34
      +2

      Вот всегда удивляют такие высказывания про то, что «настоящий программист» всегда где-нибудь в Тайланде/Ямайке/еще где-нибудь обретается. Ребят, вам по 18 что ли, или вы закоренелые холостяки? Как там на вашей Ямайке со школами для детей, с ВУЗами? А достаточно интересная работа для жены (в качестве хобби) найдется?
      Если лично вам нравится жить в каком-нибудь месте без инфраструктуры, то учитывайте, что не все такие.