• Какие самые реальные и действенные проекты\работы\фриланс для python-программиста?

    voidnugget
    @voidnugget
    Программист-прагматик
    Пишу на питоне ещё с 15 лет (2.4+)... ненавижу его runtime и архитектуру. Язык хороший - реализация никакущая. Ну да его синтаксис достаточно упрощён, но и за синтаксический сахар приходится платить сложностями отладки и поддержки.

    Сейчас же почти все известные мне конторы не используют питон в продакшенах с более-менее высокой нагрузкой. Яндекс тому пример. Чаще питон используется для решения прикладных задач администрирования, так как это делается, к примеру, в SaltStack. Все дружно слезают с питона, РНР и рельсов на Golang, Java/Scala, и иногда даже Groovy - производительность выше в десятки раз, и managed runtime на много стабильнее. Правда в случае с JVM очень сильно раздувается куча в виду избыточности объектной модели (оператву жрёт как дурное, а я байтики считать привык). Сейчас это должно лечится с помощью Project Graal и Truffle, правда пока до этого дошёл только jRuby, который тоже в пару десятков раз быстрее Ruby. По идее и Groovy тоже должен переползти как-то ... Вот про jyton ничего не знаю.

    Много моих знакомых слезло на Golang с Ruby и Питона.
    Стоит попробовать - он достаточно простой и идиоматичный, вот рефлексию стоит обходить стороной - она очень медленная, впрочем как и везде. Работу может и не найдёте сразу, но после реализации пары простых проектов будет проще предлагать в качестве целевой платформы.

    Фрилансить с питоном начать можно, но очень желательно опробовать ещё хотя бы пару окружений и фреймворков типа Groovy Grails, или Typesafe Stack. Сейчас требования рынка возросли в пару раз за последние два года - нужны ассинхронности/многопоточности, push-нотификации в мобильные приложения и по вэбсокетам/комету. И это всё с богатыми js-фронтендами на всяких там Angular'ах и React'ах. Естественно можно крутить костыли типа Celery / Gearmand / Beanstalk / RabidMQ, но накладные расходы на коммуникацию слишком большие :( Компилируемые языки со своими Managed Runtime'ами позволяют строить монолитные приложения в которых подобные решения избыточны в рамках одной и той же машины, а если это куча нод в кластере то нужно мерить/думать.

    Django сейчас сложно поддерживать так как он достаточно сильно развился за последние 3 года, и я очень сомневаюсь что сохранится совместимость новых версий со старыми.

    А вот с pyramid (pylons) и SQLAlchemy можно строить достаточно хорошие приложения. У них есть enterprise поддержка и соответствующие гарантии.

    Типовые задачи на питоне:
    - написать какой-то мелкий скрипт с Gui на PyQT / Pyside для какой-то аналитики и отрисовки графиков, иногда попадаются задачки с gstreamer'ом
    - написать какое-то простое RESTful CRUD приложение, в стиле "одна табличка БД - один контролеер", это конечно же тонна копипасты и мне больше нравятся DataMapper'ы по типу TastyPie. Иногда люди хотят чистого Tornado или Flask'a, так как им не нравится overhead в джанге и pylons.
    - написать скрипты для деплоя чего-то, обычно люди не знают про SaltStack.

    В плане архитектуры питонистам чужды различные SOA с CQRS-ES'ом, потому что сам компилятор не располагает. Хотя её достаточно просто поддерживать.

    Проблема всех проектов на Node.js / Python / Ruby это отсутствие долгосрочной поддержки библиотек и фреймворков - часто ломается обратная совместимость, и нужно постоянно следить за состоянием всех зависимостей. Опять же нужен TDD/BDD для того что это всё хорошо контролировать. Тестируешь руками - себя не уважаешь.

    Ну и вроде всё ...
    p.s. я опубликую на хабре статью сегодня-завтра "Freelance - you're doing it wrong" там поделюсь опытом работы и основными организационными проблемами в рамках удалённой работы и фриланса, покажу разницу между ними.
    Ответ написан
    6 комментариев
  • Какие самые реальные и действенные проекты\работы\фриланс для python-программиста?

    ali_aliev
    @ali_aliev
    Разработчик на Django/Python, JavaScript
    Python используется везде, где только можно. Web разработка, анализ данных, системное программирование/администрирование, математика, и т.д. Вам остается только решить, чем вы будете заниматься. По поводу опыта - чем его больше чем лучше. Я вам рекомендую забить в гугл "python engineer vacancy" и посмотреть какие требования для Python разработчика у работодателей.
    Ответ написан
    Комментировать
  • Что почитать верстальщику про дизайн и UX?

    p1xel
    @p1xel
    UX-спасатель
    Начать можно с классики.
    «Психбольница в руках пациентов», Алан Купер
    «Не заставляйте меня думать», Стив Круг
    «Дизайн привычных вещей», Дональд Норман
    «Ководство», Артемий Лебедев (помогает понять в целом что к чему в дизайне)

    Если интересует более продвинутая информация, то можете посмотреть мою статью, раздел «Библиотека»
    Ответ написан
    Комментировать
  • В какой последовательности открывать веб-студию и организовать рабочий процесс?

    Самый лучши и наверное единственный курс о том как организовать работу студии недавно закончил Мегаплан - https://www.megaplan.ru/digital/sm01-management (требует регистрации)

    Там все по полочкам разложено.
    Ответ написан
    Комментировать
  • Где и как обучиться оптимизации\продвижению\seo сайтов?

    nlutkov
    @nlutkov
    SEO, SMM, CPC, Target, UI...
    Начните с базового и постепенно переходите на изучение сложных вещей: кейсы, аналитика, анализ оптимизированных сайтов.



    По терминологии сами всё поймете, когда начнете изучать.
    Материала Вам хватит на пару месяцев. enjoy!
    Ответ написан
    Комментировать
  • Можно сделать gui приложение на python без установки интерпретатора?

    donkaban
    @donkaban
    Умею рисовать тени
    Нет. Можно раздеплоить приложение, то есть сделать бинарный пакет, который будет выполнятся на машине без интерпретатора, то есть на самом деле вклеить интерпретатор нужные библиотеки в этот бинарь. Разрабатывать вам все равно придется на машине с питоном и нужными библиотеками (gui то тоже требует каких то кроссплатформенных телодвижений, типа pySide)

    www.py2exe.org
    https://pythonhosted.org/py2app/
    cx-freeze.sourceforge.net
    Ответ написан
    Комментировать
  • Идеальный интерфейс

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Возможно, не совсем данной тематики будет, но рискну предложить посмотреть GUI десктопного приложения Blender3D — у него GUI полностью на OpenGL и является очень удобным и интуитивно понятным, отсутствует дикая вложенность меню и прочих окон.
    Ответ написан
    Комментировать