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

Прежде всего, я расскажу немного о себе, чтобы вы могли иметь некоторое представление о моем опыте в качестве разработчика. На момент написания этой статьи (ноябрь 2021 г.) я работал фронтенд-разработчиком в Испании около 5 лет. Я работал в консалтинговой компании среднего размера в течение года, около 4 лет в небольшой консалтинговой компании, выполняющей проекты для IBM и других компаний разного размера, а сейчас я работаю в Atrapalo, компании, занимающейся туристическими продуктами. Как видите, у меня есть опыт работы в консалтинге, а также в компаниях, специализирующихся на продуктах, и я работал в очень разных средах, проектах и ​​приложениях.

Как разработчики проводят время

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

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

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

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

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

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

Наконец, когда разработчика нет на совещании и он знает, что нужно сделать и как это сделать, программист приступает к написанию кода. Как видите, написание кода — не первое, что разработчик делает каждый день утром, когда начинает работать.

Сколько времени разработчик тратит на написание кода?

Трудно измерить, сколько времени разработчик тратит на написание кода, но если мы говорим о 8-часовом рабочем дне, я предполагаю, что на написание кода будет потрачено всего 3–5 часов, но точно не более что. Это приблизительно, количество времени, затрачиваемого на программирование, измерить невозможно, и оно во многом зависит от опыта разработчика и компании, в которой работает разработчик.

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

Я надеюсь, что эта статья поможет развеять некоторые мифы о том, как разработчик тратит свое время. Что вы думаете об этом? Как ты проводишь свое время? Считаете ли вы, что тратите больше 3–5 часов на написание кода?