Как повысить продуктивность, когда ты рядовой прогер?
Публичный постВремя от времени сталкиваюсь с ощущением, что работаю неэффективно. Как типичный представитель 21-ого века я иду в Google с этим вопросом. Все, что находится по подобным запросам, можно обобщить под биркой "как улучшить что-то. пособие для начальников". То есть все книжки/методики, что я находил, исходят из предпосылки, что их изучает проджект-менеджер/тимлид или еще какая-то шишка, просвещает об этих методах нижестоящих, они вместе их внедряют и все счастливы.
Но я пока что обычный рядовой программист. Стучаться наверх с предложениями, которые я нагуглил пять минут назад, меня не вдохновляет, потому что в таком случае нужно полностью изучить методику, чтобы рассказать о ней во всей красе и ответить на все встречные вопросы. А я практик, не теоретик, мне куда легче начать что-то применять и из личного опыта понять, подходить это мне или нет.
Вот собственно и вопрос: можете посоветовать что-то почитать по повышению продуктивности из расчета на обычного программиста, а не начальника?
UPD*: судя по многим комментариям я неточно сформулировал вопрос, попробую это исправить. Есть множество методик для организации работы одной отдельно взятой команды или фирмы в целом (смешанные команды, гильдии Spotify, Agile-разработка и так далее), мой вопрос состоит в том, какие есть подобные методики для самого разработчика вне зависимости от его команды, проекта, фирмы?
Какого плана проблемы-то?
Если много прокрастинируешь, то можно попробовать что-нибудь типа Pomidoro. Если тебе сверху говорят, что ты как-то медленно или плохо работаешь, то тут надо попросить пояснить, в каком плане именно проблема и есть ли у начальства какие-то советы на этот счёт.
Если ты добросовестно работаешь, сверху жалоб нет, но внутри что-то беспокоит насчёт твоей продуктивности, то я только могу посоветовать попытаться как-то расслабиться или попросить фидбек либо от менеджера, либо от товарищей по команде.
Что значит "повысить продуктивность"? Выдавать больше кода? Выдавать качественнее? Тратить меньше времени на митинги? Работать 10 часов? Работать 5 часов? Успешно автоматизировать рутинные процессы?
Твой вопрос настолько широкий, что естественно на него не будет прямого ответа. Большая часть "продуктивных" вещей приходит с опытом, а главное - опытом в смежных областях (смотри DevOps).
Часто бывает проблема даже не в тебе, а в тех от кого ты зависишь и бюрократии.
Найди свой bottleneck и попытайся его убрать. :shrug:
Если речь о прямых кодочасах и ощущении "чет я маловато работаю вроде" то мне помогает трекать время когда я фигачу. Включаешь тоггл и поехал. Пока ты трекаешь нельзя смотреть чат, клуб, что там еще. Если смотришь, выключил трекер. В конце дня должно быть часа 4-5 фигаченья хотя бы. Значит все окей, продуктивненько.
Желательно еще писать над какой конкретно таской работаю а не просто "трекаю работу".
Если работа это пиздеть с коллегами (шок контент, это тоже наша работа) трекаю это в отдельную задачу. Смотрю потом не выходит ли что пиздим мы слишком много, может как-то можно поменьше в следующий раз без потери смысла.
После задачи можно подумать где я дольше всего проебывался.
Если я опять гуглил синтаксис хеловорлда возможно пора его все-таки запомнить, ну или прикрутить каких-то сниппетов в ИДЕ (кого я обманываю, ниразу так не делал).
Если вопрос про личную эффективность, то стоит помнить, что ты –
сам себе начальник, поэтому можно применять в таком ключе. Вообще про то, как организовать свое время можно посоветовать
Джедайские Техники.
Если вопрос про процессы и прочая, то тут нужно исходить из индивидуальных особенностей вашей ситуации. Но возможно попытаться пользоваться инструментами, которые есть (у вас есть команда и скрам? Есть ретроспективы? Выскажись на них. Есть 1на1 с менеджером? Обсуди там. Ничего этого нет? Сходи в курилку с начальником). Если нет никого с опытом организации, можно попытаться сообща в чем-то разобраться и внедрить. Или искать кого-то, кто сможет, если есть деньги. Проблемы ведь могут быть как из-за недостатка тех экспертизы, так и по линии ПМства.
Мне кажется стоит сперва детальнее понять зачем и что нужно улучшать.
Что заключается в ощущении "работаю неэффективно"? Связано ли это непосредственно с работой? Например, могу представить такие возможные варианты:
Эти опции могут быть связаны с совершенно разными (иногда противоположными) причинами ощущения себя "неэффективным": может быть медленно делаю непонятные задачи, может плохо планирую и оцениваю, итд. Вот и разбираться лучше не с абстрактной неэффективностью, а с конкретными факторами.
Могу рассказать про свой опыт. Я ощущал свою неэффективность как "мало работаю". Потом, разобравшись получше, переформулировал: "не закрываю все задачи, на которые подписался в спринт, в квартал". Дальше для меня сработали две вещи. Первая: осознание того, что я боюсь браться за непонятные задачи (тут помог психолог). Вторая: книжка Do It Tomorrow http://markforster.squarespace.com/do-it-tomorrow/, которая дает некоторые системы для организации своей работы. В том числе и самую для меня важную: надо планировать задачи на день так, чтобы точно все их сделать, пусть даже это будет всего одна задача.
В других комментах правильно спрашивают, что ты подразумеваешь под "неэффективностью". Сложно ответить на твой вопрос, не зная, что именно ты вкладываешь в это слово (вариантов масса).
Но вообще одним из самых важных открытий для меня было то, что быть неэффективным — нормально. Если менеджмент и окружающие довольны, какосеки капают, то и не пофиг ли, что ты закрыл сегодня на два тикета меньше, чем мог бы? Душевное и физическое здоровье тоже очень важные вещи.
Выше уже посоветовали парочку книг. Присоединяюсь к рекомендации "Джедайских техник".
Добавлю небольшие мелочи.
Освоить слепопечатание (ru и en раскладки).
Запомнить и применять горячие клавиши в прогах, которые часто используешь (браузер, IDE, консоль).
Автоматизировать рутину (есть какие-то повторяющие действия, команды - автоматизируй).
Тренировать фокус (выше помидоро рекомендовали).
Ну и не менее важное: здоровый сон и физ.нагрузки.
UPD. Из комментария выше стало понятно, что речь у топикстартёра была про другую эффективность, но всё равно оставлю написанное.
Поддержу предыдущих ораторов по поводу того, что не ясна проблема. Я бы советовал четко сформулировать то, что ты хочешь улучшить и уже пытаться разобраться с конкретной проблемой - например хочу меньше прокрастинировать, хочу справляться с задачами в срок, хочу делать более качественно, хочу прогать сам, а не катать со stackoverflow.
Ты слишком много прокрастинируешь? Тут все зависит от того справляешься ли ты или нет. Если ты справляешься со своими задачами так трать время на развитие скиллов или бери больше задач, показывай, начальству что можешь расти. Ну и вообще подумай, хочешь ли ты, чтобы у тебя была выше нагрузка.
Хочешь делать работу более качественно и не катать со stackoverflow - развивайся, копай вглубь стека в котором ты работаешь, совершенный код прочти что ли.
По поводу предложений начальству - так в чем проблема изучить теорию, твои предложения настолько сильно меняют программу?
Залинкую схожий пост, возможно часть ответов найдётся там в тексте. Жаль комментариев маловато: https://vas3k.club/question/9488/