будни

Похвастаюсь классным клиентом.

Сервис upmarket размещает товары производителей на интернет-рынках вроде озона и вайлдберрис. Ребята делают полный цикл, от написания карточек товаров и работы с отзывами до логистики.

Звучит довольно просто, но оборот у парней больше полумиллиарда рублей в год.

Нас позвали по двум причинам: 1) придумать, как автоматизировать те вещи, которые сложно поручить машине из-за слабого API торговых площадок и как сделать из «самодельных скриптов» надежную и масштабируемую систему; 2) вторая причина даже интереснее — мы соберем команду разработки, которая будет развивать IT в бизнесе после нашего ухода.

Одна из первых задач — обновить сервер статистики, который собирает данные из личных кабинетов крупных интернет-площадок в наше собственное хранилище. Данные нужны для принятия выгодных решений о ценах и объемах товаров, а ещё для сложных отчетов. Наша цель — автоматизировать подключение новых личных кабинетов, чтобы можно было добавить новых клиентов без лишних операционных затрат.

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

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

Сейчас сделаем ещё пару задач сами, а дальше наймем классных программистов и выстроим внутреннюю команду разработки.

Обращайтесь @samatg, мы берем ещё клиентов.

Представляю клиенту результаты аудита проекта. Там треш: полтора программиста из региональной студии месяц корячат prestashop, а руководитель делает сложные щи, что мол «разрабатываем multi-vendor marketplace с потенциалом развития».

Клиент просит оценить «на глаз», сколько стоила такая разработка.

Я отнекиваюсь: «какой смысл», разорвите отношения и дело с концом, нужно решить что дальше делать, а не терять время на бодание с дураками.

На что владелец бизнеса рассказывает анекдот:

Приходит мужик в банк.
— А вы правда кредит под честное слово даете?
— Правда, отчего ж не дать. Вы ведь отдадите!
— А если не отдам?
— Ну вы вот перед Богом предстанете, в глаза ему посмотрите и вам стыдно будет.
— Э, ну когда я еще предстану.
— Ну через месяц не отдадите, так на следующий день и предстанете!

Обожаю работать с бизнесменами, прошедшими 90-е.

У меня на руках было 18 часов аудиозаписей, которые нужно было перевести в текст. Как расшифровать аудио в текст?

Можно заплатить профессионалам.

Можно самому всё слушать и печатать, это сложная и долгая работа.

Я решил скормить аудио дорожки машине и исправить трудные для алгоритма слова руками в специальном редакторе.

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

С поддержкой русского выбор немного сужается, но всё равно есть очень классные сервисы: HappyScribe, Trint, SimonSays, Sonix. Эти продукты отличаются моделью ценообразования и вниманием к деталям.

Эти сервисы не разрабывают алгоритмы распознавания речи. Я уверен, что они пользуются облачными API одного из крупных игроков — у гугла эта штука называется Google Cloud Speech-to-Text. Практические идентичные решения есть у Яндекса, Амазона и Microsoft.

По стоимости: расшифровка часа видеозвонка в гугле стоит 2.16$, у яндекса — 0.46$, а в Sonix — от 5 до 10$, остальные сервисы ещё дороже. Для сравнения, профессиональная расшифровка с русского — около 23$ за час.

Даже с крутым сервисом, работа заняла у меня больше 40 часов. Я сильно недооценил необходимый объем труда.

Кстати, у гугла есть вариант «поделиться своими аудиозаписями с гуглом для улучшения моделей распознавания». Тогда они дают скидку в 30% и берут за распознавания речи только 1.44$ в час.

Есть идея о том, что компании должны платить нам за наши данные. Это — первый известный мне пример реализации этой идеи на практике.

Запустили вчера опрос для слушателей нашего подкаста. Второй сезон закончили!

Для создания опроса я использовал сервис Typeform.

Результаты опроса сохраняются по мере прохождения. Даже если человек бросит опрос на полпути — я получу ответы на первые, самые важные вопросы. А ещё система показывает, на каких вопросах люди «отваливаются» и их можно подвинуть в конец.

Есть красиво сверстанная страница результатов опроса, которую можно пошарить по секретной ссылке.

Рекомендую. Единственный минус — дорогой, от 30 евро в месяц.

Я обожаю диаграммы. Рисовать их на доске или на бумажке и одновременно обсуждать с программистами. Это мой способ разобраться самому и объяснить что-то сложное другим.

На видео — реальные схемы разработки нового проекта для igooods. В статье — обзор классных инструментов и примеры из жизни.

В React Native есть теоретическая возможность менять поведение мобильных приложений, на лету загружая свежий код. Это почти обновление версий приложения в обход стандартного механизма апстора и google play.

Вчера на нашу вакансию react native разработчика в w1d1 откликнулся Игорь Зиновьев (просто познакомиться) и мы вспомнили, что давно хотим эту функцию, но никак её не прикрутим.

Игорь рассказал, что у Microsoft специально для этого есть удобный продукт, называется App Center CodePush.

Microsoft App Center — очень симпатичный сервис для разработки мобильных приложений. Это полный комплект CI/CD: автоматическая сборка с возможностью загрузки билдов из master ветки в сторы, удобный механизм распространения бета-версий в обход тестфлайта, автоматизированное тестирование на живом железе, креши, аналитика и многое другое. Всё это богатство с нормальным интерфейсом, человеческой документацией и хорошо интегрировано друг-с-другом.

Результативное собеседование, хоть и без оффера сразу после!

P.S. Интересно, как сработала идентификация «свой-чужой» у ребят, серьезно занимающихся react native. Кодовое слово — gesture handler.

Мы с Федей ищем технического директора в igooods себе на замену.

igooods — это доставка продуктов из гипермаркетов. Сотни тысяч клиентов, тысячи заказов в день, миллиард оборота в месяц. 36 городов России. В партнерах — Метро, Лента, Призма, Вкусвилл, Ашан, Глобус, Карусель, Окей.

Техническая команда — 31 человек. Под капотом рельса и реакт, нативные мобильные приложения для iOS и Android.

Вы заберёте разработку, которая находится в процессе трансформации от небольшой уютной тусовки к машине по зарабатыванию денег. За последние полгода производство стало работать чётче, но до швейцарских часов ему пока далеко — много вещей делаются на ручном контроле. Вам предстоит выстроить QA, доукомплековать продуктовые команды, до конца перейти на сервисную архитектуру (цель — через полгода перестать писать код в монолит) и создать систему управления техдолгом.

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

Мы с Федей запустили эти процессы, но чтобы завершить работу, нужно жить в Питере.

Команда прекрасная, но это не значит, что вам не придется много работать руками. Оно того стоит — вы выстроите первоклассную разработку в одном из крупнейших сервисов доставки продуктов в России.

Офис в Питере, помощь с переездом. Подчинение напрямую владельцу бизнеса; основной рабочий партнер — CPO Андрей Родин.

Пишите краткий рассказ о себе мне в личку или на [email protected].

Как найти программиста? Первый шаг — написать толковую вакансию. Разберем на примере, как это сделать.

Ищем React Native-напарника в W1D1.

👉 Важно в одной фразе объяснить, что за компания, чем она занимается.

W1D1 — сервис для развития креативности. Каждый день мы даем новое творческое задание — обычно сфотографировать что-то или заснять на видео и участники анонимно делятся друг-с-другом результатами. Это — MVP. В ближайшие полгода будем экспериментировать с новыми функциями и партнерствами. Наша амбиция — стать главным сервисом для развития креативности, это огромный рынок.

👉 Компания — стартап? В стартапе главное — кто делает, кто в вкладывается деньгам и на сколько этих денег хватит.

👉 Компания со стабильным доходом и супер низкой текучкой? Стоит указать явно.

Это стартап. Основатель — бывший арт-директор W-O-S Леша Ивановский; основной разработчик приложения (который и ищет себе напарника) — Андрей Кеске, раньше программировал в Airbnb. Инвесторы — друзья друзей, денег есть на 6 месяцев. Есть понятный план как за это время показать рост необходимый для следующего раунда.

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

У нас свежее приложение без легаси. Пока только iOS-приложение на react native, на бэкенде нода, apollo (graphql).

👉 Чем именно крута вакансия? Нужно безбожно хвастаться

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

Кратко:
— react Native, 99% всех компонентов функциональные, сильно декомпозированы — <100 строк на компонент;
— apollo для работы с бекэндом;
— стек можно посмотреть по package.json’у
— свой собственный модуль камеры, написанный на Свифте (можно закопаться в эту технологию, если есть желание);
— ESlint, Prettier и pre-commit хуки, чтобы не думать про стили;
— часть решений и модулей мы выкладываем в опен сорс (например) и в будущем хотим продолжить эту практику;

Большим плюсом будет знание бэкенда на ноде, чтобы сделать фичу целиком, а не только в приложении.

👉 Удаленка или офис? Фултайм или парт-тайм? Какие основные рабочие инструменты? Они много говорят о компании. Какая зарплата? Есть ли дополнительные бонусы или ограничения, о которых стоит знать?

Работа удаленная, фултайм. Лёша в Москве, Андрей в Нью-Йорке, встречаемся в телеграме, трелло и зуме. Зарплата 200-400тр, в случае высокой результативности можем договориться о доле.

👉 Обязательно укажите, куда обращаться. Ждете портфолио или примеры кода в первом сообщении — напишите. Хорошо бы объяснить процесс собеседования (сколько кругов ада предстоит пройти) и когда будет результат.

Пишите @leshaivanovsky в телегу. После знакомства мы дадим доступ к коду и предложим сделать небольшую фичу (за деньги, естественно). Если процесс и результат понравятся — начнем работать фултайм.

👉 Можно приложить картинку. Это как принт на футболке, привлекает внимание и доносит одну простую идею о вас.

Вакансия настоящая и я рекомендую w1d1.

Пентест — это «испытание на проникновение», когда вы платите хакерам деньги и они пытаются вас взломать.

Технически вы можете быть бронебойны, но «социалка» —социальная инженерия, то, через что взломали твиттер, почти всегда срабатывает.

Эта оплошность твиттера — отличный повод заказать внешний аудит информационной безопасности, если вы этого давно не делали.

Я заказываю такие аудиты у Омара Ганиева. Кстати, один из первых эпизодов нашего подкаста был как раз про безопасность, с Омаром и с Каримом Валиевым, руководителем безопасности mail.ru; — хороший повод послушать классных русских хакеров.