Ничего странного, запрос автора делает full table scan, так как он просит StartsWith(x). Потому БД и стала узким горлышком. 10 vCore не помогли потому, что БД не умеет выполнять запрос на нескольких ядер. Судя по данным, запрос автора все читал с диска. Ваш запрос работает с индексом, который, скорее всего, полностью помещается в памяти.
В профессии есть менеджерские и технические аспекты. Аналогично такая - стать главврачом за 1.5 года можно, крутым нейрохирургом нельзя.
В ИТ есть проблема с шильдиками, Lead в одной организации совсем не то, что Lead в другой. На западе чуть проще, там у крупных компаний есть грейды, на которые ориентируются. Прекрасно, что за 1.5 года вы получили шильдик Lead. Главное не почивать на лаврах и продолжать учиться.
Ничего я не понимаю... какая отрицательная мотивация, мотивация делать/не делать что именно? Я просто плачу за попо-часы потому, что это просто и всем понятно в среде, где каждый сам выбирает сколько ему работать.
Что касается производительности, то я оставил попытки ее измерять или выражать каким-то числом. Это слишком дорого, с точки зрения процесса сбора и анализа данных. Остается только качественная оценка - Петя работает быстрее/лучше Васи по мнению Коли. На такой штуке далеко не уедешь в деле определения размера оплаты труда. Остаются попо-часы и фикс.
Неужели сложно оценить, что человек одной строчкой исправил баг?
кто оценит? когда? как? почему он правильно оценит? а что если оцениватель в отпуске, болеет, уволился? как все это превратить в деньги, выплачиваемые сотруднику? как избежать сговоров и иных злоупотреблений? что делать если оцениваемый не согласен с оценкой, как будем разруливать конфликт и кто будет за это отвечать?
Вместо всего этого - оплата за попо-часы или фикс.
Менеджер некомпетентен потому что не является архитектором ПО? Он же менеджер… а архитекторам есть чем заняться кроме чтения кода каждого сотрудника. А тесты производительности писать кто будет, равно как проверять насколько хорошо написаны тесты на новую функцию?
Дело не в «проще», то, что вы предлагаете не осуществимо на практике.
Если менеджменту чхать на разработчиков, то да, тайм-трекеры — это круто, а для меня, как для разработчика, тайм-трекеры — идиотская система отслеживания сотрудников жлобским руководством.
Я выше писал, почему используют трекеры. Не вижу связи с жлобством. Трекеры не от хорошей жизни использую . Если у вас есть идеи получше - озвучьте. Показатели системы контроля версий как-то не понятно как использовать. Кто-то багу чинит и за месяц одну строку меняет и его увольняют/депремируют на основании показателей контроля версий. Нанять армию тимлидов, которые будут оценивать ценность строчек когда тоже не рабочая идея.
Багтрекер это хорошо, но не отвечает на вопрос сколько денег вам заплатить. Если у вас фикс. зп то все ясно. Но зп не очень хорошо сочетается с полностью удаленной работой и свободным графиком. Часть проблем я обозначил в комментарии ниже.
Я бы с удовольствием платил за результат, но с этим есть сложности. А попо-часы это простая штука, она мне не нравится, но ничего лучше в remote-first окружении не придумано. Описал пару проблем тут.
Причина #1 - из 100 удалённых работников 5-20 будут работать на 2х или 3х работах. Либо вы будете всех тимлидов учить этих товарищей вычислять, либо автоматизируете процесс.
Причина #2 - удаленная работа это часто ещё и свободный график. Платить зп в таком случае уже невозможно. В моей компании я вижу, что большая часть людей легко меняет 30-50% зп на свободное время. То есть даже 50% зп позволяют им спокойно жить и они лучше получать меньше денег, но получат больше времени.
Хорошо бы во второй части увидеть больше про go и сравнение его реализации с тем, что есть в Java и .NET, в каждой из них есть реализация work stealing queue.
Что касается сервера и много потоков, то все не так однозначно. Поток, который ждёт IO, обрабатывается специальным образом и не тратит (тратит меньше) ресурсы CPU.
Топологий распределенных систем можно много придумать, от этого они не перестают быть распределенными. Все приведенные варианты отличаются в деталях, но движущая сила одна и та же - надо как-то решать проблемы синхронизации разных нод между собой.
Мне не понятно отчего две копии монолита, запущенные на разных машинах, лучше, чем два микросервиса? И так и так распределённая система получается, со всеми вытекающими.
И всё прекрасно работает в монолите за счёт того, что передача сообщения между компонентами — в пределах десятков (ли хотя бы сотен) наносекунд.
Это нужно ещё постараться, чтобы внутри процесса, через шину, данные прошли за сотни наносекунд. Я бы ждал микросекунды. Ваш аргумент понятен, но что делать бирже, если регулятор требует high availability? Все известные мне биржи только от этого уже становятся распределенными, нужно хотя бы дождаться ответа от реплики.
Насколько мне известно, 20 мкс бирже не особо нужно, скорее это маркет мейкер, который за это время должен пару десятков байт в запросе поменять и отправить его назад.
Мне ваша позиция кажется кажется упрощением, считаю, что все намного сложнее и интереснее.
Резюмируя ваше высказывание, выделю 4 утверждения - (1) нужно форсированное развитие интеллекта, (2) поэтому развитие ребенка стоит не дешево, (3) без него можно вырастить человека без особых интеллектуальных претензий, (4) а это не то, что требует от члена общества постиндустриальный переход.
Все сводится к (4) - что нужно чтобы соответствовать требованиям общества (ограничимся Россией). Согласимся, что если соответствовать, то будешь успешным (жить долго и счастливо). Я бы поспорил, что интеллект тут является существенным фактором. Скорее это гигиенический фактор - если его нет, то все плохо, если есть в достаточном количестве, то большая часть дверей открыты, при прочих равных. Не менее важны доступ к образованию, медицине, капиталу, опыту, оборудованию и так далее. Я нашел вот этот метаанализ, который призывает не переоценивать вклад интеллекта (IQ) в успех.
(1) нужно форсированное развитие интеллекта. Поверим, что для развития ребенка необходима и достаточна разнообразная среда, с которой ребенок взаимодействует и изучает по собственной воле (ну или после непродолжительного давления родителей, чтобы страх первого взаимодействия преодолеть). Вы говорите, что если в этой среде есть факторы X, Y, Z (развитие мелкой моторики, другие языки, разнообразные группы детей), то такая среда способствует развитию лучше, чем большинство других сред, которые мы можем себе вообразить. Будем называть такую среду эффективной.
(2) поэтому развитие ребенка стоит не дешево. В моей модели это то же самое, что сказать - "нельзя создать эффективную среду без существенных вложений" И тут уже можно спорить и приводить аргументы. Например о том, что мы мало знаем о значимости факторов. Или о том, что могут быть факторы среды, которые легкодоступны и стоят не дорого. Изучение поведения насекомых в траве хуже или лучше изучения языка? Для изучения насекомых достаточно лета, парка и родителя, которые обратит внимание ребенка на насекомых и выдаст пару книг по энтомологии. И еще интересный вопрос - а если изучение языка происходит без учителя, но с мамой?
(3) без него (форсированного и дорогого развития) можно вырастить человека без особых интеллектуальных претензий. Тут я кивну на предыдущие абзацы. Я не уверен, что нужно что-то форсировать, что это обязательно должно стоит дорого и что счастье, достаток и положение в обществе сильно коррелирует с наличием "интеллектуальных претензий".
Читайте тут - https://sqlservergeeks.com/sql-server-clustered-index-scan-operator/
Ничего странного, запрос автора делает full table scan, так как он просит StartsWith(x). Потому БД и стала узким горлышком. 10 vCore не помогли потому, что БД не умеет выполнять запрос на нескольких ядер. Судя по данным, запрос автора все читал с диска. Ваш запрос работает с индексом, который, скорее всего, полностью помещается в памяти.
В профессии есть менеджерские и технические аспекты. Аналогично такая - стать главврачом за 1.5 года можно, крутым нейрохирургом нельзя.
В ИТ есть проблема с шильдиками, Lead в одной организации совсем не то, что Lead в другой. На западе чуть проще, там у крупных компаний есть грейды, на которые ориентируются. Прекрасно, что за 1.5 года вы получили шильдик Lead. Главное не почивать на лаврах и продолжать учиться.
Ничего я не понимаю... какая отрицательная мотивация, мотивация делать/не делать что именно? Я просто плачу за попо-часы потому, что это просто и всем понятно в среде, где каждый сам выбирает сколько ему работать.
Что касается производительности, то я оставил попытки ее измерять или выражать каким-то числом. Это слишком дорого, с точки зрения процесса сбора и анализа данных. Остается только качественная оценка - Петя работает быстрее/лучше Васи по мнению Коли. На такой штуке далеко не уедешь в деле определения размера оплаты труда. Остаются попо-часы и фикс.
кто оценит? когда? как? почему он правильно оценит? а что если оцениватель в отпуске, болеет, уволился? как все это превратить в деньги, выплачиваемые сотруднику? как избежать сговоров и иных злоупотреблений? что делать если оцениваемый не согласен с оценкой, как будем разруливать конфликт и кто будет за это отвечать?
Вместо всего этого - оплата за попо-часы или фикс.
Менеджер некомпетентен потому что не является архитектором ПО? Он же менеджер… а архитекторам есть чем заняться кроме чтения кода каждого сотрудника. А тесты производительности писать кто будет, равно как проверять насколько хорошо написаны тесты на новую функцию?
Дело не в «проще», то, что вы предлагаете не осуществимо на практике.
Я выше писал, почему используют трекеры. Не вижу связи с жлобством. Трекеры не от хорошей жизни использую . Если у вас есть идеи получше - озвучьте. Показатели системы контроля версий как-то не понятно как использовать. Кто-то багу чинит и за месяц одну строку меняет и его увольняют/депремируют на основании показателей контроля версий. Нанять армию тимлидов, которые будут оценивать ценность строчек когда тоже не рабочая идея.
Угадайте, что с вами случится в gitlab если вы пару месяцев будете трекать по 4-6 часов в день максимум.
>Есть вполне конкретные критерии оценки качества кода, по которым и нужно оценивать показатели труда отдельных членов команды.
Интересно узнать какие? Думаю в индустрии половина проблем из-за субъективности оценки качества кода.
Багтрекер это хорошо, но не отвечает на вопрос сколько денег вам заплатить. Если у вас фикс. зп то все ясно. Но зп не очень хорошо сочетается с полностью удаленной работой и свободным графиком. Часть проблем я обозначил в комментарии ниже.
Каким образом учёт рабочего времени связан с экономией на вашей зп?
>А вам за попо-часы больше нравится платить?
Я бы с удовольствием платил за результат, но с этим есть сложности. А попо-часы это простая штука, она мне не нравится, но ничего лучше в remote-first окружении не придумано. Описал пару проблем тут.
>Вы уверены? Прям таки вижу как удаленные разработчики Amazon или Google «сидят под трекерами» без доли смущения.
А я очень даже вижу. И организации, которые изначально remote-first тоже. Например GitLab - https://about.gitlab.com/handbook/support/support-ops/workflows/gitlab_time_tracking.html
Причина #1 - из 100 удалённых работников 5-20 будут работать на 2х или 3х работах. Либо вы будете всех тимлидов учить этих товарищей вычислять, либо автоматизируете процесс.
Причина #2 - удаленная работа это часто ещё и свободный график. Платить зп в таком случае уже невозможно. В моей компании я вижу, что большая часть людей легко меняет 30-50% зп на свободное время. То есть даже 50% зп позволяют им спокойно жить и они лучше получать меньше денег, но получат больше времени.
Хорошо бы во второй части увидеть больше про go и сравнение его реализации с тем, что есть в Java и .NET, в каждой из них есть реализация work stealing queue.
Что касается сервера и много потоков, то все не так однозначно. Поток, который ждёт IO, обрабатывается специальным образом и не тратит (тратит меньше) ресурсы CPU.
А какие идеи Бека прижились? Я не вижу, чтобы XP кто-то всерьёз использовал.
Трекеры везде и всегда нужны чтобы знать, сколько вам денег заплатить. Или вам за строки кода больше нравится получать?
Топологий распределенных систем можно много придумать, от этого они не перестают быть распределенными. Все приведенные варианты отличаются в деталях, но движущая сила одна и та же - надо как-то решать проблемы синхронизации разных нод между собой.
Мне не понятно отчего две копии монолита, запущенные на разных машинах, лучше, чем два микросервиса? И так и так распределённая система получается, со всеми вытекающими.
Это нужно ещё постараться, чтобы внутри процесса, через шину, данные прошли за сотни наносекунд. Я бы ждал микросекунды. Ваш аргумент понятен, но что делать бирже, если регулятор требует high availability? Все известные мне биржи только от этого уже становятся распределенными, нужно хотя бы дождаться ответа от реплики.
Насколько мне известно, 20 мкс бирже не особо нужно, скорее это маркет мейкер, который за это время должен пару десятков байт в запросе поменять и отправить его назад.
Мне ваша позиция кажется кажется упрощением, считаю, что все намного сложнее и интереснее.
Резюмируя ваше высказывание, выделю 4 утверждения - (1) нужно форсированное развитие интеллекта, (2) поэтому развитие ребенка стоит не дешево, (3) без него можно вырастить человека без особых интеллектуальных претензий, (4) а это не то, что требует от члена общества постиндустриальный переход.
Все сводится к (4) - что нужно чтобы соответствовать требованиям общества (ограничимся Россией). Согласимся, что если соответствовать, то будешь успешным (жить долго и счастливо). Я бы поспорил, что интеллект тут является существенным фактором. Скорее это гигиенический фактор - если его нет, то все плохо, если есть в достаточном количестве, то большая часть дверей открыты, при прочих равных. Не менее важны доступ к образованию, медицине, капиталу, опыту, оборудованию и так далее. Я нашел вот этот метаанализ, который призывает не переоценивать вклад интеллекта (IQ) в успех.
(1) нужно форсированное развитие интеллекта. Поверим, что для развития ребенка необходима и достаточна разнообразная среда, с которой ребенок взаимодействует и изучает по собственной воле (ну или после непродолжительного давления родителей, чтобы страх первого взаимодействия преодолеть). Вы говорите, что если в этой среде есть факторы X, Y, Z (развитие мелкой моторики, другие языки, разнообразные группы детей), то такая среда способствует развитию лучше, чем большинство других сред, которые мы можем себе вообразить. Будем называть такую среду эффективной.
(2) поэтому развитие ребенка стоит не дешево. В моей модели это то же самое, что сказать - "нельзя создать эффективную среду без существенных вложений" И тут уже можно спорить и приводить аргументы. Например о том, что мы мало знаем о значимости факторов. Или о том, что могут быть факторы среды, которые легкодоступны и стоят не дорого. Изучение поведения насекомых в траве хуже или лучше изучения языка? Для изучения насекомых достаточно лета, парка и родителя, которые обратит внимание ребенка на насекомых и выдаст пару книг по энтомологии. И еще интересный вопрос - а если изучение языка происходит без учителя, но с мамой?
(3) без него (форсированного и дорогого развития) можно вырастить человека без особых интеллектуальных претензий. Тут я кивну на предыдущие абзацы. Я не уверен, что нужно что-то форсировать, что это обязательно должно стоит дорого и что счастье, достаток и положение в обществе сильно коррелирует с наличием "интеллектуальных претензий".