+
Вход

Въведи своя e-mail и парола за вход, ако вече имаш създаден профил в DEV.BG/Jobs

Забравена парола?
+
Създай своя профил в DEV.BG/Jobs

За да потвърдите, че не сте робот, моля отговорете на въпроса, като попълните празното поле:

66-56 =

+
Забравена парола

Въведи своя e-mail и ще ти изпратим твоята парола

Как едно smart приложение може да ускори ръчното събиране на клиентски поръчки в складовете на търговците?

*Автор на текста – Десислав Каменов, Head of Engineering, Ocado Тechnology

Макар да сме световно известни с нашите автоматизирани ботове и роботски ръце и захвати, голяма част от които развиваме в София, в Ocado Technology създаваме още много интригуващи решения за глобалната онлайн търговия с хранителни стоки. В основата на технологичната революция в сектора, която предизвикахме, е нашата Ocado Smart Platform (OSP). Тя включва технологии за автоматизация на всички нива в процеса – от предвиждането на нуждите на търговците, през пълното управление на веригата на доставки и управление на наличностите, до начина, по който всеки краен потребител прави своите поръчки по интернет.

Екипът на Ocado Technology в София работи фокусирано в 4 основни направления. Три от тях – Retrieval Robotics, Advanced Technology и Handling Robotics/Control Systems, се прилагат в действие в големите автономни логистични бази на онлайн търговците, които изграждаме като част от нашата OSP. В тях можете да видите нагледно как 2000 бота се движат едновременно със скорост от 4 метра в секунда и се разминават на разстояние от 5 мм едни от други, за да изпълнят клиентските поръчки на онлайн търговците по света. Четвъртото ни направление – In-store fulfilment (ISF), създава иновативни софтуерни решения, с помощта на които физическите магазини (представете си кварталния супермаркет) могат да изпълняват и онлайн поръчки ефективно и доходоносно.

In-store fulfilment решението на Ocado Technology

Физическите магазини са създадени така, че пътят на клиента от входа до касата да е максимално удължен и да ги води покрай колкото може повече регали и продукти. Но когато клиентите вече са направили своята поръчка онлайн и биха искали единствено да я вземат готова от магазина или да я получат на адрес, е от съществено значение събирането на продуктите в тяхната потребителска кошница, да става максимално бързо.

Именно това е целта на технологията, която In-store fulfilment екипа на Ocado Technology изгради в София. Значимостта й от гледна точка на бизнеса е безспорна, като от 33 магазина, само за последната година нашите партньори Morrisons въведоха In-store fulfilment решението в общо 450 свои обекта. Така технологията ни помогна повече храна и други необходими продукти да бъдат доставени до повече хора по време на локдауна в Обединеното Кралство.

Испанската Bon Preu и шведската ICA Gruppen също работят със създадената в София платформа. Веригата Sobeys пък ще въведе решението ни в 120 свои обекта в Канада до края на 2022 г. В световен мащаб броят на веригите за пазаруване на храни и стоки на дребно, които решават да предложат на клиентите си възможност за онлайн пазаруване, нараства. Други наши партньори в това отношение са веригите Coles, Kroger, ICA, Casino и Aeon.

Да преминеш от физически към онлайн магазин

Всеки физически магазин, който преминава към изпълнение и на онлайн поръчки на хранителни и други стоки, изгражда т. нар. Dark store, или иначе казано – склад, до който достъп имат единствено служителите на магазина. Тяхна задача е ръчно да изпълнят клиентските поръчки, обикаляйки сред регалите, събирайки и комплектовайки стоките за предаване. Когато получиш една или десет поръчки, скоростта за събиране на продуктите не е от толкова голямо значение, защото ще се справиш при всички положения. Но когато поръчките са стотици, а клиентите очакват удобство и бързина, всяка секунда е от значение. Бързината е ценна в търговията на храна и поради кратките срокове на продуктите, които искаме да достигнат до клиентите максимално свежи. Именно тук е ролята на нашето ISF решение.

Ръчно, но умно изпълнение на онлайн поръчки

Поръчките на онлайн клиентите се обработват и планират, така че служителите, които събират и комплектоват продуктите (т. нар. pickers) получават инструкции в създаденото от нашия екип мобилно Android приложение. То е свързано със система за управление на поръчки, която комуникира с платформите за електронна търговия.

Оборудвани с количка за стоките и мобилно устройство, служителите започват своето „състезание” из пътеките и регалите на складовото помещение, събирайки максимално много клиентски поръчки за минимално количество време. Информацията, която всеки служител получава в приложението, е кой е оптималният маршрут за изпълнение на дадена поръчка и кои поръчки да бъдат съчетани, за да може с една обиколка, да се изпълнят няколко едновременно.

Всички сложни изчисления, вложени в алгоритмите на нашата In-store fulfilment платформа, се реализират от екипа ни в София. Задачата допълнително се усложнява поради факта, че всеки склад е различен по размер и оформление. В случаите, в които дадена стока е изчерпана, приложението предлага възможност за замяна, която също е персонализирана и базирана изцяло на сходни характеристики с поръчания от клиента продукт, като вид, качество, цена и др.

Екипът също надгражда решението с нови части на продукта и актуализации.

In-store fulfilment решението на Ocado Technology в склад на ©ICA Grouppen.
Технологиите, които стоят зад нашето ISF решение

Ocado Technology се старае да стандартизира технологиите и основните инструменти, които екипите използват. Компанията предоставя на всички служители най-добрите инструменти за съответната технология и поддръжка при тяхното използване. Това улеснява и преместването на хора между екипи в компанията. Стандартизацията определя редица категории, в зависимост от предназначението им, но тези, които се използват в In-store fulfilment, са в няколко основни направления.

Уеб приложения (Web applications / Frontends)

В In-store fulfilment използваме ReactJS за нашите уеб приложения, като ги пишем на Typescript, за да се възползваме от всички предимства на езика. На ниво компания използваме споделени библиотеки с базови компоненти, за да може всички приложения да изглеждат по еднакъв начин и да следват еднакви концепции. Node.js е наш пръв приятел за обслужване и сигурност на уеб заявките.

Днес те питаме…

Коя е най-важната социална придобивка за теб на работното място?
Loading ... Loading …
Мобилни приложения (mobile applications)

Android e платформата, на която сме избрали да обслужваме и правим Native Android мобилно приложение, използвайки Kotlin и следвайки трендовете на Android обществото. Друг наш екип от скоро експериментира и с Progressive Web Application – специално създадено уеб приложение, което модерните браузери предлагат да се запази като приложение на операционната система и позволява да се използва дори без интернет връзка, както би било едно Android приложение.

Сървърни приложения (backend applications)

Нашите сървърни приложения са в две технологични направления, в зависимост от това коя част на продукта обслужват. Едната част е изцяло базирана на Scala. Тя е изградена върху принципите на функционалното програмиране и е асинхронна по природа. Бизнес логиката e организирана като слой от услуги (Service Oriented Architecture), разпределени в няколко приложения, които работят заедно, посредством събития, команди и интерфейси за извличане на информация. Друга част е базирана на Java / Spring, като следва принципите на микросървисните архитектури и предоставя своите бизнес функционалности посредством REST API.

Инфраструктура

Всички наши приложения са пригодени за модерните инструменти за автоматизация на процесите по разработка, пакетиране, настройка и доставяне на код по концепции Continuous Integration & Continuous Deployment, като използват максимално възможностите на GitLab в тази насока.


AWS е средата, в която изпълняваме нашите приложения, за да предоставим услуги на клиентите, като можем автоматично да ги мащабираме, посредством възможностите на ECS.

Възползваме се и от възможностите на BigQuery в Google Cloud, за да запазваме, обработваме и систематизираме много данни, чрез които взимаме все по-добри и информирани решения за нашия продукт и помагаме на нашите партньори да правят същото.

Организация и начин на работа

Една от ценностите на Ocado Technology е „автономия” и затова създаваме нашите екипи така, че да разполагат с част от продукта, за която да се грижат и отговарят. Работим на двуседмични Scrum спринтове, като екипът решава как да организира работата и срещите си в рамките на спринта.

Към всеки екип има Team Leader, който се грижи както за индивидуалното развитие на хората, така и за общия колегиален дух и производителност. В същото време лидерът практикува и техническите си умения и съдейства в работата. Инженерите взаимодействат и с продуктов мениджър, който се грижи за развитието на продукта, изискванията и приоритетите на задачите. Някои екипи работят и с UI UX дизайнер, който помага с визията и удобството при използване на продукта.

В зависимост от частта, за която отговарят, някои екипи са специализирани в определена техническа област – нашият е Android екип, а пък други са full-stack и правят всичко от край до край. Тенденцията е да се движим в тази посока за областите, в които е приложимо.

Средата в екипите е приятелска и често се използва pair-programming за правене на по-трудни задачи или пък при въвеждане на нов член в екипа. Това не само е приятно и забавно, а и помага за по-доброто качество на продукта и за обмяна на знания. Посредством pair-programming се изграждат и отношения между членовете на екипа. Културата в Ocado Technology насърчава хората да си помагат, а не да се състезават. Ние знаем, че заедно можем повече.

Подкрепяме иновациите и разбираме колко е важно да не се изостава от модерните трендове тъй като това носи удовлетворение на инженерите и ползи за компанията. Затова в екипите се стараем да има във всеки спринт време за нови и интересни проекти, обновления, подобрения и други технически задачи.

Държим на доброто качество на кода и затова почти всички функционалности са покрити с тестове. Така сме сигурни, че това, което създаваме и променяме, няма да наруши стабилността на нашия продукт и да предизвика нежелани инциденти или неудобства за нашите партньори. От своя страна това ни помага да имаме сравнително малко инциденти и така работата ни е лека.

Ако искате да научите повече за един от нашите ISF екипи, прочетете интервюто с Павел Ненов, Team Lead. Отворените позиции на Ocado Technology в България, можете да разгледате в Job board-a. Ако нашите решения в областта на роботиката са ви интересни, вижте този материал или посетете блога на Ocado Technology.

(заглавна снимка: In-store fulfilment решението на Ocado Technology в склад на ©ICA Grouppen.)