Вы имеете дело с несколькими проблемами здесь ... Давайте начнем с очевидного ...
Это нормально?
Конечно нет. Но ... это распространено? К сожалению, да.
Относительно исправления ошибок
Хотя это не освобождает от остального беспорядка, с которым вам приходится иметь дело, и от многочисленных проектов, которыми они вас перегружают, я просто хочу сделать быстрое замечание, что подход «исправление ошибок» подходит только для вас, как для разработчика , может быть совершенно разумным подходом для компании и ее менеджмента.
Поверхность для большего количества ошибок и затрат
Чем больше кода вы коснетесь, тем выше вероятность появления ошибок, даже если вы намерены улучшить его. Это означает увеличенное время разработки, время тестирования и затраты. И если он проскальзывает в сервисный выпуск со средним или высоким уровнем дефектов, это для них большой беспорядок.
Шум / туман в ваших логах
С точки зрения SCM, это также имеет некоторый смысл, если вы работаете непосредственно с ветки релиза службы, поскольку вы хотите иметь четкое представление об изменениях, связанных с исправлением ошибок. Если существует 15 коммитов с тысячами изменений, связанных с ошибкой, которая фактически требовала, возможно, изменения кода в 1 строку, это немного раздражает.
Так что, будучи новым наемным работником, еще более разумно попросить вас воздержаться от рефакторинга и / или усовершенствования программного обеспечения, и вполне нормально, чтобы я был настолько «хирургическим», насколько это возможно с вашими исправлениями ошибок. Это просто держит головные боли в страхе.
Можете ли вы сделать что-нибудь об этом?
Теперь, это НЕ означает, что были бы способы достичь как здравого смысла кода, так и здравомыслия вовлеченных людей. Будучи младшим, им нужно, чтобы кто-то проверил ваши изменения, особенно исправления ошибок, и удостоверился, что они одобрены, прежде чем вносить их в сборки выпуска службы. Это предотвратит или ограничит радикальные изменения и будет безопаснее.
Проект из ада
Дерьмовый код, Стадо программистов, Дублирование, Дерьмовая архитектура
Опять же, адвокат дьявола здесь, но просто показывает, что ваш начальный запрос содержит несколько непоследовательных битов.
Моя точка зрения такова: я действительно очень редко взял в кодовую , который не был в этом состоянии. И по случайности, которую я сделал, они были недавно начаты проекты или прототипы, которые были начаты довольно звездными программистами. Но удивительно подавляющее большинство из них выглядело как дерьмо, и пугающее количество из них было настоящей дерьмом. Даже те, кто начинаются хорошими или великими программистами, могут оказаться чушью, сроками и другими делами, помогающими ...
Добро пожаловать в промышленную разработку программного обеспечения!
И ты знаешь, что весело? Это часто намного хуже в мире веб-разработки. Наслаждайтесь! :)
Слишком много проектов и запросов, не хватает рук и времени
Проблема заключается здесь, вероятно, в:
- ваше руководство (может быть, неосознанно) оскорбляет вас ,
- ваши коллеги (возможно, неосознанно) оскорбляют вас ,
- ты (может быть, неосознанно) не прикрываешь свою задницу и недостаточно сражаешься в битвах .
Ваши менеджеры должны знать, что вы работаете над слишком многими проектами, чтобы управлять ими. Если нет, убедитесь, что они как можно скорее. Также убедитесь, что они знают, что в парке не только пикник, что вы чувствовали давление, и что это нужно прекратить.
Постарайтесь осмотреться и убедиться, что ваши коллеги не отвлекают вас от других задач и проектов, напрямую (действительно говоря, «X сможет позаботиться об этом») или косвенно («Я не тот человек для это, найти кого-то еще "-> в конечном итоге вы).
Личный анекдот здесь: я прошел стажировку несколько лет назад, и как раз в мой последний день, когда я получил оценку, мой начальник сказал мне, несмотря на то, что был очень доволен моей работой в целом, что у одного из менеджеров было чувство, что я разгрузил несколько «не очень веселых заданий» на другого стажера, когда они ожидали, что я их заберу. Я был огорчен тем, что их подвели, и думал, что я буду выглядеть так, будто расслабляюсь, когда мои намерения были прямо противоположными: я пытался взять более сложные задания, а другой молодой стажер справлялся с меньшим количеством волос. проблемы, Мало ли я понял, что, если бы я был на его месте, мне было бы скучно от отсутствия вызова и, вероятно, почувствовал бы, как он сделал. Дело в том, что вам нужно общаться, чтобы убедиться, что никто не делает ложных предположений о трех совершенно разных вещах:
- что ты можешь сделать ,
- что ты хочешь сделать ,
- и что вы готовы сделать .
Так что это также частично ваша вина, что вы позволили этому стать таким. Но это нормально, это урок, который должен выучить каждый. Это имеет место в двух букв: N - O .
Вы обычно используете его в качестве префикса для более длинного, но не намного более заряженного ответа: нет, я не могу этого сделать. Нет, я не знаю как это сделать. Нет, я не уверен, что я подходящий человек для этого. Нет, я никогда этого не делал.
Во-первых, очень легко почувствовать, что вы можете просто сказать «да, я (в конце концов) сделаю это», и накапливать вещи и делать их, возможно, потратив несколько дополнительных часов. Это все неправильно. Вы должны понимать, что после ваших навыков ваше время - ваш самый ценный актив для вас и для вашей компании. Если он используется не по назначению, это влияет на проекты, сроки и бюджеты . Так просто, как, что.
Кроме того, выглядит немного тревожно, что у вас будет слишком много людей, чтобы отчитываться. Можно иметь дело с несколькими клиентами, а также с несколькими владельцами проектов или даже основными заинтересованными сторонами, с которыми вам нужно общаться. Но в целом, особенно если вы новичок, вам следует в основном подчиняться только нескольким менеджерам (и, скорее всего, только вашему непосредственному руководителю и, возможно, ведущему или старшему разработчику). Как это получилось? Я не знаю. Это может быть организационная проблема в вашей компании, или это может быть результатом того, что вы делаете одолжение, а затем связываетесь напрямую и не говорите «нет». Или может быть, что ваш непосредственный менеджер так же занимается вопросами диспетчеризации задач, насколько я знаю (я действительно догадываюсь, но шаблон узнаваем и хорошо известен).
Я бы порекомендовал вам сделать следующее довольно быстро: поговорите со своим непосредственным руководителем лично, объясните, что другие менеджеры могут быть немного настойчивыми или (возможно, менее плаксивыми), что у вас слишком много материала, набираемого слишком многими людьми, и что вам нужен его вклад (и, возможно, их тоже), чтобы знать, какие из них должны быть приоритетными.
Запросы на изменение на 180 градусов
Это еще одна большая проблема. Они, вероятно, не ваша вина, но вы можете попытаться помочь им решить эту проблему.
«Запросы на изменение с 180 степенями», как вы их красиво и четко назвали, являются явным признаком того, что требования нечеткие с самого начала, и что никто не пытается сделать все возможное, чтобы их со временем обточили и очистили.
Обычно, когда кому-то нужно позвонить (или, что лучше, встать на ноги), схватить заинтересованных лиц за руку и четко сказать им: «Это то, где мы находимся, это то, куда вы хотите, чтобы мы пошли, подтверждаете ли вы, что мы движется в правильном направлении? Можно не получать четких ответов в начале, но чем больше времени проходит, тем яснее они должны стать, или этот проект - катастрофа, ожидающая своего появления.
Обычно я бы сказал, что нужно взять всех заинтересованных лиц в пределах досягаемости, поместить их в комнату, вести их через спорные вопросы и постепенно пытаться решить их - и получить приоритеты, пока вы в этом. Однако в вашем случае это может быть уже не ваш звонок. Но вы упоминаете, что они действительно дали вам ответственность за проекты; так что если это действительно так, то возьмите на себя ответственность и сделайте это. И не стесняйтесь говорить «мы не можем этого сделать» или даже «мы не будем этого делать» . Очень важно ограничить масштаб проекта.
Если нет места, нет четких требований в конце обсуждения.
Перегрузка электронной почты
Люди склонны вести себя по-разному в зависимости от коммуникационной среды, которую они используют. Лично, хотя я довольно тихий человек (и работаю в основном в зарубежных странах, поэтому мне также не нравится много говорить по телефону), я бы предпочел в порядке предпочтения, основанного на производительности:
- разговаривать с людьми лицом к лицу ,
- разговаривать с людьми по телефону,
- разговаривать с людьми через IM,
- разговаривать с людьми по электронной почте.
Электронные письма удобны для отслеживания, для получения подтверждений, для отправки заметок.
Для планирования, планирования и обсуждения проблемных моментов они практически бесполезны. Стучите в дверь парня, пока он не откроет ее, и сядьте с блокнотом и копией вашей документации, чтобы прояснить ситуацию. Как только вы закончите, отправьте электронное письмо и запросите подтверждение. Если он приходит с отрицательным ответом или слегка скрытой попыткой проникнуть в конверт что-то еще, снова идите в осаду офиса вашего собеседника.
Это разработка программного обеспечения. Это часто более продуктивно, когда вы не печатаете на клавиатуре, и на самом деле может сократить расходы на дерьмо, с которым вам придется иметь дело.
Выполнение команды стоит
Вы делаете эквивалент работы команды? Может быть.
Вы делаете эквивалент работы вашей команды? Возможно нет.
Я имею в виду, что ваша команда, вероятно, занята работой, а вы перегружены работой. И вот в чем проблема: вы перегружены вещами, которые должны быть вытеснены из текущих временных рамок проекта или предоставлены кому-то, у кого есть время.
Был ли я идиотом, когда изначально ожидал, что все будет иначе?
Нет; просто новичок в вечеринке. Это как первое похмелье или отношения. Вы преодолеете это.
Я предполагаю, что этот пост превратился в большую шумиху, но, пожалуйста, скажите мне, что это не то же самое для каждого разработчика.
Это то же самое для каждого разработчика в хаотичных организациях, будь то стартапы или авторитетные гиганты, и у которых нет опыта или уверенности, чтобы заставить что-то двигаться вперед, чтобы снизить ваши шансы на выживание в правой части шкалы.
PS Моя зарплата почти равна, если не ниже, чем у кассира в супермаркете.
Я сделал достойную зарплату на рабочих местах, которые могли бы показаться дерьмовыми. Учитывается не номер чека, а контекст. Что вы делаете, ваш возраст, где вы живете и работаете, и т.д ...
При этом, если вам сильно недоплачивают, вы слишком много работаете и не совсем младше, попросите повышение или получите новую работу!
Это просто:
- если они ценят то, что вы делаете, они с радостью согласятся на повышение,
- если они этого не сделают, будущее в этой компании выглядит не очень радужно (по крайней мере, для вас это важно), так что не расстраивайтесь по поводу ухода.
Имейте в виду, что просить повышение - это хорошая вещь, даже если вы не будете склонны так думать сначала. Это доказывает, что вы отслеживаете то, что вы делаете, и намекает на то, что вы следите за другими вариантами, оставаясь при этом на борту. И хорошо бы привыкнуть запрашивать их, так как они похожи на собеседования или торги в целом: это то, что требует практики, и они не падают с неба, если вы сами не тянетесь к ним. Некоторые компании регулярно распределяют рейзы без запроса, но это только потому, что они достаточно умны, чтобы знать, что это делает вас наполовину счастливым и менее готовым к изменениям, и они хотят подстригать траву у вас под ногами (большинство людей чувствуют немного беспокойно о повышении предложения повышения, они были предложены непосредственно).
Выполнение этого запроса немного выходит за рамки данного проекта, поэтому я не буду вдаваться в подробности. Но я бы порекомендовал вам подготовить запись ваших идентификаторов фиксации SCM, ваших исправленных ошибок и достижений, а также подготовить отчеты, сравнивая их с общими усилиями команды. Сюда:
- Вы можете измерить для себя, если вы сделали намного больше, чем ваши сверстники или нет,
- Вы можете стоять на своем, если они говорят, что ваш запрос не оправдан.