OmskZdes.ru

Общество • 21 апреля 2024, 10:10

Танцы с ошибками. Когда айтишники теряют ритм

Автор: Анна Бамбульская

 

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

 

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

Сначала расскажем о тех ошибках, которые чаще всего допускают новички, входя в мир IT.

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

- Одна из самых распространённых - ошибка с датами. Это кажется необычным, учитывая, что даты, по сути, представлены всего лишь цифрами. Но такое ощущение, что даты - это всё же немножечко что-то другое. Именно эти цифры живут по своим правилам. Месяцы до 1 дошли и обнулились, года тоже по-другому идут. Когда мы имеем дело с различными временными зонами, форматами хранения и переводами, всё это добавляет сложности программистам. Люди постарше помнят самую известную ошибку - называлась она "ошибка миллениума". Даты в системах рассчитаны по два числа. Никто не думал, что "наступит" 2000 год. И после 99-го наступил сразу нулевой год. От этого потенциально могли возникнуть серьёзные ошибки. Программисты вовремя подсуетились и сделали необходимые изменения. Поэтому мы прошли эту нестыковку незаметно. К сожалению, даже сегодня многие продолжают допускать ошибки в этой области, что может привести к непредсказуемым последствиям, - пояснил Серик Бейсенов.

Например, в приложении календаря пользователь создаёт событие, а оно у него получается в прошлом. Потому что на его телефоне три часа дня, а на сервере, где находится приложение, 12:00 из-за того, что этот сервер находится в московской тайм-зоне. И переводы из одной зоны в другую работают по-разному. По словам спикера, не все программисты умеют с этим работать.

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

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

- Как-то в час ночи мне пришло сообщение от приложения ХК "Авангард" о том, что начался матч. Однако в скобочках было написано, что это режим тестирования. Программисты, тестируя что-то, не обратили внимания, что отправили тестовое сообщение всем реальным пользователям. И это тоже прикольная ошибка. Последнее время много таких. Для кого-то может показаться ерундой, а ты сидишь и, как программист, понимаешь: просто ребята перепутали тестовое и реальное окружение и отправили всем, - поделился Серик Бейсенов.

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

Руководитель отдела системного анализа IT-компании Purrweb Евгений С. самой частой своей ошибкой назвал мискоммуникацию между ним и членами команды. У него не всегда получается найти общий язык с людьми.

- С опытом начинаешь понимать, что люди говорят о разном, так как больше следишь за словами, появляется навык выслушивания человека, в какой-то мере эмпатии. Но бывает, что случаются недопонимания. В такие моменты самой лучшей реакцией может быть приостановка разговора и попытка разобраться "кто о чём" другими словами. Другая частая ошибка - это долгая теоретизация. Часто случается, что нужно обучаться новому на работе, а когда много читаешь, смотришь, то и начинаешь говорить общими словами, выводя какие-то общие принципы и аксиомы. Это абсолютно бесполезно, если не возвращаться на уровень практики. Лучшая реакция на долгие теоретические измышления - это внимательно всё выслушать и потом спросить: "А делать-то что? Как это влияет на нашу работу?" - пояснил Евгений С.

Бывает, что IT-компании не уточняют у заказчика, как, по его мнению, должна выглядеть административная панель (админка). С одной стороны, команда пишет инструкцию по пользованию админкой, и вроде как с ней просто, но с другой - заказчику может быть неудобно, и он хочет другое наполнение внутренней панели. Именно такую ошибку обозначила в беседе с нами директор IT-компании ASMART Анна Захарченко.

- Мы работаем с малым бизнесом. И мы общаемся либо с самим собственником, либо с руководителем отдела маркетинга или маркетологом. Проблема бывает в том, что на старте не определяются цели проекта. Банально - для чего делается этот сайт, приложение. Или не обсуждаем, как оказалось, важную техническую часть - как должна выглядеть административная панель. При разработке мы обсуждаем с заказчиком, как должен выглядеть сайт, какой у него должен быть дизайн, функционал. Но мы недавно, например, упустили несколько раз момент того, как у этих сайтов должны выглядеть административные панели. Мы не уточнили у клиентов, как они хотят работать с этими сайтами изнутри. Мы-то думали, что написанной инструкции клиенту будет достаточно. А у клиента в голове совершенно иные мысли по поводу того, как должна выглядеть админка. И в техническом задании, как правило, про админку сайта никто не пишет, - пояснила Анна Захарченко.

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

Разработчик компании Gems Дмитрий Шамрик обозначил семь ошибок, с которыми он чаще встречался. Первая - это ошибки, связанные с плохим планированием. Здесь недостаток как аналитических, так и технических знаний ведёт к появлению плохих решений. Отсюда недооценивание объёма работы, загруженности, написания кода, при отсутствии целостного решения. Второй тип ошибки связан с системой контроля версий - плохие сообщения в коммитах (коммит - это пакет изменений, хранящий информацию с добавленными, отредактированными или удалёнными файлами кода - прим. ред.), закоммитить изменения не в ту ветку и т. д. Сюда же, по словам Дмитрия, можно отнести коммиты изменений, которые косвенно связаны с самой задачей. Ещё одна ошибка - нежелание погружаться в задачу или проблему. Отсюда появляются быстрые и "грязные" изменения кода, изобретение колеса или добавление в код "магических" чисел. Переусложнение простых и очевидных вещей - тоже нередкая ошибка в IT, Иногда специалист в поисках решения не замечает, как усложняет простую задачу. Следующая ошибка, которую отмечает собеседник, - это промахи, связанные с отладкой, сопровождением и последующей передачей задачи по процессу. Айтишники тестируют только положительные сценарии работы или вообще не проверяют работоспособность кода. Нет тут и автоматических тестов на функционал. Шестая в списке нашего эксперта ошибка - создание "суперфункций". Тут отсутствует логирование информации. То есть сотрудник не фиксирует и не структурирует информацию о работе системы в отдельные лог-файлы. Ну и, наконец, седьмая ошибка - плохо форматируют код, по сути, оставляют "мёртвый" код. Здесь куски кода и даже классы, которые просто закомментированы, к ним написано много очевидных и ненужных комментариев.

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

Нередко среди ошибок называется и пресловутый человеческий фактор.

- Среди ошибок у меня это самая частая: поспешил, не учёл, не досмотрел, отвлёкся, забыл и так далее. Это связано с моей загруженностью и внешней референцией. Дело в том, что мне важнее всех обеспечить задачами, работой, разблокировать, а потом уже самому выполнить непосредственно свою работу. Поэтому я стараюсь приходить в офис пораньше, чтобы успеть проработать свои задачи "в тишине" и не косячить, - рассказал backend-разработчик Purrweb Максим Л.

Репутация, качество, безопасность, IT-инфраструктура и много других аспектов, которые могут ощутимо пострадать от ошибок сотрудников и руководства. Это может быть и нечаянно выключенный рубильник, и баг в коде, и ошибка в таблице Excel, и многие другие. Но человеку свойственно ошибаться; даже если он контролирует и перепроверяет всю свою работу, рано или поздно он ошибётся. Исключить людей из рабочего процесса невозможно. Остаётся одно: учиться оперативно замечать ошибки, анализировать их и находить варианты решения проблемы. Необходимо учиться закладывать риски при разработке стратегии и постановке задач. А также желательно разработать стратегию реагирования на допущенные ошибки и прокачивать свои soft skills, чтобы уметь обсуждать все детали вовремя.

Так что если вы тот человек, который допускает ошибки, не огорчайтесь, просто работайте над ними и не забывайте обсуждать их с коллегами, чтобы вместе найти выход из сложившейся ситуации. О том, чем и как живёт реальный мир информационных технологий, можете почитать в нашей рубрике "Войти в IT".

Изображения созданы с помощью Midjourney

 

Постоянный адрес страницы: https://omskzdes.ru/society/84758.html