Я вас уверяю, команда разработки Windows также покрывает новый код тестами и автоматизирует. Они также не могут закоммитить, пока не пройдут все тесты.
Вопрос только в том, как покрыть тонны легаси кода, который десятилетиями накопился в системе. В коде ОС столько неизведанных мест, что их просто опасно трогать.
То, что вы приводите в пример в качестве «правильного процесса» — это просто best practices, не более. В целом, некорректно сравнивать сложность разработки и поддержки ОС и Chrome.
Давайте еще сравним разработку ПО для ракет и какой-нибудь веб-сервис.
А смысл менеджеру менеджера ее вытачивать?
На работе он не будет писать код каждый день и решать сложные олимпиадные задачи по алгоритмам. Может, разумно как-то снизить требования?
Очень расстраивает также, что некоторые российские компании перенимают все это, думая, что они Google.
Да я не против поговорить про базовые алгоритмы и структуры данных, про архитектуру распределенных систем — это нормально, чтобы отфильтровать «эффективных» менеджеров.
Но зачем нужно заставлять будущего руководителя отдела программировать и решать олимпиадные задачи? Как все это поможет потом в работе?
С разработчиками понятно, но зачем спрашивать те же вопросы по программированию и алгоритмам на управленческие должности? При этом вопросы не про базовые структуры и алгоритмы, а те же хитровывернутые контейнеры, динамическое программирование и оптимизация.
Количество добавивших пост в закладки говорит само за себя.
Если у вас есть конкретные предложения по книгам для начинающих руководителей, добавляйте в комментарии.
И принципы работы с людьми не устаревают.
Скажите честно, а вы указанные книги все прочитали?
Если да, то вы и сами можете дальше ориентироваться в профессиональной литературе.
Если же вам нужен совет, то напишите мне в личку, что вас конкретно интересует (планирование, управление рисками, общий менеджмент и т.д.) и я вам обязательно помогу!
План собеседования строится в зависимости от позиции, на которую пришел кандидат. Например, собеседование для ведущих спецов и руководителей начинается с рассказа о нас и наших проектах, чтобы предвосхитить большое количество вопросов у кандидата. На собеседовании начинающих — рассказ о компании после вопросов кандидату.
Обычно собеседование длится не более часа, этого вполне достаточно чтобы сформировалось мнение о кандидате.
Основной посыл 21 пункта — составить собственное независимое мнение о кандидате на собеседовании, не принимать на веру хороших отзывов и не давать авансов кандидату.
Если кто-то мне скажет, что кандидат раздолбай, я просто не стану звать его на очную встречу.
А вот что вы скажете, если кандидат, прямо идеально подходя по остальным пунктам, на вопрос из п.19 открытым текстом вежливо скажет всякое нелицеприятное, причём кратко, но объективно обоснует, почему.
Тут ведь нужно смотреть не только на то, ЧТО он скажет, но больше на то, КАК он это скажет. Нужно быть немножко психологом.
Не так давно девочка на этот вопрос ответила спокойно и рассудительно: потому что меня заставляли выходить в выходные и перерабатывать без оплаты сверхурочных. Зато когда она это говорила, ее губы задрожали. Не все из присутствовавших на собеседовании это заметили…
Если бы мне задали такой вопрос, то я бы ответил вроде: «Потому что я помогу решить такую-то важную для вас проблему»
Это в случае, если вы очень-очень хотите работать в этой компании.
Полнотектовый поиск у вас реализован на уровне поиска одиночного слова? Можно ли искать фразу, слова на расстоянии нескольких слов и т.д.
В Elastic, например, этот функционал есть.
Поэтому, единственное решение в контексте KV хранилищ — написать процедуру на Lua, которая будет прочесывать все записи и суммировать результат.
Да, это было бы разумно сделать, написать небольшой скрипт на Lua, который делал бы вам нужную выборку данных.
Но на одном процессоре производительность будет не та, даже если предположить, что Lua настолько же быстра, как и Java.
Вы использовали Lua сами? Делали замеры производительности? Рекомендую осторожно относиться к таким синтетическим тестам и замерам производительности.
В теории, если расшардить данные на 48 процессов и так заставить работать все ядра, мы бы могли намного увеличить производительность.
Именно! Вы представляете, какую скорость вы бы получили.
ни один из KV хранилищ не сжимает данные
Опять же, кроме Redis вижу, что вы не имеете опыт использования KV-хранилищ. Посмотрите хотя бы RocksDB.
Я все это к тому, что не нужно писать свои велосипеды, ограничиваясь при этом языком, который вы знаете. Существует много готовых систем.
Теперь вы еще будете обязаны поддерживать свою систему, а это очень много времени.
Вы указали в промежуточных выводах, что key-value хранилища, в частности Tarantool, вам не подходят и отмели вариант его использования. Вопрос, почему?
Вопрос только в том, как покрыть тонны легаси кода, который десятилетиями накопился в системе. В коде ОС столько неизведанных мест, что их просто опасно трогать.
То, что вы приводите в пример в качестве «правильного процесса» — это просто best practices, не более. В целом, некорректно сравнивать сложность разработки и поддержки ОС и Chrome.
Давайте еще сравним разработку ПО для ракет и какой-нибудь веб-сервис.
На работе он не будет писать код каждый день и решать сложные олимпиадные задачи по алгоритмам. Может, разумно как-то снизить требования?
Очень расстраивает также, что некоторые российские компании перенимают все это, думая, что они Google.
С тимлидом ясно, не спорю.
Руководитель вашего тимлида тоже должен кодить? А его руководитель?
Но зачем нужно заставлять будущего руководителя отдела программировать и решать олимпиадные задачи? Как все это поможет потом в работе?
Если у вас есть конкретные предложения по книгам для начинающих руководителей, добавляйте в комментарии.
И принципы работы с людьми не устаревают.
Если да, то вы и сами можете дальше ориентироваться в профессиональной литературе.
Если же вам нужен совет, то напишите мне в личку, что вас конкретно интересует (планирование, управление рисками, общий менеджмент и т.д.) и я вам обязательно помогу!
Обычно собеседование длится не более часа, этого вполне достаточно чтобы сформировалось мнение о кандидате.
Если кто-то мне скажет, что кандидат раздолбай, я просто не стану звать его на очную встречу.
Тут ведь нужно смотреть не только на то, ЧТО он скажет, но больше на то, КАК он это скажет. Нужно быть немножко психологом.
Не так давно девочка на этот вопрос ответила спокойно и рассудительно: потому что меня заставляли выходить в выходные и перерабатывать без оплаты сверхурочных. Зато когда она это говорила, ее губы задрожали. Не все из присутствовавших на собеседовании это заметили…
Это в случае, если вы очень-очень хотите работать в этой компании.
В Elastic, например, этот функционал есть.
Тогда я не понял, зачем для Elastic нужно 200-300 серверов. Поясните, пожалуйста.
То, что у вас получилась хорошая система, я не спорю.
Да, это было бы разумно сделать, написать небольшой скрипт на Lua, который делал бы вам нужную выборку данных.
Вы использовали Lua сами? Делали замеры производительности? Рекомендую осторожно относиться к таким синтетическим тестам и замерам производительности.
Именно! Вы представляете, какую скорость вы бы получили.
Опять же, кроме Redis вижу, что вы не имеете опыт использования KV-хранилищ. Посмотрите хотя бы RocksDB.
Я все это к тому, что не нужно писать свои велосипеды, ограничиваясь при этом языком, который вы знаете. Существует много готовых систем.
Теперь вы еще будете обязаны поддерживать свою систему, а это очень много времени.
Использование Java — это совсем без комментариев.