Сидячий образ жизни, работа с устаревшим кодом и поиск багов — разработчики, как и люди других профессий, сталкиваются со сложностями в работе. Можно долго дискутировать о том, что самое сложное для программиста, а можно просто спросить мнение девелоперов. Нам было интересно узнать, что выводит разработчиков из себя, поэтому мы провели опрос и собрали результаты в этом тексте. В нашем опросе участвовали ученики и выпускники JavaRush — как те, кто еще проходит курс, так и те, кто уже устроился на работу. Это важно понимать, потому что мнение о сложностях в работе для этих категорий отличается. Вот такие, например, проблемы выделяют ученики JavaRush, которые пока что на пути к своей первой работе:Что самое сложное в работе программиста? Рассказывают выпускники и ученики JavaRush - 1Работающие программисты думают иначе: получая реальный опыт, мнение о сложностях в разработке у девелоперов меняется. Например, на первом месте для работающих программистов стоит проблема отсутствия спецификаций, а для учеников — работа с legacy-кодом.Что самое сложное в работе программиста? Рассказывают выпускники и ученики JavaRush - 2Для бэкграунда также добавим, что среди работающих выпусников JavaRush больше всего тех, кто устроился в продуктовую компанию, на втором месте — разработчики в аутсорсе и всего 3,8% девелоперов трудятся на ниве фриланса.Что самое сложное в работе программиста? Рассказывают выпускники и ученики JavaRush - 3Разберем сложности в работе подробнее — с комментариями разработчиков. А заодно узнаем, что девелоперам больше всего нравится в их работе и как сложились их отношения с удаленкой.

Отсутствие спецификаций

Отсутствие спецификаций, то есть описаний поведения программы, которую требуется разработать, — это первая проблема в списке сложностей для работающих программистов (ее отметили 69,2% разработчиков). Как мы упоминали выше, интересно то, что учащиеся и ищущие работу немного иначе представляют, какая проблема программирования будет главной. Для этой категории это работа с legacy-кодом (устаревшим кодом — ред.) — за нее проголосовали 45,5% опрошенных. Это различие в ответах говорит о том, что учащиеся не до конца понимают проблемы, с которыми столкнутся на практике. Среди учеников проблема отсутствия спецификаций стоит на втором месте (за нее проголосовали 36,4% людей).

Вот что рассказали программисты об отсутствии спецификаций: “Работаю недавно, как работает приложение пока понимаю плохо”, — говорит Денис. “Без понимания нюансов продукта и без должной спецификации, тяжело вносить изменения или рефакторить старый/специфический код”, — считает Андрей. “Сложно переключаться с задачи на задачу при отсутствии документации или спецификации”, — отмечает Роман. “Из-за неточного техзадания [приходится] придумывать решение, которое потом критикуется и требуется переделка”, — говорит Вероника. “Отсутствие внятного техзадания в 90% случаев”, — говорит Денис. “Нет четких технических заданий, заказчики сами не знают, чего хотят. Уже на стадии разработки задание может кардинально поменяться”, — добавляет Андрей.

Оценка сроков выполнения задач и работа с legacy-кодом

Невнятные дедлайны оказались на втором месте в списке сложностей работы программиста. За них проголосовали 42,3% работающих айтишников. В то же время, учащиеся поставили эту проблему всего лишь на пятое место (18,2% голосов). Чаще всего программисты жалуются на то, что работодатель неправильно оценивает сроки выполнения задач или на то, что имея мало опыта, сами не могут посчитать правильные сроки. “Иногда бываю не уверен в сроках, за которые выполню таск и ставлю больший estimate (оценку — ред.), хотя выполняю быстрее. Порой это напрягает клиентов”, — говорит Игорь. “Сроки выполнения устанавливаются с потолка и другими людьми, зачастую не имеющими отношения к разработке”, — говорит Денис. “Время на задачу, в которой нет опыта, трудно определить”, — добавляет Николай. Работа с устаревшим кодом набрала столько же голосов среди работающих программистов, сколько и размытые дедлайны — 42,3%. Напомним, что ученики поставили ее на первое место (45,5% голосов).

Слишком много митингов

Пожалуй, проблема с митингами в сфере IT-разработки усугубилась во времена пандемии. Митингов и так было много. Но из-за онлайн-формата стало еще сложнее вникать в суть разговоров. 38,5% работающих разработчиков отметили, что митинги усложняют их работу. В то же время, ученики отдали за них 18,2% голосов, вероятно потому, что не столкнулись еще с этой проблемой в реальности. “Много времени уходит на пустое общение, а дедлайны никто не отменял”, — говорит Петр.

Сидячий образ жизни

Постоянное сидение за компьютером попало на пятое место среди сложностей в работе программистов (34,6% голосов работающих девелоперов). Ученики и ищущие работу отправили эту сложность на четвертое место с 36,4% голосов. Программисты отмечали, что из-за сидячего образа жизни у них есть проблемы со здоровьем: шейный остеохондроз, “больная спина”, лишний вес.

Общение с другими людьми и поиск багов

Необходимость коммуницировать с другими людьми и искать ошибки набрали одинаковое количество голосов — по 23,1% среди работающих программистов и заняли пятое место в рейтинге сложностей. Интересно, что среди учащихся за проблему с общением не проголосовал никто. Это, скорее всего, связано с тем, что новички еще не успели поработать в айтишных командах. В то же время за поиск багов проголосовали 36,4% учеников и ищущих работу.

Офис или удаленка: что сложнее?

Хотя вначале карантина многие радовались удаленке, согласно нашему опросу недовольных этим форматом работы оказалось довольно много. Опрошенные отмечают, что им сложно сконцентрироваться в домашней обстановке, границы между работой и отдыхом размываются, трудно соблюдать work-life balance. Есть и недовольные офисом: их в основном напрягает то, что надо тратить несколько часов, чтобы добраться на работу и домой. “Недостаток офиса — время на дорогу. Недостаток удаленки — много соблазнов, которые могут отвлечь и то, что дом плавно превращается в офис”, — говорит Игорь. “В офисе большой объем лишнего общения”, — отмечает Денис. “Офис хуже, потому что я интроверт. Мне проще общаться с людьми виртуально”, — добавляет Александр. “Однозначно [труднее] удаленка. Переусложненные коммуникации, отсутствие контакта с командой. Средства удаленной связи не позволяют так же продуктивно решать поставленные задачи, как я это делаю в офисе”, — говорит Денис. “Работа в офисе сложнее в случае, если офис находится далеко, потому что долго добираться. Не хочется терять время. Но если офис под носом, то однозначно выберу офис. Там рабочая обстановка”, — говорит Владислав.

Бонусы работы программистом: высокая зарплата, творчество и карьерный рост

Для баланса мы спросили участников опроса о преимуществах работы программистом. Чаще всего разработчики отмечали высокую зарплату, хорошие условия труда, интерес к работе, перспективы карьерного роста и возможность релокейта в другие страны. “Постоянные логические задачки, комфортные условия и хорошие зарплаты”, — говорит Игорь. “Высокая зарплата в обмен на возможность решать интересные задачи. Очень серьезные возможности для роста”, — говорит Денис. “Творческая, спокойная, размеренная, а главное — интересная работа”, — Роман. “Я ощущаю радость от создания чего-либо нового или починки старого. Программирование — это вечный пазл с тысячей решений, дофаминовый наркоман во мне доволен. На текущий момент это, наверное, самое простое из созидательных занятий после жарки яичницы”, — Денис. “Интересные задачи, хорошие условия труда (заработная плата, культура и рабочая атмосфера в IT компаниях), возможности для постоянного развития и обучения”, — Алексей.

“Можно работать 24 часа в сутки, а можно работать головой. Профессия программист как раз об этом. Ты сам (в зависимости от поставленной задачи) определяешь, что тебе нужно делать, когда и в каком объеме. Все, что нужно — это компьютер, голова и эта самая задача”, — Артур. А как по-вашему, что самое сложное в работе программиста? А что самое приятное? Ждем вашего мнения в комментариях ;)