Как повысить продуктивность, когда ты рядовой прогер?

 Публичный пост

Время от времени сталкиваюсь с ощущением, что работаю неэффективно. Как типичный представитель 21-ого века я иду в Google с этим вопросом. Все, что находится по подобным запросам, можно обобщить под биркой "как улучшить что-то. пособие для начальников". То есть все книжки/методики, что я находил, исходят из предпосылки, что их изучает проджект-менеджер/тимлид или еще какая-то шишка, просвещает об этих методах нижестоящих, они вместе их внедряют и все счастливы.

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

Вот собственно и вопрос: можете посоветовать что-то почитать по повышению продуктивности из расчета на обычного программиста, а не начальника?

UPD*: судя по многим комментариям я неточно сформулировал вопрос, попробую это исправить. Есть множество методик для организации работы одной отдельно взятой команды или фирмы в целом (смешанные команды, гильдии Spotify, Agile-разработка и так далее), мой вопрос состоит в том, какие есть подобные методики для самого разработчика вне зависимости от его команды, проекта, фирмы?

Связанные посты
25 комментариев 👇
Ildar Khabatulin пишу код, решаю проблемы 4 мая 2020

Какого плана проблемы-то?

Если много прокрастинируешь, то можно попробовать что-нибудь типа Pomidoro. Если тебе сверху говорят, что ты как-то медленно или плохо работаешь, то тут надо попросить пояснить, в каком плане именно проблема и есть ли у начальства какие-то советы на этот счёт.

Если ты добросовестно работаешь, сверху жалоб нет, но внутри что-то беспокоит насчёт твоей продуктивности, то я только могу посоветовать попытаться как-то расслабиться или попросить фидбек либо от менеджера, либо от товарищей по команде.

  Развернуть 1 комментарий

Я дополнил вопрос с попыткой как-то уточнить, о чем речь

  Развернуть 1 комментарий
Stepan Rakitin Senior Staff Platform Engineer 4 мая 2020

Что значит "повысить продуктивность"? Выдавать больше кода? Выдавать качественнее? Тратить меньше времени на митинги? Работать 10 часов? Работать 5 часов? Успешно автоматизировать рутинные процессы?

Твой вопрос настолько широкий, что естественно на него не будет прямого ответа. Большая часть "продуктивных" вещей приходит с опытом, а главное - опытом в смежных областях (смотри DevOps).

Часто бывает проблема даже не в тебе, а в тех от кого ты зависишь и бюрократии.

Найди свой bottleneck и попытайся его убрать. :shrug:

  Развернуть 1 комментарий

суть в том, что есть, разные книги по построению процесса разработки (разыне Agile и так далее), разные подходы к построению самих команд (смешанные команды, гильдии и прочее), но все это расчитано на внедрение прямо всем коллективом. а нет ли подобного рода литературы по правильному построению рабочего процесса, но уже индивидуального характера?

  Развернуть 1 комментарий

@vorant94, но Agile ведь не напрямую про продуктивность.

Когда я первый раз пришел к врачу доказательной медицины, он спросил:

  • на что жалуетесь?
  • ну вот у меня тонзиллит, искривленная перегородка...
  • нет, диагнозы мы поставим, я спрашиваю "на что жалуетесь"

Попробуй построить вопрос конкретно, что беспокоит, не ставь диагноз и не ищи лечение :)

  Развернуть 1 комментарий

Если речь о прямых кодочасах и ощущении "чет я маловато работаю вроде" то мне помогает трекать время когда я фигачу. Включаешь тоггл и поехал. Пока ты трекаешь нельзя смотреть чат, клуб, что там еще. Если смотришь, выключил трекер. В конце дня должно быть часа 4-5 фигаченья хотя бы. Значит все окей, продуктивненько.

Желательно еще писать над какой конкретно таской работаю а не просто "трекаю работу".

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

После задачи можно подумать где я дольше всего проебывался.
Если я опять гуглил синтаксис хеловорлда возможно пора его все-таки запомнить, ну или прикрутить каких-то сниппетов в ИДЕ (кого я обманываю, ниразу так не делал).

  Развернуть 1 комментарий

А чем время трекаешь?

  Развернуть 1 комментарий

@Fjodor, я начал использовать https://toggl.com/

  Развернуть 1 комментарий

Если вопрос про личную эффективность, то стоит помнить, что ты –
сам себе начальник, поэтому можно применять в таком ключе. Вообще про то, как организовать свое время можно посоветовать
Джедайские Техники.

Если вопрос про процессы и прочая, то тут нужно исходить из индивидуальных особенностей вашей ситуации. Но возможно попытаться пользоваться инструментами, которые есть (у вас есть команда и скрам? Есть ретроспективы? Выскажись на них. Есть 1на1 с менеджером? Обсуди там. Ничего этого нет? Сходи в курилку с начальником). Если нет никого с опытом организации, можно попытаться сообща в чем-то разобраться и внедрить. Или искать кого-то, кто сможет, если есть деньги. Проблемы ведь могут быть как из-за недостатка тех экспертизы, так и по линии ПМства.

  Развернуть 1 комментарий
Мухамед Программист 4 мая 2020

Мне кажется стоит сперва детальнее понять зачем и что нужно улучшать.

Что заключается в ощущении "работаю неэффективно"? Связано ли это непосредственно с работой? Например, могу представить такие возможные варианты:

  • не успеваю делать задачи в срок;
  • не хватает задач в спринте, слишком быстро все закрываю;
  • работаю меньше 8 часов в день;
  • после работы не чувствую себя уставшим.

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

Могу рассказать про свой опыт. Я ощущал свою неэффективность как "мало работаю". Потом, разобравшись получше, переформулировал: "не закрываю все задачи, на которые подписался в спринт, в квартал". Дальше для меня сработали две вещи. Первая: осознание того, что я боюсь браться за непонятные задачи (тут помог психолог). Вторая: книжка Do It Tomorrow http://markforster.squarespace.com/do-it-tomorrow/, которая дает некоторые системы для организации своей работы. В том числе и самую для меня важную: надо планировать задачи на день так, чтобы точно все их сделать, пусть даже это будет всего одна задача.

  Развернуть 1 комментарий

В других комментах правильно спрашивают, что ты подразумеваешь под "неэффективностью". Сложно ответить на твой вопрос, не зная, что именно ты вкладываешь в это слово (вариантов масса).
Но вообще одним из самых важных открытий для меня было то, что быть неэффективным — нормально. Если менеджмент и окружающие довольны, какосеки капают, то и не пофиг ли, что ты закрыл сегодня на два тикета меньше, чем мог бы? Душевное и физическое здоровье тоже очень важные вещи.

  Развернуть 1 комментарий

дополнил вопрос с попыткой как-то уточнить, о чем речь

  Развернуть 1 комментарий
Ilya Lazarev Разработчик (Python) 4 мая 2020

Выше уже посоветовали парочку книг. Присоединяюсь к рекомендации "Джедайских техник".

Добавлю небольшие мелочи.

Освоить слепопечатание (ru и en раскладки).
Запомнить и применять горячие клавиши в прогах, которые часто используешь (браузер, IDE, консоль).
Автоматизировать рутину (есть какие-то повторяющие действия, команды - автоматизируй).
Тренировать фокус (выше помидоро рекомендовали).

Ну и не менее важное: здоровый сон и физ.нагрузки.

UPD. Из комментария выше стало понятно, что речь у топикстартёра была про другую эффективность, но всё равно оставлю написанное.

  Развернуть 1 комментарий
Павел Михаловский Ведущий программист 4 мая 2020

Поддержу предыдущих ораторов по поводу того, что не ясна проблема. Я бы советовал четко сформулировать то, что ты хочешь улучшить и уже пытаться разобраться с конкретной проблемой - например хочу меньше прокрастинировать, хочу справляться с задачами в срок, хочу делать более качественно, хочу прогать сам, а не катать со stackoverflow.
Ты слишком много прокрастинируешь? Тут все зависит от того справляешься ли ты или нет. Если ты справляешься со своими задачами так трать время на развитие скиллов или бери больше задач, показывай, начальству что можешь расти. Ну и вообще подумай, хочешь ли ты, чтобы у тебя была выше нагрузка.
Хочешь делать работу более качественно и не катать со stackoverflow - развивайся, копай вглубь стека в котором ты работаешь, совершенный код прочти что ли.
По поводу предложений начальству - так в чем проблема изучить теорию, твои предложения настолько сильно меняют программу?

  Развернуть 1 комментарий

дополнил вопрос с попыткой как-то уточнить, о чем речь

  Развернуть 1 комментарий

@vorant94, а цель то какая? Чего ты хочешь добиться путем внедрения каких-то крутых принципов?

  Развернуть 1 комментарий

@Pavel9609, для начала хотелось бы понять, есть вообще что-то подобное индивидуально для одного программиста. А дальше возможно возьму себе на вооружение, чтобы повысить собственную производительность

  Развернуть 1 комментарий

@vorant94, по мне вводить какие-то крутые прицнипы ради крутых прицнипов - весьма сомнительная затея. Не думаю что есть какие-то специфичные для программистов приницпы . Если хотите так повысить продуктивность - почитайте что-нибудь связанное с личностынм ростом, данных книг тысячи, про тайм-менеджмент может, какую-нибудь психологию и т.д.

  Развернуть 1 комментарий
Yury Katkov в шаббатикале 4 мая 2020

Мне кажется, для начала надо пойти на работу, в которой ты будешь самым тупым. Вокруг будет куча крутых чуваков, у которых можно спрашивать, а как делать это, а как делать то, ну и плюс приобрести постоянное ощущение своего ничтожества, которое будет толкать на изучение литературы.

  Развернуть 1 комментарий

Так суть же как раз в том, что та литература, что я находил, вся рассчитана на тимлидов и далее вверх по иерархии, а не на рядового прогера

  Развернуть 1 комментарий

@vorant94, хм, может плохо искали литературу? «Идеальный программист», « Программист-прагматик» и « Программист-фанатик» как раз рассчитаны на рядового прогера, и советов по улучшению продуктивности там хватает.

  Развернуть 1 комментарий
Yury Katkov в шаббатикале 7 мая 2020

Тысячу лет назад я читал что есть Personal Software Process, это как Rational Unified Process, но для одного рыла. Ссылок уже не найду, но по описанию похоже на то, что ты спрашиваешь.

  Развернуть 1 комментарий

Залинкую схожий пост, возможно часть ответов найдётся там в тексте. Жаль комментариев маловато: https://vas3k.club/question/9488/

  Развернуть 1 комментарий

@zahhar, офигенный пост! И реально жаль что так мало комментов(

  Развернуть 1 комментарий
Yury Katkov в шаббатикале 27 августа 2021

Можешь попробовать вот эту странную фигню из времён RUP:
https://en.m.wikipedia.org/wiki/Personal_software_process

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб