#python

страница 2 из 2
пост №1028Работа и карьера

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

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

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

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

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

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

Пишите в личку или на samat@pure.app

пост №956Разработка и инженерия

Перевёл сегодня интерфейс одного проекта с одного языка на другой с помощью Google Cloud Translation API.

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

Я попробовал несколько разных систем машинного перевода для этой задачи, самая хорошая - Google Translate. Она даже теги span и переменные в фигурных скобках не корёжит, переводит только тексты. Учитывая бесплатные полмиллиона символов перевода - даже с настройкой биллинга не придётся заморачиваться, скорее всего. Регистрируетесь в Google Cloud Platform, пишете небольшой питоновский скрипт и вперёд. Можете взять мой за основу.

Конечно, локализация (l10n) и интернационализация (i18n) проекта (разница между ними) — гораздо больше, чем просто перевод; а даже организация перевода для большого проекта с несколькими переводчиками — то ещё развлечение. Но это тема для гораздо более длинного поста.

пост №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), рабочий Макбук по необходимости.

Пишите на python@rawg.io или мне в личку.