Мы хайрим (Python backend, QA automation, Android) и релоцируем (Польша, Кипр, и может быть ещё куда-то).
Делаем платформу для обработки платежей для стартапов Palta (включая Flo, в будущем). То есть много сложной работы с повышенными требованиями к качеству.
Попутно надо будет писать RFC (Requests For Comments), тесты (много), ревьювить код и, путём культурных дискуссий, передавать свои знания коллегам.
Пару месяцев как начали. Работаем удалённо. Ищем сеньоров и выше.
Технологии: AWS, Lambda, Aurora (PostgreSQL), последний поддерживаемый облаками Python.
Работать надо будет со мной в команде, со всеми плюсами и минусами этого :-DDD
Также, пока не ищем, но, надеюсь, будем: сильного фронтендера, технического-писателя-специалиста-по-dev-relations.
Ссылки с вакансиями:
https://boards.greenhouse.io/paltaltd/jobs/4467423004 https://boards.greenhouse.io/paltaltd/jobs/4383116004 https://boards.greenhouse.io/paltaltd/jobs/4459360004
Если нужны подробности, пишите в личку или в комментарии.
Если будете общаться с нашими рекрутёрами, упомяните где увидели вакансии :-)
Во второй раз перелистал документацию Rust, прошлый заход случился лет 5 назад.
Думал, что-нибудь изменится в моём восприятии этого языка, но нет. Как и в прошлый раз, начинается всё хорошо — норм язык, а потом он начинает нравиться всё меньше и меньше.
И похоже я понял, что меня в нём задевает.
В теории с миграциями всё сложно. Но на практике надо с ними работать. Или совсем отказаться от них. Посмотрим какие рабочие варианты существуют.
В основном я пишу на Python, использую реляционные БД, поэтому и инструменты буду смотреть с ориентировкой на эти технологии. Конечно, только open source. На полноту обзора не претендую.
Если я упустил какой-то софт или описал его с ошибками — пишите в комментариях или в личку — исправлю. В конце концов, досконально изучить документацию всех утилит я не пытался — это потребовало бы слишком много времени.
Опубликовал небольшую библиотеку для работы с предикатами в Python: github, pypi. Как всегда, под BSD-3.
Позволяет конструировать функции для отложенных вычислений. Например, описывать такие условия: (OwnedBy('alex') | OwnedBy('alice')) & HasTag('game-design')
.
Делал для себя, так как уже несколько раз в пет-проектах писал костыли для этого дела. Решил сделать один раз правильно и больше не тратить на это время.
Минимальный пример:
from pydicates import Predicate, common
def HasTag(tag):
return Predicate('has_tag', tag)
def has_tag(context, tag, document):
return tag in document['tags']
common.register('has_tag', has_tag)
document = {'tags': ('a', 'b', 'c', 'd')}
assert common(HasTag('a') & HasTag('c'), document)
assert not common(HasTag('a') & HasTag('e'), document)
assert common(HasTag('a') & ~HasTag('e'), document)
assert common(HasTag('a') & (HasTag('e') | HasTag('d')), document)
Больше примеров можно найти в репозитории ./examples
API описано чуть подробнее в ./examples/documents_check.py
Больше примеров можно найти в тестах.
Вышла статья с исследованием состояния статической типизации в Python. Я её наискосок просмотрел, всё примерно так, как я и рассказывал в эссе:
Далее несколько интересных цитат.