Что такое суть бизнес программирования

«Все деньги сейчас в IT». Более того, даже самим подсчётом денег уже давно занимаются айтишники, ведь объёмы современных бизнесов никак не поместятся на бумаге, тетрадках и счётах. К тому же, всё больше и больше требуется автоматизации процессов внутри компаний. Именно поэтому, симбиоз «бизнеса» и «софта» приобрёл такую важность, и на рынке появилось понятие «бизнес-софт» или «корпоративный софт». Безусловным лидером в этом сегменте давно стали программы на базе решений 1С.

Сегодня в России и странах СНГ почти не существует бизнеса, который бы не использовал хотя бы одной программы 1С. Да, на этом языке вы не напишете 3D-игру класса ААА или новую социальную сеть, но 1С-программистам всего этого и не нужно, потому что их главная цель — помогать предприятиям зарабатывать деньги с помощью автоматизации процессов. А благодаря своему расположению «возле бизнеса» из специалистов по 1С получаются не только прекрасные программисты, но и высококлассные аналитики, и руководители команд разработки.

Вся суть программирования за 15 минут…

О том, почему 1С — перспективный язык программирования и отличный выбор для начинающих подробно рассказывает Андрей Овсянкин, системный архитектор «Сберлогистики» и преподаватель курса «1С-программист» в Нетологии.

Андрей Овсянкин
Cистемный архитектор «Сберлогистики» и преподаватель курса «1С-программист» в Нетологии

Кому, а главное зачем нужны 1С-программисты?

Специалисты по 1С нужны всем у кого есть бизнес, то есть буквально всем на рынке. Разработчики графики нужны производителям игр, создатели алгоритмов сжатия видео — стриминговым платформам, низкоуровневые программисты — компаниям, создающим «железо». Но и тем, и другим, и третьим нужны 1С-ники, потому что все это — бизнесы, которым необходимо считать деньги, платить зарплаты, автоматизировать производство и так далее.

Если представить себе бизнес, который продает улучшение качества фотографий онлайн, то сама его платформа, наверняка, будет построена на одном из низкоуровневых языков программирования, но всё, что вокруг: обслуживание клиента, оплата, выставление счета, расчёт и выплата зарплат сотрудникам — могут быть полностью реализованы на базе 1С.

Язык программирования 1С — это так называемый «предметно-ориентированный язык», заточенный под конкретные задачи. С самого начала он был придуман для работы с определённой платформой, а именно «1С: Предприятие». На базе этой платформы создаются решения для автоматизации бизнес-процессов: учёта товаров, расчёта заработной платы, налогов и других операций. И все они пишутся на едином коде, который, за неимением оригинального названия от разработчиков, стали обозначать как «язык программирования 1С».

Сегодня системы вроде «1С: Предприятия» часто называют модным словом low-code, оно обозначает среду программирования с низкой потребностью писать код самостоятельно и в большом количестве. Главная функция таких платформ сводится к тому, чтобы быстро создавать работоспособные приложения для решения бизнес-целей с помощью множества готовых решений и инструментов из «коробки». Ключевое слово здесь — быстро. Чем быстрее бизнес выйдет со своей идеей на рынок, тем лучше. Чем дольше бизнес будет ждать, пока программисты все напишут, тем выше шанс, что его опередят.

Почему 1С — отличный старт для новичков?

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

В экосистеме «1С: Предприятие» есть все для разработки простых алгоритмов: готовые экранные формы, библиотеки данных, стандартные отчеты и понятный язык программирования. Специалисту не нужно писать масштабные модули стандартных операций. Все составные части, которые требуются, уже готовы — остается только собрать механизм.

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

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

Именно поэтому «порог вхождения» в программирование легче переступить, начиная с 1С. Тебе не придётся заниматься лишними задачами и корпеть над переводом.

Многие программисты, специализирующиеся на других языках, хихикают и говорят: «Ха, смотрите! Они пишут “если”, а мы пишем “if”». Ну так их иностранные коллеги пишут как раз «если», поскольку именно это слово и думают. А наши вынуждены мучиться с трудностями перевода. Я всегда смеюсь, когда вижу в коде на C# или Java переменные SchetOplachen и Sklad.

Бедные авторы, бедные те, кто это сопровождает потом.

Всем нужны «решатели» проблем: задачи 1С-программиста

Главная задача любого программиста (не только «1С-ника») — приносить компании пользу, именно за это специалист получает деньги. Для бизнеса программист — хоть и ценный, но всё же, ненужный посредник между прибыльной идеей и её реализацией. Именно поэтому, бизнесу вообще не важно, на каком языке ты программируешь. А важно другое — как скоро и насколько качественно ты сможешь решить проблему автоматизации того или иного процесса. Вот почему системы low-code так востребованы, они решают проблемы с минимальным участием программистов и меньшими финансовыми и временными затратами.

Работа 1С-программиста построена просто: сначала он анализирует входящие требования клиента и определяет что нужно сделать и какой у задачи смысл. Например, ему нужно настроить для интернет-магазина систему выгрузки данных о том, какие товары остались на сайте и загрузки информации о заказах (цене, количестве, номенклатуре).

Сначала 1С-программист воплощает идею в виде модели данных (решает, какие объекты будут создаваться — заказы, пользователи, товары, счета и тому подобное), а затем пишет алгоритм, как именно эти объекты будут взаимодействовать между собой, создает экранные формы и отчетность под решение конкретной задачи. То есть, один человек решает проблему целиком. Вот и получается, что 1С-ник — это «решатель проблем» и «достигатель бизнес-цели», а не только «программист». И это гораздо ценнее.

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

Читайте также:  Цель кофейни как бизнес

Только представьте, задача «сделать кнопку «Заказать» недоступной, если не внесена предоплата» у 1С-ника занимает 2 минуты. На другом стеке двум командам разработки: фронтенда и бэкенда нужно будет договориться о том, как две части программы будут взаимодействовать и в каком формате одна команда передаст данные другой. Это занимает примерно неделю обсуждений, разработки и тестирования, и эту неделю бизнес будет ждать своего готового решения.

Какие навыки и знания нужны программисту 1С?

Как и любому другому разработчику, «1С-нику» важно обладать аналитическим складом ума, чтобы понимать, в чём заключается задача, из каких компонентов она состоит и как «шестерёнки» должны закрутиться, чтобы всё заработало. Не менее важны коммуникативные навыки и умение находить общий язык с клиентом. Часто бывает, что заказчик приходит с какой-то идеей, но сам не может чётко выразить, чего хочет на самом деле. Чтобы понять его цели и эффективно сделать свою работу, программисту просто необходимо уметь общаться.

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

Важно понимать, какие есть средства разработки, как писать код, знать, что такое алгоритмы и переменные, какие существуют типы данных, что такое циклы, процедуры, функции и прочая кухня, свойственная всем языкам программирования. Но в случае с 1С огромную долю работы на себя берёт платформа, поэтому в сложности работы компьютера «1С-нику» на начальных этапах карьеры погружаться не приходится.

Если говорить о «хардовых» навыках, то постепенно программисту придется изучить блоки и компоненты самой 1С, систему зарплатных регистров, периодические расчёты. Не менее важно уметь создавать разные виды справочников и документов, работать с запросами, а также применять языки разметки XML и JSON, сервисы HTTP и SOAP. Опытные 1С-программисты должны понимать не только, как адаптировать и дорабатывать готовые решения, но и как с нуля создавать конфигурации и веб-сервисы под нужды бизнеса, поскольку запросы каждого предприятия уникальны.

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

Будет ли легче учить другие языки программирования со знанием 1С?

Сегодня отраслей и предметных областей, которые так или иначе затрагивает IT — очень много, поэтому знание нескольких языков для программиста это норма. Даже, если ты пишешь на JavaScript, тебе на компьютер ставится Python и C++, потому что node.js их себе требует. Знание нескольких технологий и широкий кругозор сегодня почти обязательны.

В этом тоже, кстати, преимущество 1С. Если ты не знаешь фронтенда, то твоему начальнику придется привлекать к команде разработки веб-программистов. Однако, если ты разбираешься в 1С, то можешь долгое время работать, обходясь только этим языком программирования и быть, при этом, успешным специалистом. В других же стеках, если ты знаешь только одну технологию, то ты со связанными руками, потому что ни одной серьезной задачи бизнеса ты не сможешь сделать целиком.

Если у человека есть желание кодить и осваивать новые языки, то, с одной стороны, после 1С ему будет легче — не придётся заново запоминать, что такое переменная, условие и цикл, потому что это общие концепции, которые есть и в других языках. С другой стороны, будут и сложности: придётся переключаться на кодинг на английском языке, а также привыкать, что под рукой нет решений из «коробки» и все низкоуровневые вещи, вроде миграции полей в базе данных и рисования интерфейса, нужно писать самому.

В целом, будет нетрудно переключиться на Java Script, потому что это стандартная разработка для веба, или освоить Python — язык, который в принципе создавался для того, чтобы быть простым. Поэтому, ответ — да. Если никогда не программировал, то после изучения 1С будет легче изучить что-то ещё.

Где учиться на 1С-программиста?

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

В Нетологии на первом этапе обучения реализован метод «программирования без кода». Сначала студенты учатся создавать решения нажатием кнопок мыши вообще без кода. И они, даже не написав ни строчки кода, видят результат своей работы — готовое работающее приложение. Можно ввести необходимые данные (клиент, заказ, склад) и посмотреть на результат. Это даёт первичное понимание процесса работы «1С-ника».

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

Источник: tproger.ru

Профессия программист

Правда ли, что программирование — ну самая востребованная специальность в мире? Кто такие системные и прикладные программисты? Сколько лет нужно учиться на программиста? В какой вуз и колледж поступить, чтобы стать программистом?

Говорят, что в мире есть 10 видов людей. Те, кто понимает двоичный код… и те, кто не понимает.
Юмор программистов

Программирование зародилось в XIX веке, и до середины XX века, когда случился бурный рост информационных технологий, создание программ для машины было сродни искусству. Программирование было уделом избранных. Сегодня же профессия программиста распространена и очень востребована. В 2017 году в мире насчитывалось 18.2 млн разработчиков программного обеспечения, из них 1.3 млн — в России.
Давайте посмотрим, какое будущее у профессии программиста. И что ему угрожает.

Описание профессии

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

Сегодня насчитывается несколько сотен языков программирования, но самые распространенные из них – Java, Python, PHP, C#, JavaScript, C, С++, Objective-C, Swift. Какой язык программирования выбрать, программист решает сам в зависимости от конкретной задачи (сделать игру, приложение для web или программу для сервера) и собственных знаний. Квалифицированный программист уверенно использует 2-4 языка.

Специализация программистов

Если вы думаете, что программист = компьютерщик, то это далеко не так. Самое удивительное, что программист не обязательно работает на компьютере. Он может писать код программы хоть на салфетке, а компьютер ему нужен, чтобы применить этот код и протестировать.
Не стоит также приравнивать программиста к «айтишнику». Под общим названием «IT-специалист» скрывается более 50 разных профессий и должностей. Например, UIX-дизайнер (разработчик интерфейсов), account-менеджер (специалист техподдержки), системный администратор, devops («инженер по автоматизации IT-процессов»), менеджер IT-проекта – это «айтишники», но не программисты. Однако стоит помнить, что в любую из IT-профессий можно попасть через образование программиста.

Читайте также:  Схема отопителя ГАЗ бизнес

По специализации программисты делятся на системных, прикладных и веб-программистов. Прикладные программисты занимаются написанием различных программ и приложений: игры (например, популярная игра Angry birds), офисные приложения (например, Microsoft Office Word) и многое другое. Системные программисты занимаются созданием операционных систем (например, Android или iOS). Веб-программисты разрабатывают интернет-сайты и программы, которые поддерживают работу этих сайтов.
На сайтах вакансий вы найдете разделение программистов по тем языкам, с которыми они работают: программист C++, программист Delphi, PHP-программист. А также по типам задач, которые они выполняют: программист баз данных, фронтенд / бекенд разработчик, мобильный / десктоп разработчик, программист 1С, программист Битрикс, геймдев, архитектор ПО, системный инженер и т.д.

Плюсы и минусы профессии программиста

Профессия программиста очень притягательна для современных абитуриентов. В 2018 году в технических вузах самый большой конкурс пришелся на специальности «Прикладная математика», «Информатика и вычислительная техника», «Электроника и наноэлектроника». В 2023 году проходные баллы по ЕГЭ на эти специальности обещают только вырасти. Что так привлекает молодых в программировании?

Плюсы профессии программист:

✔ Высокая зарплата. Средняя зарплата высококвалифицированного программиста 70-100 тыс. рублей.
✔ Востребованность. Рынок труда для программистов растет за счет цифровизации всех сфер общественной жизни. Онлайн-образование, телемедицина, интернет вещей (IoT), даже сельское хозяйство не обходится теперь без IT-специалистов.
✔ Интересные задачи и простор для творчества. Что делает программист на работе? Пишет код, тестирует, проверяет на уязвимости, переписывает код. Тем не менее, конечный результат кодирования – это рабочая программа с разными целями. Одни программисты создают игры.

Другие программируют роботов. Третьи делают полезное приложение под Android. Четвертые создают агрегатор, который соберет все билеты мировых авиакомпаний в один сервис для бронирования авиабилетов. Разнообразно, не правда ли? А когда продукт начинает исправно работать, программист испытывает радость, как персонаж папа Карло, который из деревянного полена выстругал живого мальчика.
✔ Возможность удаленной работы и свободный график. Программисты – это каста людей, к которым не применяют строгих офисных правил. Для поддержания креативности и работоспособности им разрешают работать из дома, приходить позже на работу. И, если вы еще не знаете, лучшие офисы принадлежат именно IT-компаниям. Загляните в Google, Microsoft, Яндекс и Mail.Ru.
✔ Карьерный рост в России и за рубежом. Для программирования нет географических границ. Во-первых, многие российский специалисты работают удаленно в иностранных проектах. Во-вторых, переехать в «Силиконовую» долину (более точно ее называть «Кремниевой») для IT-профессионала с отличным знанием английского гораздо проще, чем, например, бухгалтеру, юристу или инженеру-строителю, которым придется изучать специфику профессии в конкретной стране.

Минусы:

✔ Сидячий образ жизни. Без физических нагрузок в нерабочее время программист рискует большую часть зарплаты тратить на врачей. Особенно страдают зрение и опорно-двигательный аппарат.
✔ Быстрое устаревание знаний. Программисту необходимо постоянно учиться. Программирование развивается стремительно, поэтому программист обязательно должен читать профильные журналы и интернет-ресурсы, получать новые знания и сертификаты на курсах. Иначе его ценность как специалиста на рынке труда упадет.

Где учиться

Чтобы стать программистом, можно пойти тремя путями:
1. После 11 класса в вуз по направлению 09.00.00 «Информатика и вычислительная техника» или 10.00.00 «Информационная безопасность».
2. После 9 класса в колледж на эти же направления, а потом пойти или не пойти в вуз.
3. Учиться на курсах программирования и самому.

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

Именно поэтому приобретать знания и опыт в информационных технологиях можно и дома с помощью книг, online-курсов и создания небольших программ. Какой вариант образования лучше, решает каждый сам. Главный вопрос, который должен задать себе программист – «Достаточно ли я усидчивый и целеустремленный человек, чтобы выучиться и потом конкурировать с теми, кто пришел из вуза?».

В каких вузах и колледжах учиться на программиста
Для поступления в вуз необходимо успешно сдать ЕГЭ по математике, русскому языку, информатике и ИКТ, физике, английскому языку (4 из 5 экзаменов в зависимости от специализации). В Москве получить образование программиста можно во многих учебных организациях.
Полный список вузов, колледжей и техникумов смотрите здесь >>

Где работать

• Компании-разработчики (сервисы Booking.com, Mail.ru, Yandex, Unisender)
• IT-отделы и отделы digital-маркетинга организаций (Сбербанк России, Газпром, Тинькофф банк)
• Системные интеграторы (Крок, Softline, Техносерв, Ланит, Ай-Теко)

Карьерные возможности

Из-за бурного роста сферы IT и дефицита разработчиков ПО, работать программистом можно начать еще в институте. Со 2-3 курса можно устроиться junior-разработчиком и начинать движение по карьерной лестнице. И при этом получать достойную для студента зарплату в 30-50 тысяч рублей.

Сами программисты оценивают длительность каждой ступени следующим образом:
• Первые полгода-полтора года реального опыта вы junior
• При активном обучении следующие 1-3 года работы вы middle
• А программист с опытом работы 4-6 лет – это senior

Но, конечно, стоит помнить, что границы условны, и более активный и любознательный разработчик сможет освоить все навыки senior-developer за 3 года.

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

Оплата труда (диапазон зарплат)

Зарплата программиста напрямую зависит от специализации и квалификации. Наименее оплачиваемые должности – это junior-разработчики, которые только учатся. А наиболее оплачиваемые на рынке труда – архитекторы ПО и системные инженеры, на которых лежит ответственность за продукт или проект в целом. Поэтому диапазон зарплат программистов может быть очень широким:

    ✔ 30 000 – 260 000 рублей

Сейчас отрасль IT в целом и программирование в частности находятся на пике востребованности. Компании конкурируют за квалифицированных специалистов. В перспективе ближайших 5 лет программистов ждет благополучная жизнь и высокие зарплаты, потому что молодых кадров станет немного меньше. Придет период демографической ямы из-за низкой рождаемости в начале 90-х гг.
Но рынок IT ждет несколько опасностей. Во-первых, обучение программированию сейчас начинается уже практически с детского сада. Самые известные обучающие языки — это Scratch от MIT и Blockly от Google. Вероятно, навык программирования будет настолько же распространен, как знание английского языка, то есть будет входить в «джентльменский набор» при приеме на работу. А если им владеет почти каждый, то и ценность работы снижается.
Во-вторых, IT-образование сейчас дает почти каждый колледж и вуз. После дефицита рынок может «насытиться» профессиональными программистами, и их зарплаты упадут.
В-третьих, есть страны, в частности Индия, где IT-образование развивается еще быстрее. И в определенный момент услуги программирования насытят мировой рынок, как сейчас произошло с товарами, произведенными в Китае. С индийскими программистами трудно будет конкурировать в цене.

Читайте также:  Производство бумажной упаковки как бизнес

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

Какие компетенции и личные качества необходимы программисту

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

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

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

Что делать уже сейчас

    ✔ Углубленно изучать математику, информатику, русский и английский язык в школе.
    ✔ Программировать и создавать веб-сайты, небольшие редакторы и полезные утилиты.
    ✔ Читать новости из сферы IT: на порталах cnews.ru, habrahabr.ru, computerworld.ru, hightech.fm и github.com.
    ✔ Заниматься в кружках по программированию и школах юного программиста.
    ✔ Посетить iСмену лагеря «Профессионалы будущего», чтобы пообщаться с настоящими IT-специалистами и узнать больше о современных технологиях.

Если вы хотите получать свежие статьи о профессиях, подпишитесь на нашу рассылку.

Источник: proforientator.ru

Настольная книга формошлёпа или CRM в режиме бога

CRM — это та самая внутренняя система, которая хранит и позволяет управлять данными о бизнесе нашего заказчика. Как правило, CRM-системы приходят на замену Excel-таблицам. Руководители бизнеса в определённый момент понимают, что таблица с возможностью сортировки и поиска уже не может покрыть всех функций, которые нужно применять к данным. До макросов многие не дорастают и, слава Богу. Как по мне, сфера применения макросов в таблицах очень узкая, и большинству бизнесов не подходит.

У CRM-систем есть несколько больших проблем, которые нужно учитывать при разработке. В этой статье мы говорим о самописных CRM-системах, которые разрабатываются на языке программирования или фреймворке. Мы не касаемся систем, которые являются кастомизированными версиями известных BPMS (Business Process Management System). Сам я несколько лет работал с Ruby и Rails, поэтому все конкретные примеры будут именно из этого стека, ну и другие затрону тоже.

  1. Бизнес не знает, чего он хочет. CRM система должна содержать в себе бизнес-процессы, актуальные для компании сейчас. Бизнес-процессы любой развивающейся компании меняются регулярно, вместе с ними должна развиваться и CRM. В этой связи разработчики должны обеспечить динамичность фич, иметь возможность быстро добавить или убрать ту или иную фичу.
  2. Могут внезапно понадобится данные, которые не сохранялись. Сохраняйте все данные, которые есть в CRM. Не важно, попросил вас об этом бизнес или нет. Сохраняйте, пускай в базе лежит всё. Все события, все временные данные, всё! Пускай в базе остаётся. Оно там кушать не просит. Добавьте в систему такой модуль или функциональность, которая будет по умолчанию сохранять все данные автоматически. Придёт тот день, когда бизнес спросит, а можно ли выдать определённую метрику в проекте за последний год. И вы тогда гордо ответите, что “да”, в базе есть нужные данные для метрики.
  3. Дизайн. Индивидуальный не нужен. Берите Bootstrap и делайте. На крайний случай можно Foundation, но лучше Bootstrap.
  4. Первые версии фич нужно катить быстро. Бизнес не знает, чего он хочет, я напоминаю. Он и здесь тоже хочет проверять гипотезы. Первые версии любых запланированных фич нужно катить максимально быстро, чтобы сотрудники смогли “протыкать” и понять, нужна ли эта фича вообще в системе, и как её дальше разрабатывать.

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

Динамический язык программирования

Чтобы быстро катить фичи, нужно просто меньше писать кода, и можно быстрее “херачить” функциональность. Это нужно для того, чтобы программист мог сразу после обсуждения идеи с заказчиком, за полчасика-час, выкатить на стейджинг тестовую фичу и дать “потрогать” пользователю. Подходящие по этому критерию языки программирования: Ruby, Python, Clojure, PHP, JS.

Go + Ruby + JS vs. Я

Как программировать одновременно на трех языках и не сойти с ума.

Интерпретируемый язык программирования

Как правило, руководители бизнеса сами активно пользуются CRM. Могут быть ситуации, когда руководитель хочет прямо сейчас исправить один кейс. Обращается к программисту, чтобы тот поправил одну маленькую часть функциональности.

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

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

Тут нужно помнить, что ошибки во внутренней CRM простительнее, чем в кастомер продукте. Команда пользователей ограничена сотрудниками компании, поэтому ничего страшного, если иногда будут выпадать рантайм эксепшны. Такие ошибки будут быстро доходить до команды и фикситься. Быстрее, чем в кастомер-продукте. Подходящие по этому критерию языки программирования: Ruby, PHP, Python.

Нужны тесты!

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

Более того, здесь и TDD применимо как никогда. Приложил видео своего доклада, как мы обычно применяли TDD в таких случаях. Тут я ещё являюсь специалистом в своей предыдущей компании. Если вкратце, у меня даже были кейсы, когда сперва писал тесты с использованием DSL, показывал их заказчику, он одобрял подход к реализации фичи, и уже потом я быстро имплементировал фичу. Красота!

Источник: medium.com

Рейтинг
( Пока оценок нет )
Загрузка ...
Бизнес для женщин