Источник: Dzone
Приступая к разработке программного обеспечения, стоит четко осознавать опасность, к которой может привести накопление технического долга. Особенно это важно для начинающих программистов, многие из которых не знакомы с этим термином и не до конца понимают, чем он опасен.
Технический долг — это последствия, которые возникают из-за плохо написанного кода. Если брать за основу определение технического долга из Википедии, его можно сравнить с финансовым кредитом. Если технический долг не погашен, он может накапливать «проценты», что усложняет последующее внесение изменений.
Проще всего объяснить концепцию технического долга предпринимателям. Вы можете взять кредит, чтобы открыть новый офис для компании. Но если вы делаете это на заемные средства, то по ним придется платить проценты. Иными словами, в долгосрочной перспективе вам придется заплатить больше.
Появление технического долга среди разработчиков также приводит к негативным финансовым последствиям. Программисту придется тратить больше времени на исправление ошибок. А работодатель в лице IT-компании будет тратить лишние деньги, оплачивая труд разработчика не для создания нового кода, а для работы над старыми недочетами.
Если технический долг не погасить и включить плохой код в приложение, впоследствии придется тратить больше времени на обработку и решение жалоб клиентов. Плохо написанный код может стать причиной потери пользователей, падения продаж и других неудач в бизнесе.
Какие существуют виды технического долга?
Можно выделить как минимум три разновидности технического долга. Даже если разработчики не идут на компромисс по отношению к качеству и пытаются создать код, ориентированный на будущее, долг может возникнуть сам по себе. Например, из-за неоднократного изменения требований или развития системы.
Неизбежный технический долг. Разработчик не может добавлять новые функции из-за ошибки другого человека в команде. Например, если на одном из этапов решили изменить дизайн приложения, это скажется не только на работе дизайнера, но и кодера, который вынужден подстраиваться под эти обстоятельства.
Преднамеренный долг, который возникает из-за сознательного решения. Команда может специально закрыть глаза за качество кода, чтобы быстрее выпустить продукт на рынок. Подобное часто происходит со стартапами, которые стремятся быстрее показать инвесторам свой софт или опередить конкурентов.
Неопытный разработчик. Это самый распространенный вид технического долга. Плохой код может появиться также из-за нехватки времени, непонимание принципов работы системы, или завышенных требований заказчика, который хочет включить в приложение слишком много функций.
Технический долг — это проблема, которую нужно решать, не откладывая ее на потом. Если вы позволите техническому долгу накапливаться, это ухудшит последствия для всех, в том числе и для самого разработчика.
5 важных Soft Skills для удаленных программистов
Источник: Dev.to
Гибкие навыки делают человека более эффективным в работе. Если вы хотите стать незаменимыми для работодателя, это может быть для вас даже важнее, чем профессиональная квалификация.
Опрос, проведенный среди 2500 глав IT-компаний, показал: несмотря на то, что технические навыки напрямую влияют на карьерные возможности, без Soft Skills невозможно быть эффективным руководителем.
Разработчики склонны опираться на свою техническую квалификацию. Но даже если вы работаете удаленно, без гибких навыков вам никак не обойтись. Давайте рассмотрим пять наиболее важных Soft Skills для удаленного программиста.
Навыки общения
Без личных встреч с коллегами или клиентами вы теряете значительную часть невербального общения, которое обычно происходит на работе. Этот факт усиливает вашу потребность в улучшении коммуникативных навыков.
На практике это означает, что вы должны более уверенно, четко и точно выражаться в письменной форме или во время видеоконференции. Это особенно важно для разработчиков, поскольку именно им приходится объяснять технические моменты для людей, плохо знающих программирование.
Если вы отличный разработчик и можете объяснить, почему ваш код так важен, тогда вы будете более ценным в глазах заказчика, чем если бы вы были «только» кодером.
Эмпатия
Умение правильно общаться — только одна часть уравнения. Вторая часть — это понимание того, что имеет в виду другой человек. Это не так просто, как кажется, потому что очень часто люди говорят совсем не то, что действительно имеют в виду.
Эмпатией можно назвать способность видеть ситуацию с иной точки зрения. Вы должны уметь поставить себя на место другого человека. Это очень важно для понимания причин того, что от вас требуют. Также это сглаживает конфликтные ситуации еще до их появления.
Приспособляемость
Аппаратное и программное обеспечение развивается практически непрерывно. Поэтому разработчики лучше других знают, почему им нужно постоянно учиться. Языки, на которых вы пишете сегодня, через пять-десять лет могут стать менее актуальны. Без постоянного профессионального роста вы рискуете оказаться на обочине IT-рынка.
Если вы недавно прошли учебные курсы, обязательно упомяните это в резюме, даже если у вас большой опыт работы. Это покажет работодателю, что вы идете в ногу со временем.
Настойчивость
Программирование может быть очень трудным. Одна ошибка может задержать вас на несколько дней. Возможно, вы даже не уложитесь в дедлайн, пока не найдете и не исправите баг. Таким образом, настойчивость бесценна для разработчиков.
Упорство помогает добиваться цели. Будучи настойчивым, у вас больше шансов успешно завершить начатое.
Командная работа
Если вы удаленный программист, это не означает, что вы можете работать как вам заблагорассудится. Вы все равно часть проекта и, вместе с другими офисными и удаленными разработчиками, частью общей команды. Поэтому вы должны уметь работать вместе с остальными.
Стоит научиться быть досягаемым и полезным для других. Если вы не знаете ответ на чей-либо вопрос, то, по крайней мере, направьте того, кто вас спросил, в правильную сторону или свяжите его с нужным человеком. Будьте терпеливы и уважительны к чужому.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ