Истории

Технологии ради технологий и заказчики, которым нужен «космолет» по-быстрому, — 12 главных «болей» разработчиков

Истории
Софья Федосеева
Софья Федосеева

Независимый обозреватель, экс-редактор Rusbase

Софья Федосеева

Мы продолжаем раскрывать «боли» профессий. Рекрутеры и маркетологи уже рассказали о своих трудностях. На этот раз мы задали вопрос «что бесит вас в вашей работе» разработчикам. Вот что они рассказали.

Технологии ради технологий и заказчики, которым нужен «космолет» по-быстрому, — 12 главных «болей» разработчиков
Присоединиться

Павел Романченко технический директор Центра инноваций «Инфосистемы Джет»



Слово «просто» 

 «Что тут делать, тут же просто добавить кнопку», — говорит заказчик/менеджер/коллега. И ты думаешь, «ну да, просто добавить кнопку — дел минут на десять». А «под» кнопкой есть функционал, и его тоже нужно написать и протестировать. 

  • А что делать, если пользователь ошибся или, например, место на диске закончилось в момент обработки? Это надо предусмотреть.
  • А что делать, если пользователь нажал на кнопку десять раз, а нам нужно только один? Это еще один сценарий. 

И вот уже проходит три дня, а у тебя все в разломанном состоянии.

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

Что делать? 

  • Во-первых, постоянно стараться демонстрировать работу заказчику/менеджеру/коллегам: «При разработке потребовалось обработать ошибку нехватки места и обеспечить перезапуск процесса обработки». Это позволит остальным участникам увидеть, что задача действительно сложная. 
  • Во-вторых, запретить себе говорить слово «просто». Нужно понимать, что каждая задача в программировании имеет мультипликатор 4 — это затраты на тестирование, аналитику, проектирование и прочее.

Отвлекающие факторы 

Постоянные отвлечения так же мешают нормально работать. Когда ты «в потоке», то любой звонок, сообщение или визит коллеги может выбить из колеи на 10-15 минут. 

Обучись востребованной и перспективной профессии, выбрав онлайн-курс в каталоге курсов интернет-маркетинга.

Это довольно существенно и не очень приятно. Поэтому нужны средства защиты: наушники — в уши, мессенджеры — выключить, телефон — на вибрацию. 

Желательно максимально убрать все отвлекающие факторы. Жаль, что это не всегда это возможно, особенно, в условиях open space.


Данила Гегеле, руководитель практики front компании AIC



Недоработки в макетах

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

  1. как будет себя вести и выглядеть бабл с подсказкой, если в нем будет десять строк текста;
  2. как будет выглядеть сообщение после успешной отправки формы и как мы будем на нее возвращаться;
  3. что будет, если мы захотим добавить еще один пункт меню;
  4. что, если имя пользователя будет Константин Константинопольский.

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

Чтобы избежать подобных проблем при работе с макетами нужно делать следующее: 

  1. работать с реальным контентом от клиента;
  2. использовать чек-листы и мастер-макеты, чтобы избежать «детских» ошибок;
  3. обсуждать макеты с командой клиента;
  4. проводить выездные встречи, на которых арт-директор и менеджер в деталях выясняют особенности работы клиента.

Эти шаги помогают подготовить макеты, которые максимально близки к воплощению на итоговом сайте.


Поддержка устаревших браузеров

Развитие технологий во front-end идет семимильными шагами. Мне всегда хочется воспользоваться последними технологиями и трендами, но есть Internet Explorer, от поддержки которого не могут отказаться 95% проектов. 

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

Я живу с верой в светлое будущее, где будет только один браузер и только на одной операционной системе. Пока это время не настало, использую BrowserStack для тестирования всего зоопарка браузеров и устройств.


Станислав Гольденшлюгер, сооснователь Alef Development



«Прятки», когда нужны материалы

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

Но, чтобы избежать проблем и задержек, если вы не можете ответить сразу же — не игнорируйте собеседника, а напишите «Еще не готово, постараюсь ответить в пятницу». Тогда я не буду ждать вашего ответа, переключусь на другие дела и запланирую время на вашу задачу.


Технологии ради технологий

Бывают программисты, которые очень хотят использовать React при разработке лендинга. Это примерно как использование семиступенчатой трансмиссии при изготовлении миксера. 

Люди хотят использовать любимые технологии там, где они неуместны и излишни. Поэтому всегда необходимо помнить, что инструменты появляются для решения задач, а не задачи для использования инструментов.


Александр Трегер, руководитель службы разработки «Яндекс.Практикум»



Заказчик, которому нужен «космолет»

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

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

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

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


Пользовательский опыт

Они никогда не будут использовать то, что вы сделали, именно так, как думали вы. Они начнут вбивать эмодзи во все поля вашей формы или копировать описание товара из Word в вашу CMS (опытные коллеги всплакнут в этом месте). 

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

Лучший оберег от пользователей — хороший UX-дизайн и, конечно, богатый опыт разработчика, а также умение предвидеть то, как в реальности будет использован разрабатываемый вами продукт.

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

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


Виктор Яблоков, руководитель направления разработки мобильных решений «Лаборатории Касперского»



Постоянно меняющиеся требования, работа «в стол»

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

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

В случае с массовым пользовательским рынком обратная связь может собираться, например, через продуктовые эксперименты и аналитику.


Выделение времени на «технический долг»

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

Рефакторинг, то есть улучшение кода, попытка сделать его чище или даже переписать, у разработчиков в крови. Это можно назвать своего рода «техническим долгом», и запретить заниматься им невозможно — программист все равно найдет лазейку и попытается переписать код. 

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


Юрий Степин, frontend-разработчик Team Lead Platbox



Погоня за современными технологиями

Применимо к моей области — фронтенд-разработке — она быстро меняется. Постоянно мониторишь, чего там вышло нового:

  • фичи языка,
  • библиотеки, 
  • тренды, 
  • плюсы и минусы решений.

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

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

Старшее поколение

Для родственников из поколения постарше ты так и останешься «компьютерщиком». Ноутбук медленно включается, пароль от айфона забыла — по всем этим вопросам будут обращаться именно к тебе.


Фото на обложке: Unsplash

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Материалы по теме

  1. 1 Как стать разработчиком, которого хотят видеть в каждой команде
  2. 2 «Попросили написать приложение, просто потому что у меня был MacBook». Как студент из Алма-Аты превратился в iOS-разработчика
  3. 3 «За несколько лет мы собрали команду из 110 разработчиков». Как мотивировать IT-шников без системы грейдов
AgroCode Hub
Последние новости, актуальные события и нетворкинг в AgroTech-комьюнити — AgroCode Hub
Присоединяйся!