Pull to refresh
60
0
Игорь @digore

Специалист по улучшению мира

Send message
Я вас уверяю, команда разработки Windows также покрывает новый код тестами и автоматизирует. Они также не могут закоммитить, пока не пройдут все тесты.
Вопрос только в том, как покрыть тонны легаси кода, который десятилетиями накопился в системе. В коде ОС столько неизведанных мест, что их просто опасно трогать.
То, что вы приводите в пример в качестве «правильного процесса» — это просто best practices, не более. В целом, некорректно сравнивать сложность разработки и поддержки ОС и Chrome.
Давайте еще сравним разработку ПО для ракет и какой-нибудь веб-сервис.
Жаль, что это перевод. Я бы хотел спросить у автора, что такое «правильный» процесс разработки и какое влияние он имеет на конечный результат.
А смысл менеджеру менеджера ее вытачивать?
На работе он не будет писать код каждый день и решать сложные олимпиадные задачи по алгоритмам. Может, разумно как-то снизить требования?
Очень расстраивает также, что некоторые российские компании перенимают все это, думая, что они Google.

С тимлидом ясно, не спорю.
Руководитель вашего тимлида тоже должен кодить? А его руководитель?

Да я не против поговорить про базовые алгоритмы и структуры данных, про архитектуру распределенных систем — это нормально, чтобы отфильтровать «эффективных» менеджеров.
Но зачем нужно заставлять будущего руководителя отдела программировать и решать олимпиадные задачи? Как все это поможет потом в работе?
С разработчиками понятно, но зачем спрашивать те же вопросы по программированию и алгоритмам на управленческие должности? При этом вопросы не про базовые структуры и алгоритмы, а те же хитровывернутые контейнеры, динамическое программирование и оптимизация.
Количество добавивших пост в закладки говорит само за себя.
Если у вас есть конкретные предложения по книгам для начинающих руководителей, добавляйте в комментарии.
И принципы работы с людьми не устаревают.
Книг хороших очень много, здесь только необходимый минимум.
Скажите честно, а вы указанные книги все прочитали?
Если да, то вы и сами можете дальше ориентироваться в профессиональной литературе.
Если же вам нужен совет, то напишите мне в личку, что вас конкретно интересует (планирование, управление рисками, общий менеджмент и т.д.) и я вам обязательно помогу!
План собеседования строится в зависимости от позиции, на которую пришел кандидат. Например, собеседование для ведущих спецов и руководителей начинается с рассказа о нас и наших проектах, чтобы предвосхитить большое количество вопросов у кандидата. На собеседовании начинающих — рассказ о компании после вопросов кандидату.
Обычно собеседование длится не более часа, этого вполне достаточно чтобы сформировалось мнение о кандидате.
Основной посыл 21 пункта — составить собственное независимое мнение о кандидате на собеседовании, не принимать на веру хороших отзывов и не давать авансов кандидату.
Если кто-то мне скажет, что кандидат раздолбай, я просто не стану звать его на очную встречу.
А вот что вы скажете, если кандидат, прямо идеально подходя по остальным пунктам, на вопрос из п.19 открытым текстом вежливо скажет всякое нелицеприятное, причём кратко, но объективно обоснует, почему.

Тут ведь нужно смотреть не только на то, ЧТО он скажет, но больше на то, КАК он это скажет. Нужно быть немножко психологом.
Не так давно девочка на этот вопрос ответила спокойно и рассудительно: потому что меня заставляли выходить в выходные и перерабатывать без оплаты сверхурочных. Зато когда она это говорила, ее губы задрожали. Не все из присутствовавших на собеседовании это заметили…
Если бы мне задали такой вопрос, то я бы ответил вроде: «Потому что я помогу решить такую-то важную для вас проблему»
Это в случае, если вы очень-очень хотите работать в этой компании.
Полнотектовый поиск у вас реализован на уровне поиска одиночного слова? Можно ли искать фразу, слова на расстоянии нескольких слов и т.д.
В Elastic, например, этот функционал есть.
У вас база всего 800MB?
Тогда я не понял, зачем для Elastic нужно 200-300 серверов. Поясните, пожалуйста.
Lua здесь упомянут исключительно потому, что он используется в Tarantool.

То, что у вас получилась хорошая система, я не спорю.
Поэтому, единственное решение в контексте KV хранилищ — написать процедуру на Lua, которая будет прочесывать все записи и суммировать результат.

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

Но на одном процессоре производительность будет не та, даже если предположить, что Lua настолько же быстра, как и Java.

Вы использовали Lua сами? Делали замеры производительности? Рекомендую осторожно относиться к таким синтетическим тестам и замерам производительности.

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

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

ни один из KV хранилищ не сжимает данные

Опять же, кроме Redis вижу, что вы не имеете опыт использования KV-хранилищ. Посмотрите хотя бы RocksDB.

Я все это к тому, что не нужно писать свои велосипеды, ограничиваясь при этом языком, который вы знаете. Существует много готовых систем.
Теперь вы еще будете обязаны поддерживать свою систему, а это очень много времени.
Вы указали в промежуточных выводах, что key-value хранилища, в частности Tarantool, вам не подходят и отмели вариант его использования. Вопрос, почему?
Данные целиком помещаются в памяти, в наличии 48 процов. В чем такая прям сложность задачи? Почему не подошел Tarantool?

Использование Java — это совсем без комментариев.

Information

Rating
Does not participate
Works in
Registered
Activity