Рубріки: ВопросыМнение

«Отлично пишете код? Это может только усложнить работу»: чем мудрый разработчик отличается от умного

Оленка Пилипчак

«Нет большего дурака, чем тот, кто считает себя мудрым; самый мудрый — тот, кто подозревает, что он дурак» (Маргарита де Валуа)

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

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

Об этом в своем блоге на Medium пишет разработчик Бен Хоскинг. Передаем ему слово.


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

Какая разница между умным и мудрым

Разработчики тратят всего 50% своего времени на написание кода:

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

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

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

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

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

Избегайте проблем, а не решайте их

«Умный человек решает проблему. Мудрый человек избегает ее»

Альберт Эйнштейн

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

Джуниоры каждое требование или проблему пытаются решить так, как они умеют, а именно — написав код 🙂

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

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

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

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

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

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

Простота

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

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

Если писать код с проверенными требованиями, программное обеспечение будет создаваться быстрее. С кодом связано много затрат вроде обновленного зависимого кода, связанного кода, документации, тестов и прочего. Иногда дела идут быстрее, если не спешить и создать правильное программное обеспечение.

Говорите, когда вас должны слушать

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

Ричард П. Фейнман

Плотники дважды отмеряют древесину и один раз отпиливают. Разработчики не часто так себя ведут.

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

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

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

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

Так то, что первоначально казалось быстрым и удачным решением, замедляет работу из-за багов. Хороший сеньор создает код один раз и он работает идеально.

Сеньор знает, когда задавать вопросы, когда слушать, а когда говорить.

«Молчание — это урок, полученный после многих страданий в жизни» (Сенека).

Выполняйте свою работу

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

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

Мудрые разработчики убедятся, что люди, управляющие частями проекта, следят за этим вопросом.

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

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

Равняйтесь на реальность

«Вчера я был умным, потому хотел изменить мир. Сегодня я мудрый, поэтому меняю себя»

Руми

Дела пойдут не так, возникнут проблемы, планы изменятся, дизайн — тоже. Вы не можете сражаться с реальностью. Приспосабливайтесь к окружающей среде и меняйтесь вместе с ней.

Джуниоры будут бороться с реальностью, сеньоры будут учитывать ее изменения.

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

Автор: Бен Хоскинг

Текст адаптировала Евгения Козловская

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023