Кого-нибудь увольняют из-за плохого кода? [закрыто]

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

Я не помню никого, кого бы уволили из-за плохого кода.

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

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

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

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

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

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

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

Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что ответы на вопросы «Является ли X нормальным» или «Происходит ли X когда-либо» будут полностью основаны на мнениях / анекдотических ответах.
Если никакое корректирующее поведение не помогает, то вам, вероятно, просто нужно решить, является ли их код «достаточно хорошим» или уволить их. В зависимости от того, в какой стране вы живете, может быть проще или сложнее (или почти невозможно) уволить кого-то, если он может выполнить любую реалистичную измеримую цель, которую вы можете придумать.
Я не могу никого уволить, технический руководитель занимает должность главного программиста/дизайнера, а не менеджера в моей нынешней компании.
Остается только надеяться, что вы троллите. -1 ВТК
Если людей, которые пишут плохой код, нельзя уволить, их всегда можно поднять на руководящие должности. Это широко известно как принцип Дилберта. Посмотрите его для более подробной информации. :)
Большинство знают, что попали в неприятную ситуацию, и уходят до того, как их уволят. Но да, я видел, как людей увольняли за плохой код.
Это зависит от компании, но, к сожалению, во многих компаниях решение остается за менеджером без технического опыта.

Ответы (2)

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

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

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

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