#python

10 постов
пост №1644

Как мы помогли Вебиуму привести в порядок разработку; отчитываемся о целом годе своей работы.

Начали с большого старого проекта на руби, поддерживаемого аутсорсерами, а оставили отлично документированный и покрытый тестами (читай можно быстро пилить фичи) python+vue, технического директора и внутреннюю команду разработки.

Подробный рассказ с множеством технических деталей — публичный дебют Миши Бурмистрова, нашего ведущего фронтендера и руководителя проекта перезапуска Вебиума.

Ура!

Хотите что-то подобное? Пишите мне в личку @samatg.

пост №1365

Искуственный интеллект™ (модель машинного обучения) переводит просьбы на английском языке в питон-код для обработки и представления данных.

Срочно нужен такой же для перевода с русского на 1С.

https://github.com/deepklarity/jupyter-text2code

пост №1255

Немного стыдно публиковать здесь вакансию в субботу утром после недельного перерыва в постах, но мы с Федей ищем сильного питониста в upmarket.

Работа хорошая: руководство слышит и уважает разработку, код без легаси покрыт тестами и приносит пользу реальному бизнесу, есть опытный питонист-напарник. Коммуникация в основном асинхронная, можно работать по своему графику — конечно же удаленно, но при желании можно заходить в офис к ребятам в Питере. Есть и скучная работа вроде парсинга маркетплейсов в настроенной для этого инфраструктуре и интересная — по динамическому ценообразованию и автоматическому заказу. По деньгам — 120-220тр в месяц на руки в зависимости от производительности и опыта; 50тр тому, кто направит вас к нам.

Подробности здесь, пишите Феде на почту [email protected] или мне в личку.

пост №1063

Две недели назад я нанял в Пьюр ведущего бэкенд разработчика — Антона. За это время Антон вник в проект, сделал так, чтобы серверы не умирали при повторных запросах от клиентов, почти доделал несколько важных задач для борьбы с мошенниками (выпустим большое обновление приложений ещё до Нового года) и наметил план по дальнейшему наведению порядка.

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

Начнем мы с самых основ — с построения удобной среды разработки: настройка рабочего окружения бэкенд-разработчика должна занимать несколько минут, а не дней (docker, клон продакшен базы с вычищенными персональными данными, etc.)

Далее, заменим старую и неподдерживаемую систему фоновых задач gearman на celery и переедем на python3.

А вот дальше начинается круть: полный аудит текущих мобильных приложений и новая версия API, свободная от легаси. Самый сок: сейчас большая часть данных о пользователе хранится в json-ах внутри одной таблицы «users» — мы её распилим на кусочки. Меняем систему доставки обновлений на клиенты с long-polling на вебсокеты (заодно выпиливаем mongo с сотней гигабайт мусора).

Если всё это звучит для вас не как шум, а как интересные задачи и вызов — пишите мне в личку или на [email protected]. Обязательный список: django, celery, aiohttp (можно хотеть изучить, нужен для бэкенда чатов), postgres. Приложите код, который вы считаете лучшим в своей жизни.

Минусы:
- задачи часто меняются
- процесс ещё не устаканен
- нужно много прогать

Плюсы:
- можно участвовать в формулировке задач
- есть тестировщики и хороший сисадмин (devops)
- удаленка
- вы будете работать с АНТОНОМ ШУРАШОВЫМ.

пост №1028

Я ищу опытного бэкендера для наведения порядка в PURE.

Pure это приложение для анонимного общения и знакомств. Профиль, лента, чаты, платежи. Мобильные клиенты под iOS и Android, веб версия.

Бэкенд сейчас в плачевном состоянии. Django python2 и немного python3, не DRF. Писался 4 года назад с планами, что это будет «платформа» для запуска разных приложений знакомств — был введен слой абстракций, который усложняет разработку и поддержку (на самом деле приложений два и они мало отличаются). Части вроде аналитики, которые стоит вынести в отдельные проекты, всё ещё внутри основного приложения. Нужно привести всё это в порядок. Задача не для слабых духом и не для тех, кого пугает слово legacy.

Из хорошего: 1) несколько сотен тысяч MAU, пользователи радуются и платят деньги; 2) интересные продуктовые планы — хотим быть лучшим приложением для анонимного общения; 3) мы готовы выделять 40-60% времени на улучшения и рефакторинг — хочется сделать конфетку не только снаружи, но и изнутри; 4) работа удаленная и щедро оплачивается; 5) я ищу человека готового включать голову и брать ответственность — не «просто кодера».

В команде: ещё один бэкенд-разработчик (толковый!), по два мобильных разработчика на iOS и Android, три фронтендера, два дизайнера, инженер ops и два тестировщика. Основатель и владелец проекта — продакт, я — технический директор. Вся команда распределенная.

Идеальный кандидат: разработчик с опытом создания и поддержки больших python приложений в продакшене, которому хочется сделать большое и сложное дело. Работал с платежами и с мобильной разработкой: писал структуру взаимодействия клиентов с сервером, документацию и моки, занимался траблшутингом клиент-серверных ошибок. Понимает про базы данных, деплои, нагрузку и масштабирование, интересуется дейтингом и анонимными мессенджерами, ответственен и самостоятелен. Я сам далеко не идеальный техдир, так что готов к неидеальным кандидатам.

Пишите в личку или на [email protected]

пост №911

Всю свою карьеру я стеснялся и стыдился того, что не умею профессионально программировать (я начинал админом, так что unix однострочники не в счет). Я говорил, что хочу научиться, покупал книжки, но дальше пары страниц, примеров и вечеров дело не шло.

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

С радостью представляю первую программу, которой пользуются больше 3 человек. Издательский дом «Комитет» запустил публичное API для комментариев на своих сайтах tj.ru, vc.ru и dtf.ru. DTF.ru — сайт про игры и другие развлечения, так что на выходных я запрогал для него бота. Бот отвечает информацией об игре, если взять её имя в квадратные скобки. Спасибо техдиру комитета Илье за хорошее API и помощь в тестировании. Эта история бы не состоялось без Дениса из Комитета и главреда RAWG Сережи. Коллаборация!

Мне не стыдно показать исходный код публично; наверное, потому, что я не профессиональный программист. Код работает, вы можете использовать его как основу для своих ботов. Буду благодарен, если подскажете, что можно сделать лучше (python, github).

Кстати, у RAWG хорошая обвязка API под питон (написанная немецким студентом), так что если хотите поделать что-то с играми — не стесняйтесь.

Да здравствует свобода от внутренних ограничений! Ура.

пост №754

Новости медиа: мой любимый The Economist опубликовал исходные данные и скрипты, с помощью которых составляет знаменитый «индекс бигмака» (ru-wiki). В гитхаб-репозитории исходные данные и юпитер-тетрадь со скриптами на python и R.

Публикация данных и алгоритмов (исходных кодов), на основе которых принимаются решения и делаются публикации — хороший и важный тренд.

На картинке — таблица про кофе из первого выпуска The Economist, передает привет современному датасайнсу из 1843 года.

пост №707

Практически некролог на ван-Россума, создателя питона на The Economist!

На самом деле, просто ода питону. Из это статьи я узнал, что за последний год питон в гугле искали чаще, чем Ким Кардашьян. Что ни говори, а это успех.

пост №701

Guido van Rossum, создатель языка Python, берет бессрочный отпуск с должности «благосклонного пожизненного диктатора» (Benevolent dictator for life, BDFL — термин был придуман специально для него!). Буквально «я устал, я ухожу». Преемника не оставляет и ожидает, что core-dev команда сама решит, как будет управляться разработка языка дальше.

Питон — один из самых популярных языков программирования, lingua franca IT-мира. Data science, роботы, обучение детей программированию, один из основных языков в компании Google. Созданный в 1990-м году (!), сегодня он поддерживается буквально везде — от умных часов до мейнфреймов IBM. Бэкенд RAWG написан на питоне.

Даже если вы не знаете программирования, вы можете оценить Дзен Питона — 19 афоризмов, диктующие правила языка и программирования на нем:

- Красивое лучше, чем уродливое.
- Явное лучше, чем неявное.
- Простое лучше, чем сложное.
- Сложное лучше, чем запутанное.
- Плоское лучше, чем вложенное.
- Разреженное лучше, чем плотное.
- Читаемость имеет значение.
- Особые случаи не настолько особые, чтобы нарушать правила.
- При этом практичность важнее безупречности.
- Ошибки никогда не должны замалчиваться.
- Если не замалчиваются явно.
- Встретив двусмысленность, отбрось искушение угадать.
- Должен существовать один — и, желательно, только один — очевидный способ сделать это.
- Хотя он поначалу может быть и не очевиден, если вы не голландец (намек на Гвидо).
- Сейчас лучше, чем никогда.
- Хотя никогда зачастую лучше, чем прямо сейчас.
- Если реализацию сложно объяснить — идея плоха.
- Если реализацию легко объяснить — идея, возможно, хороша.
...

так пожелаем Гвидо удачи в личной жизни!

пост №699

Rawg.io ищет второго бэкенд-разработчика. Нас 3 программиста и мы делаем лучший сайт про видеоигры (всего 14 человек в компании).

TL;DR Работа, Python, Django, DRF, микрокоманда, Remote.

Под капотом у нас Python 3.6, Django 2, Django Rest Framework, Postgres, Celery, Docker на бэке и React на фронтенде. У нас есть стандартный CRUD (сейчас около 20 тысяч пользователей в месяц) и нестандартные задачи скрепинга/импорта/мержа игровых данных из XBox Live, PSN и Steam с последующим миксом видео и фото из Youtube, Twitch и Imgur. Редакторы активно используют Django Admin для редактирования базы игр (52 тысячи, будет расти до 200 тысяч).

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

Мы работаем по модели Basecamp, когда в начале 2-4 недельного «цикла» микро-команда — фронт + бэк и дизайнер получают хорошо сформулированную бизнес-задачу с примерными макетами, а дальше мы минимально дергаем команду разработки, чтобы не отвлекать и не мешать. Коммуникация происходит в Basecamp и немного в Slack, все Remote.

Из важного — codebase свежий (первый коммит год назад) и написан одним человеком (Антоном, который сейчас единственный бэкендер), жесткого легаси или костылей там (пока) нет. Мы используем стандартные тузлы, такие как github, docker, ci (есть даже blue green). Рабочее окружение разворачивается парой команд (используется docker). Мы пишем unit-тесты, но не маниакально, а для удобного тестирования и контроля работоспособности.

Мы ищем человека с опытом программирования на Python и Django (опыт работы с DRF и Celery будет большим плюсом), чтобы не терять время на изучение азов. При этом мы готовы рассмотреть как опытных, так и начинающих кандидатов. Нам важно желание приносить пользу пользователям и бизнесу, а не «придумывать красивый код ради кода»

Мы предлагаем стабильную, достойную оплату труда, очень классную команду (дизайнер раньше верстал, а фронты разбираются не только в js), рабочий Макбук по необходимости.

Пишите на [email protected] или мне в личку.