Как выжить программисту в аутсорс галерах и крупных компаниях вроде Связного и Сбербанка
Метрики
Ретроспектива того что сделал программист всегда идёт только по метрикам и проводится менеджерами, а не технарями. В том же Гугле оценка тоже по метрикам. Это всегда только количество, и никак не качество (оценивает-то менеджер).
Например, метрики:
Количество закрытых задач.
Количество коммитов.
Количество написанных строк.
Количество комментариев в джире.
(привет Xsoπa, или как та дыра называется?).
Программисту нужно показывать что он что-то делал, а с точки зрения менеджмента они ничего не делают. Поэтому нужно разводить как можно больше лапши и говнокода чтобы только вы поняли и чтобы было что показать менеджменту, делать себя незаменимым.
Не стоит удалять старые и ненужные коммиты.
Не стоит сквешить коммиты.
Не стоит удалять ненужные ветки.
Не стоит страдать перфекционизмом.
Не стоит править баги не относящиеся к текущей задачи.
Делайте коммиты на каждый чих.
Нужно делать коммиты на каждый чих. Поставили пробел - сделали коммит, записали в джире 2 часа.
Если вы заметили баг который можете поправить в рамках текущей задачи за 5 минут, то не правьте его. Поставьте отдельно задачу. Поставьте оценку по времени умноженную на 100500. Если вы попроавите баг в рамках текущей задачи, то менеджмент этого не заметит и подумает что вы ничего не делаете. В итогде вас уволят.
Почему не стоит удалять старые ветки и нельзя сквешить коммиты?
Например Вася написал такой код:
1 коммит: a+b=0+2
2 коммит: a+b=1+1
3 коммит: a+b=2-1+1
4 коммит: a+b=2-0+0
5 коммит: a+b=2-1+1-0+0
6 коммит: a+b=2-1+1-0+0-0+0
7 коммит: a+b=2
Затраченное время Вася записал как 7 часов. Всё это время Вася ещё всех задалбывал вопросами показывая что он работает. Ждал ответы в чате от команды по часу.
А Саша сделал тоже саможе, только всё сквешнул, удалил ненужные ветки и у него остался только код:
1 коммит: a+b=2
Затраченнное время Саша записал как 1 час.
С точки зрения менеджера Саша ничего не делал, а Вася молодец, стахановец, написал целых 7 коммитов против 1 у Саши, активно коммуницировал с командой задалбывая их тупыми вопросами и ждя ответ по часу. Угадайте кого уволят? Конечно же Сашу кто писал аккуратный код и удалял мусор в виде ненужных веток и коммитов, и кто не "отчитывался" в чате задалбывая коллег вопросами за каждый чих!
Тесты
Тесты никому не нужны. Это на собеседовании от вас хотят услышать что вы любите писать юнит-тесты и делать качественно ПО. На практике же с точки зрение менеджеров написание тестов - это бесполезная трата времени т.к. оно не закрывает новые фичи. Менеджменту важнее сэкономить пару тысяч рублей на вашей зарплате и отчитаться перед этим вышестоящему менеджеру об экономии и эффективности, чем если какой-то гипотетический баг уйдёт в продакшен и компания потеряет миллион рублей. В последнем случае уволят техдира с зарплатой в миллион рублей, а в первом случае уволят разработчика с зарплатой в 50к рублей т.к. он долго пишет тесты и не закрывает новые фичи. Особо касается аутсорса где заказчики не хотят платить за какое-то мистическое тестирование. Если пишите тесты, то пишите их для себя и не коммитьте в продакшен если это явно не написано в задаче. Не надо трекать много времини на тесты. Менеджеры за это увольняют т.к. по их мнению тестирование - это "ничего неделание" и вы пинали балду. Тесты не закрывают новую фичу!
Токсики
Токсичные г@ндны. В компаниях часто попадаются такие кадры с ЧСВ выше крыши, которых не спросить ни о чём. На этапе онбординга это очень актуально. Спрашиваешь такого мудака о доступах, а он шлёт тебя подальше. Такие вопросы следует по максимуму переносить в публичную часть - джиру и общие чаты. Чтобы потом вы могли скзать начальству что вот ждёте доступы, а он их не даёт. Особенно не стоит скатываться до их уровня, публично оскорблять.
Коллеги вам не друзья, а тимлид особенно. Коллега, а особенно Тимлид может быть добрым и пушистым. Отвечать на вопросы по мере возможностей, а на встрече с менеджментом переваливать на вас ответственность и делать вид что его хата с краю. Следует отчитываться не только перед прямым руководителем, но по возможности прыгать через голову. Отписываться в джире, чатах чтобы видели начальники начальников начальников. Писать прямо начальнику его начальника и выше: главе отдела, техдиру.
От сеньоров часто ждут что они должны решать задачу сами не задалбывая других. "Самостоятельная боевая еденица" говорят. На деле если вы будете всё решать сами, то вас уволят. Например вы назначаете созвоны с контрагентами, представителями банка, чтобы обсудить API и инфраструктуру. А начальник начальника вашего тимлида этого не знает и думает что вы ничего не делаете, хотя это технические вопросы и его пока волновать не должно. А тимлид тупо не явлется на втречу. Виноваты в конечном итоге вы сами. В общем, чтобы вас не уволили и обозначить что вы действительно работаете, надо писать тонну отчётов, дублировать их в 10 местах, писать 5 начальникам через голову как по горизонтали, так и по вертикали.
Заваливание работой в аутсорсе
Не стоит выкладыватья на 100%, перерабатывать до ночи за бесплатно. Особенно актуально для удалёнки. Когда менеджер видит что вы закрываете задачи в срок, то он вам будет накидывать ещё больше задач и снижать оценку по времени на их выполнение. В итоге работая по ночам и спя 4 часа вы просто перегорите. А он конечно будет думать что это норма и вы работаете 8 часов. А ещё хуже будет думать что вы пинаете балду и работаете всего 4 часа (но вы спите всего 4 часа и 20 работаете чтобы пройти испытательный срок).