Я был разработчиком некоторое время. Я далеко не лучший там. (Сидя в одиночестве в этой комнате, я задаюсь вопросом, а не лучше ли я здесь?) Однако я пришел к пониманию своих инструментов и поверил в свою способность рассуждать и учиться.
Когда я начинаю новую работу, я всегда верю, что могу выучить кодовую базу, если это язык, который я знаю. Если это не язык или структура, которую я знаю, я считаю, что я могу понять концепции достаточно, чтобы изучить его (и просто прочитать документацию). Это часть наших навыков программистов, и я горжусь тем, что могу соответствовать этому стандарту.
Но при всем этом - одна из моих главных слабостей - это изучение и усвоение бизнес-правил для клиента, на которого я работаю быстро, будь я наемным работником или подрядчиком. Я в порядке с кодовыми базами, но бизнес-правила и процессы для конкретного бизнеса всегда, кажется, требуют времени, чтобы полностью понять. (Например, это может привести к сбою при переписывании корпоративных приложений.)
Как разработчик, как лучше и быстрее усвоить бизнес-правила и процессы? Это возможно, не будучи экспертом в данной области или просто имея многолетний опыт работы с клиентом, компанией или бизнесом?
источник
Ответы:
Для меня это путем чтения и понимания кодовых баз.
Я говорю это по двум ключевым причинам:
Люди сосут. О, не намеренно (обычно), но в бизнесе я обнаружил, что люди часто немного различают понимание бизнес-правил. И у каждого есть своя ментальная модель, которая в свою очередь теряет верность, пытаясь донести ее до вас. Но код не лжет. Люди могут думать, что они хотят о том, как все должно работать, но код верен.
Сначала постройте фундамент. Итак, если у каждого есть своя ментальная модель того, что представляют собой эти конкретные бизнес-термины и процессы, как вы строите свои? Для меня, и я ожидаю, что для многих программистов я лучше строю свои ментальные модели из кода. Код имеет шаблоны. Код имеет абстракции. У меня большой опыт взятия кода и построения ментальной модели из него. Если у меня есть хотя бы смутное представление о том, что существует и как они связаны, тогда я могу разговаривать с деловыми людьми. Тогда я могу задать правильные вопросы и лучше вписать их ответы в головоломку.
источник
Не будь слишком строг с собой. Иногда я задаюсь вопросом, почему они даже удосуживаются называть их «бизнес-правилами», но я думаю, что называть их «способами, которыми мы обычно делаем вещи, если нет других вещей, которые применимы, тогда мы делаем их по-другому», вероятно, оскорбляет их. Бизнес грязный. Они манипулируют потребностями клиентов, юридических агентств, бухгалтерского учета, правил, продавцов, сотрудников, менеджеров и местных органов власти. У них не всегда есть причина.
Я думаю, что лучший способ - убедиться, что вы проводите время с как можно большим количеством деловых людей. Это может быть сложно для некоторых людей на технических должностях.
Ты не какая-то пустота, называемая программистом, ты человек. Дайте им знать, что вы там, чтобы облегчить их работу. К сожалению, вы можете быть героем или козлом. Это природа нашего бизнеса.
источник
Я бы порекомендовал прочитать книгу Эдварда Бургера и Майкла П. Старберда под названием «5 элементов эффективного мышления». Это связано с пониманием новых концепций в целом, но я думаю, что это применимо к этой ситуации.
Вот несколько интересных моментов из книги:
Овладеть основами
Если вы не знаете основ, вы будете строить свое понимание на шаткой основе. Поэтому вам нужно задавать эти глупые вопросы, которые никто не задает.
Пусть ошибки будут вашим руководством
Иногда это помогает задавать вопросы, которые явно неправильны, чтобы вы могли обнаружить свое непонимание. (Пример: Вы имеете в виду, что администраторы имеют доступ к каждому документу? О. Почему?)
Научите или объясните это другим
Когда вы попытаетесь научить кого-то этому, вы начнете раскрывать, где у вас проблемы с пониманием.
Надеюсь, это поможет!
источник
Как разработчик, я понял, что я напрямую перевожу бизнес в код, структуры данных, возможные классы и т. Д. Я иду от чего-то абстрактного и часто неопределенного к чему-то конкретному, что-то с «формой». Я сразу начинаю кодировать и, из- за недостатка информации , я часто провожу рефакторинг. Каждый рефакторинг заставляет меня думать, что в моем понимании бизнеса слишком много пробелов .
Как я начал это решать?
Я заставляю себя читать все документы, сделанные во время функционального анализа и ранних этапов. Я пытаюсь сделать это, как я был клиентом или конечным пользователем . Мне нужно понять, что клиент ищет с таким приложением и требованиями. Но мне нужно держаться подальше от дьявола.
Наша работа дает нам отличные навыки, которых нет у клиентов. Мы мыслим в условных структурах так, как это делают другие. Поэтому я начинаю сталкиваться с требованиями. Ищем противоречия или несоответствия . Немного мозгового штурма вокруг того, что я понял. Формулирование гипотетических сценариев.
Это привело меня к вопросам и сомнениям. Я печатаю каждого из них и, наконец, назначаю встречу с тем, кто может разрешить мои сомнения.
Подводя итог, я меняю свою точку зрения. Я пытаюсь взглянуть на проблему с другой стороны. Но я вложил некоторые навыки разработчика в процесс. Что заканчивается хорошей кучей вопросов и сомнений, которые нужно решить. После решения мое понимание бизнеса становится более глубоким.
Обучение> Сомнения> Вопросы> Ответы> Понимание (повторять цикл снова и снова)
источник