В этой статье я буду филиала из регулярных технических блогов, опубликованных на этом прекрасном сайте и начать обсуждать мягкие навыки и поведение для разработчиков, которые помогут сообществу подняться от оптимизаторов до консультантов.
Это не будет сюрпризом для парней в моей команде, чтобы прочитать это и услышать меня говорить о Чистый кодер, кодекс поведения для профессиональных программистов, Роберт C Мартин (ака дядя Боб).
Один из наших разработчиков познакомил меня с книгой (спасибо Pog!), И это был действительно судьбоносный опыт. Эта статья не является обзором, поэтому я не буду входить в подробности, но ключевая тема, лежащая в основе книги о том, как разработчики (были?) Не рассматриваются как профессиональные услуги отрасли, такие как юристы и бухгалтеры.
Дядя Боб рассказывает историю, где он должен был работать в субботу, чтобы доставить проект, но было отказано в доступе к юридической команде, для которой он имел важные вопросы в эту субботу «Потому что они профессионалы». Книга объясняет некоторые поведения, которые вы можете взять на себя, которые помогают вам вести себя как профессионал будет, с целью рассматриваться как один.
Один из конкретных моментов, которые резонировали со мной был момент, когда старая система, что дядя Боб работал на были на пенсии, и он хотел, чтобы вернуть его. Генеральный директор компании сказал ему: «Хорошо Боб, работайте план. Покажи мне, как я могу зарабатывать деньги. Если вы это сделаете, и я верю в это, я начну снова».
Вежжжайсебя как профессионал, будьте относиться как к профессионалу
Это заставило меня задуматься, что по большому счету мы, как разработчики, часто думаем как разработчики и фокусируемся на новых технологиях, новых библиотеках, новых платформах для тестирования нашего кода, и список можно продолжать.
Легко зацикливаться на технической стороне нашей работы, но реальность такова, что мы обязаны думать коммерчески и от имени предприятий и клиентов, над которыми мы работаем. Для меня это навык, которого катастрофически не хватает многим разработчикам, и умение, которое может поднять вас из хорошего разработчика в большой.
Но, «Это руководитель проекта / Владелец продукта / Аналитики / Работа клиента!» Я слышал, вы восклицаете, и вы были бы частично правы так думать. Это их работа, но есть решения, которые эти роли не вмешиваются, которые могут иметь глубокое финансовое влияние на бизнес, за который мы, как разработчики, должны взять на себя ответственность.
Я начал и запустить свое собственное агентство,поэтому я часто принимают этот способ мышления как должное. Недавно я пришел к выводу, что мы все можем воспользоваться, думая таким образом, и если мы пользу, как разработчики, мы можем передать эту выгоду на остальной части нашей команды и наших клиентов. Любой, кто работает в гибкой группе, должен уже знать, что кросс-функциональные команды являются необходимостью, а кросс-функциональные функции не просто сосредоточены на работе по разработке.
Повторное изобретение колеса
Я хочу, чтобы запустить через недавний проект я работал над выделить эту точную проблему.
Этот конкретный клиент продает музыкальные компакт-компакт-компакт-компакт-компакт-компакт-компакты по всей Европе. У них был сайт, построенный около восьми лет назад, который постоянно итерировался с момента запуска. Клиент подошел к нам, потому что они хотели улучшить коэффициент конверсии на их сайте, поэтому мы начали копаться в том, что они уже имели.
Проблема No 1: Разработчик построил заказ электронной коммерции платформы для клиента.
Эффект: никто, кроме первоначального разработчика, не может эффективно поддерживать эту платформу электронной коммерции. Это привязало клиента к этому разработчику. Некоторые могут сказать, что это целенаправленная стратегия для защиты контракта с клиентом.
Урок 1: Не изобретайте велосипед. Часы/дни/годы были, но в существующих собственных (или предпочтительно) платформ электронной коммерции с открытым исходным кодом, систем управления контентом и библиотек, так что воспользуйтесь всей этой тяжелой работой.
Чтобы сделать мою позицию по этому ясно, я не против заказных веб-сайтов, когда это необходимо, есть абсолютно необходимость. Восемь лет назад уже существовали платформы электронной коммерции, которые можно было бы использовать для создания сайта. В настоящее время Есть много платформ электронной коммерции для использования в том числе наш любимый WooCommerce, так что редко бывает случай, когда мы должны построить заказ один.
Техническая архитектура
В связи с характером, как музыкальная индустрия работает Есть некоторые довольно сложные правила о том, где музыка акции происходит от. Часть этих акций принадлежит ритейлеру, другие — дистрибьюторам, а у разных дистрибьюторов разные правила для минимальных требований к заказу. Все это становится довольно сложным в управлении, поэтому, естественно, клиент просил, чтобы этот сложный рабочий процесс был построен в том, как сайт, который они строили работ.
Затем разработчик встроил эту функционал на заказ в веб-сайт.
Проблема номер 2: Разработчик построил сложную функциональность вокруг бизнес-логики в сам веб-сайт электронной коммерции.
Эффект: Веб-сайты должны рассматриваться как расходные и, как технология движется дальше, иногда может быть более экономически эффективным, чтобы выбросить то, что у вас уже есть, и начать все заново.
Урок 2: Не смешивайте сложную бизнес-логику, которая работает против основной цели веб-сайта. Держите цель веб-сайта четкой и конкретной, и построить отдельные системы, которые могут быть интегрированы с для управления бизнес-логики. Этот клиент нуждался в системе управления заказами и покупке, а не слишком сложной электронной коммерции на сайте.
Было ясно, что существующая платформа не была легко настраиваемой (см. проблему номер 1), потребует серьезной кривой обучения для нашей команды, чтобы работать, который будет означать, что это не экономически эффективным для нас, чтобы работать с ним.
Естественно, мы рассматривали WooCommerce как лучшую платформу. Клиент имеет сложный каталог продуктов, но не настолько сложным, что мы бы обмолота WooCommerce в дюйм своей жизни.
Все веб-сайты становятся концом жизни
Затем мы начали изучить требования сайта. Большинство требований являются довольно стандартные функции электронной коммерции, но были некоторые очень конкретные требования, основанные на точках я сделал выше о дистрибьюторов и минимальных заказов.
В WooCommerce нет существующих плагинов, поддерживающих эту функциональность, поэтому мы начинаем говорить о том, как решить эту проблему. Клиент имеет приличный бюджет, но это не бесконечно, и ясно, что не было достаточного бюджета, чтобы повторить функциональность у них было, ни было это не обязательно хорошая идея.
Проблема No 3: клиент находится в положении, когда заменить существующий веб-сайт неэффективно
Эффект: Клиент застрял со старой платформой EOL
Урок 3: PHP разработчики код с OOP в виду, где объекты дискретные и отделены. Примените этот принцип к общей технической архитектуре, чтобы можно было заменить отдельные элементы, а не все приложение.
Заключение
По мере того как наша индустрия переносит от малого числа trailblazing проявителей, к тяжело фондированным правительственным схемам сфокусированным на улавливании большом количестве проявителей, и подъеме дешевых домов развития, и после этого дальше к не слишком отдаленному будущему где AI автоматизирует некоторые из более простые аспекты нашей работы, разработчики должны развиваться вместе с ней.
Ты боишься этого? Моя мысль заключается в том, что мы не должны бояться этого; мы должны развиваться, чтобы гарантировать, что мы предлагаем лучшее значение мы можем для нашей команды и наших клиентов, и мышление с немного больше коммерческой осведомленности будет иметь большое значение для этого.
Источник: torquemag.io