Метка: рост

  • Топ постов в канале за июнь по вашим реакциям

    Топ постов в канале за июнь по вашим реакциям

    Больше всего лайков собрали не технарские материалы 🤷‍♂️

    План запуска блога
    Недавний анонс серии постов вышел на 1ое место. Намёк понял, посты уже готовлю.

    Мастермайнд для руководителей агентств
    Я выступал в оффлайне, мне понравилось. А вам понравилось, что я об этом рассказал, судя по реакциям.

    Сравнительный анализ
    Пост-рефлексия про профессиональную самооценку.

    Часовое видео — за 5 минут
    Как с помощью AI сделать саммари из длинных видео.

    Фильм: Человек, который изменил всё / Moneyball
    Рекомендую хорошее кино про ботанов.

    Процентные пункты
    Почти все маркетологи говорят неправильно!

    Как плохая поддержка убивает хороший сервис
    Потерянное воскресенье из-за службы почтовых рассылок.

    Как узнать размер рыночной зарплаты?
    Анализ спроса и предложения на HH.

    MCP простыми словами
    Ботаны дают AI доступ к инструментам.

    Лидген на отраслевых выставках
    Как добыть клиентов в оффлайне.

    Бонус:
    Таблица Open Source вместо платной подписки. Рабочие альтернативы для агентств и стартапов

    Спасибо, что читаете! ❤️

  • Пеликаны на велосипедах

    Пеликаны на велосипедах

    Вам тоже надоели сравнения нейросетей (LLM) между собой? Огромные таблицы с непонятными цифрами, которые понимают только специалисты. Есть более наглядный вариант для бенчмарка. Саймон Виллсон, бывший техдир Eventbrite и один из создателей фреймворка Django, уже несколько лет сравнивает способности LLM на одной задаче:
    Сгенерируй SVG-изображение пеликана, едущего на велосипеде

    Почему эта задача так хороша?
    – SVG — формат для векторной графики, но эта графика описана текстом в виде XML-кода. То есть, это и текст, и код, и изображение одновременно!
    – Нарисовать велосипед — не самая простая задача даже для взрослого человека. Многие не могут вспомнить, как выглядит рама или руль.
    – Пеликан в векторном виде будет мультяшным, его тоже не просто нарисовать.
    – Пеликаны не ездят на велосипедах! Велосипеды не приспособлены для них. Нужно проявить изобретательность, чтобы сделать такую картинку.

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

    Занимательные ссылки:
    – Свежие пеликаны на велосипедах
    – Самая ранняя подборка пеликанов на велосипедах
    – Подробный обзор LLM за последние полгода и много пеликанов

  • NFT-коллекция аватаров PostHuman

    NFT-коллекция аватаров PostHuman

    Как отдыхает программист? Пишет код для удовольствия!

    На днях произошёл запуск NFT-коллекции, в работе над которой я принял участие в качестве разработчика. В проекте работает команда: менеджмент, дизайнеры, коммьюнити-менеджеры и партнёры.

    Наши пиксельные аватары сделаны по принципу знаменитых Крипто Панков. Слои с головой, одеждой, причёсками и глазами комбинируются случайным образом. У других авторов аватары заранее генерируются, отбираются куратором и лучшие публикуются на блокчейне как коллекция. У нас всё получилось гораздо мощнее — фабрикатор постоянно онлайн и у коллекции нет модератора. Автомат генерирует случайные комбинации из 13 видов слоёв, от заднего фона до цвета глаз. Выпадет одна из 615,000,000,000,000,000 комбинаций!

    Как работает механика:
    – Валидатор Posthuman и Omniflix.TV распространяют NFT-сферы своим пользователям. Многие получат сферу бесплатно или за какие-то активности. Также сферы можно купить на маркете.
    – Сферы работают как билеты или жетончики. Их можно отправить в автомат, который сгенерирует новый NFT-аватар.
    – Аватар можно использовать в приложениях экосистемы или продать на маркете.
    – Аватар будет случайный, поэтому может не понравится пользователю.
    – Аватар можно за небольшую плату сдать в регенератор и получить взамен новую сферу.
    – Это вызывает цикл обменов и генераций, пока не выпадет подходящий аватар.
    – Аватары бывают трёх рас: Человеки (разного пола и цвета кожи), Роботы и Пришельцы.
    – Аватары и сферы бывают разной редкости: Обычные, Бронзовые, Серебряные, Золотые, Платиновые, Бриллиантовые.
    – У частей картинки разная вероятность выпадания. Робот в шапке-ушанке более редкий, чем просто робот. Костюм космонавта более редкий, чем рубашка.

    Как заработать на NFT-аватарах? Я не знаю — я программист :]
    Можно генерировать редкие классные аватарки и продавать на маркетплейсе. Сейчас это дополнительное развлечение для участников блокчейн-экосистемы. Мы запустились пару дней назад, а уже создано 1200 аватаров.

    Промо-лендинг коллекции https://avatars.posthuman.digital/
    Сгенерированные аватары на маркете: https://omniflix.market/c/collectNow/onftdenomf3c4a963c49747039217eba1dc10282e
    Посмотреть, какие аватары выпадают прямо сейчас https://t.me/posthuman_avatars
    Автомат по генерации аватаров https://mint-posthuman-avatar.omniflix.market/

  • Как узнать размер рыночной зарплаты?

    Как узнать размер рыночной зарплаты?

    Специализированные сервисы или консультация HR не всегда доступны, а ответить на этот вопрос можно за 5 минут простым исследованием.

    На HH ищу нужную мне специальность Laravel по базе резюме, чтобы понять ожидания кандидатов. Я сравниваю удалёнку, поэтому удаляю из фильтов свой город. Ставлю Полный день в графике работы. В Специализации, выбираю нужную мне: Программист, разработчик.
    Скролю ниже до Уровня дохода и видим гистограмму — самую информативная часть исследования. Тут вижу моду — самое частое значение, самый высокий столбик.
    В моём случае найдено 2849 резюме, из них 2300 активно ищут работу. Самый популярный на гистограмме диапазон 95 000 р. — 185 000 р. с 894 резюме.

    Далее переключаюсь в вакансии, чтобы понять ситуацию со стороны работодателей.
    Также ввожу Laravel и проматываю колонку с фильтрами до Специализации, отмечаю Программист. Включаю тип занятости “Полная занятость”.
    Вижу, что найдено всего 607 вакансий и вот такое распределение по количеству, выполненное в виде неудобного перехлёста диапазонов. Чтобы его проанализировать, нужно перевести числы в проценты от общего числа вакансий.

    Зарплата — Количество вакансий
    ≥ 80,000 ₽ — 312 (51%)
    ≥ 155,000 ₽ — 213 (35%)
    ≥ 235,000 ₽ — 80 (13%)
    ≥ 310,000 ₽ — 27 (4%)
    ≥ 390,000 ₽ — 11 (2%)

    Мои выводы:
    – 607 вакансий на 2300 кандидатов, соотношение примерно 1:4. На одну вакансию 4 кандидата. Выглядит как рынок работодателя, чтобы ни говорили СМИ про состояние всего рынка труда.
    – Грубо, примерно половина вакансий предлагает ЗП выше 80 000 рублей, а половина — меньше.
    – Треть вакансий с ЗП выше 155 000 рублей.
    – Только 4% выше 300 000 рублей.
    – Вычитаю из количества вакансии дороже 80 тысяч вакансии дороже 155, получаю примерно 100 вакансий. Они частично попадают в самый популярный у соискателей диапазон зарплаты. На него же приходится 894 резюме… соотношение 1:9.

    Заключение:
    В зависимости от потребности, можно искать хорошего кандидата немного дешевле 150 000 рублей или нанимать топа не дороже 300 000 рублей. Моё мнение, что джун должен получать при такой конкуренции и ставках не больше половины медианной зарплаты. В данном случае, это немногим больше ­40 000 рублей.

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

  • Среда для приложения

    Среда для приложения

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

    Дев (dev, development, local, IDE) — тут сидит разработчик, приложение раскрыто и подключено к приборам, лампочки, мониторы, кишки наружу. Хирургическое отделение, идёт операция. По итогу работы приложение будет передано на следующую стадию разработки.

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

    Демо (Demo, Review) — приём приложения у менеджеров. Смотрят продакт, проджект и аккаунт-менеджеры, представители клиента, стейкхолдеры.
    Часто демонстрацию проводят на стейдже или тесте, не создавая отдельное окружение.

    Стейдж (staging, stage) — тут разворачивают приложение на копии настоящих данных (иногда анонимизированных), проводят финальные тесты на совместимость, интеграцию с другими системами и делают проверки перед выходом в свет. Окружение максимально приближенное к проду.

    Продакшн (прод, prod) — тут с приложением случается релиз — его опубликовали и теперь с ним работают реальные пользователи. Это финальная стадия — эксплуатация. Акцент на надёжность, скорость работы и сохранность данных.

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

  • Как я перешёл на Линукс

    Как я перешёл на Линукс

    В конце 2000-х я прочитал новость, что Марк Шаттлворт, ментор мафии PayPal и основатель Thawte, основал фонд для финансирования разработки Линукса. Этим Линуксом был дистрибутив Ubuntu, который я и установил. На тот момент почти все российские компьютеры работали на пиратских копиях Windows и все установленные программы тоже были пиратские. Эра SaaS ещё не наступила, купить винду или WinRAR казалось дурацкой идеей. Я захотел провести эксперимент и поработать только на Open Source программах. Так как я занимался веб-разработкой, то у меня получилось и вскоре Ubuntu стал моей основной операционной системой. Дошло до того, что когда у меня был MacBook Pro, на нём тоже был установлен Ubuntu вместо MacOS.

    Первые попытки поставить Линукс начались на десять лет раньше. Они проваливались, потому что все программы были иные, а попытки решить проблемы с железом или драйверами заводили в тупик.

    Сейчас ситуация иная. На Линуксе есть все привычные браузеры и мессенджеры. Драйверы он успешно находит и устанавливает сам. Веб стал платформой для приложений и часть софта стала онлайн-сервисами. Большинство программ, которые есть одновременно на Windows и Mac, скорее всего есть и под Линукс.

    Чего в линуксе до сих пор не хватает:
    – MS Office — для совместной работы я использую Google Docs, для открытия файлов — бесплатный LibreOffice. Совместимость не полная, но мне для работы хватает.
    – Мало программ для работы с музыкой, видео и графикой. Нет приложений Adobe. Для графики использую Gimp и Inkscape. Для обработки аудио есть мультиплатформенный Audacity, для стриминга есть OBS Studio, для просмотра видео — плеер VLC. Думаю, что тем, кто работает с медиа, удобнее работать на MacOS. Хорошо, что теперь интерфейсы для сайтов стали делать в браузерной Figma.
    – Мало игр. Есть Steam, который выручает всю ситуацию, но в нём не все игры совместимы с Линуксом. Я в современные игры на компьютере не играю, поэтому меня этот момент не беспокоит.
    – Нет антивирусов — для домашних пользователей они не нужны. Вирусов просто нет, не сталкиваюсь с заражениями рабочей станции и не слышал про такие случаи много лет. Теоретически это возможно, но хакерам проще взломать массу компьютеров на винде.
    – Поддержка ЭЦП и разного рода электронных ключей. Раньше тут был полный игнор пользователей, поэтому у меня была виртуальная машина с виндой или отдельный компьютер под ключи. Сегодня ситуация меняется из-за развития российского дистрибутива Астра Линукс для замены Windows в госсекторе, так что скоро все ключи будут работать.

    За последние годы видел, как обычные пользователи работают на Линукс без проблем — освоились и работают в нём каждый день, не замечая разницы.

    Скачать Ubuntu бесплатно без регистрации и sms.

    Как думаете, каких программ вам будет не хватать, если вы завтра поменяете операционную систему на новую?

  • Расходы на хостинг Open Source приложений на опыте веб-студии

    Расходы на хостинг Open Source приложений на опыте веб-студии

    В посте с таблицей Open Source решений не указано, сколько стоит их содержать. Рассказываю о своём опыте.

    Минимальный тариф на VDS будет стоить примерно 300 рублей в месяц. Этого хватит, чтобы развернуть и использовать большинство приложений из таблицы.
    Хостинг для тяжеловесного мониторинга ошибок Sentry стоит мне около 4000 рублей в месяц — это пока рекорд. Gitlab CE на всю команду выходит 1700 рублей.

    Если размещаем много приложений, не обязательно брать под каждое новый VDS. У меня есть сервер с установленным Portainer (удобная альтернатива Kubernetes), который позволяет просто запускать множество приложений. Я плачу за него 1500 рублей, а на нём работают 14 контейнеров с n8n, zammad и чат-ботами. Подозреваю, что там ещё что-то поместится.
    Современные виртуальные серверы позволяют увеличивать мощность и место на сервере постепенно, по мере потребности.

    Open source инфраструктура для современной веб-студии до 50 человек обходится примерно в 10 тысяч рублей в месяц.
    Если у вас свой офис, то можно все эти приложения развернуть на своём сервере и не платить за аренду VDS.

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

  • Продублируй важные системы

    Продублируй важные системы

    Все критические системы должны быть продублированы. За последние годы я видел, как останавливаются и ломаются критические системы у очень больших сервисов — отзыв лицензии у Точки и Киви, сбои в эквайринге от Сбера и Юкассы, упавший на две недели СДЭК, почта от Юнисендера…

    Поэтому, напоминаю себе и вам:
    – У бизнеса должно быть открыто два расчетных счёта в разных банках. Резервный счёт может ничего не стоить, но спасти много нервных клеток в случае конфликта с основным банком. А ещё у банков иногда отзывают лицензию.
    – У бизнеса должно быть два юридических лица, например, ИП и ООО одновременно. Если одно из юр лиц имеет спор с налоговой, то второе может подхватить хозяйственную деятельность.
    – В онлайн-сервисе должно быть два эквайринга. Особенно, если это банковский эквайринг, а не агрегатор — агрегатор может переключить шлюз на другой банк.
    – Онлайн-касс тоже должно быть хотя бы две.
    – У интернет-магазина должно быть две службы доставки.
    – Как я вчера выяснил, должно быть две службы для email и sms рассылок, если они для вас критичные. Если не работает отправка сообщений, то покупатели не могут попасть в личный кабинет.
    – Правильно иметь копию инфраструктуры в другом дата-центре. Хотя бы бэкапы хранить отдельно и иметь возможность быстро поднять все сервисы.
    – Домен и DNS лучше держать отдельно от серверов. Потому что, если выключился хостинг, нужно иметь возможность перенаправить трафик в другой дата-центр.
    – Можно заранее купить второй домен и использовать его в рекламе или для корпоративных нужд.
    – Крупные интернет-магазины держат два агентства по трафику, запуская рекламные кампании по очереди. Или даже просто выплачивают второму подрядчику резервную абонентскую плату и держат деньги на балансе рекламного кабинета.
    – Нужно держать бэкапы всего, хранить минимум в двух экземплярах в разных локациях. И проверять, что бэкапы рабочие.

    Всего не предусмотришь, но некоторые моменты настолько очевидны, что на чёрного лебедя их не спишешь. Технически будет виноват поставщик, но проблемы и убытки будут у тебя.

  • Обнови свой HTTP

    Обнови свой HTTP

    Что такое:
    Протокол передачи данных HTTP применяется для всех сайтов в интернете.
    Все самые популярные веб-серверы по умолчанию используют устаревшую версию протокола HTTP/1.1. Apache2, NGINX, Node.js, uWSGI, Gunicorn, Tomcat, Jetty, IIS — все виновны.

    Браузер пытается одновременно скачать с сайта код, десятки картинок и скриптов. На HTTP/1.1 браузер открывает несколько параллельных соединений, в каждом из которых файлы загружаются по очереди. С HTTP/2 открывается одно соединение, по которому одновременно загружаются все файлы. HTTP/3 ещё быстрее и лучше работает в мобильных сетях.

    Зачем обновлять:
    Сайт станет быстрее грузиться у посетителей. Прирост скорости особенно будет ощутим на медленном соединении на мобильных устройствах. Новые версии работают у всех, у кого современный браузер. Устаревшие браузеры будут использовать старую версию протокола.
    Поисковики тоже оценят скорость загрузки и могут улучшить позиции в поисковой выдаче.

    Год выхода стандарта:
    HTTP/1.1 — 1997
    HTTP/2 — 2015
    HTTP/3 — 2022

    Как обновить:
    В большинстве серверов HTTP/2 уже встроен, но его нужно явно включить в конфигурации. В NGINX достаточно добавить слово “http2” в конфигурацию и всё заработает, настолько всё просто.

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

    Как проверить:
    Из консоли любой операционки

    curl -I https://example.com

    На первой же строке ответа будет указана версия протокола: HTTP/1.1, HTTP/2, или HTTP/3

  • Сравнительный анализ

    Сравнительный анализ

    Почему-то иногда мы забываем, что не всё должно получаться с первого раза.
    Ходить мы учились очень долго — разбивали коленки и лбы. А приносящий клиентов сайт и рекламная кампания должны были получиться с первого раза!
    Но опыт накапливается постепенно…

    Ещё влияет размер выборки. В нашей небольшой деревне быстрее всех бегают Петя и Вася. А в онлайн выборке алгоритмы нам рекомендуют и показывают только олимпийцев во всех видах спорта.
    И тут мы попадаем сразу в две крайности: вначале сравнивали себя с местной парой атлетов, а потом — с лучшими людьми в интернете.

    Нужно пройти свой путь от 1 до 1000го повторения. Набирать опыт, несмотря на всех олимпийцев, обесценивающих твои достижения самим фактом своего существования. Ведь практически, чтобы убежать от медведя, нужно просто бегать быстрее соседа. А чтобы получать удовольствие от бега — не нужна ни Олимпиада, ни зрители.

    К чему это я: не забывайте получать удовольствие в процессе постепенного прохождения пути и радоваться промежуточным результатам. Ежедневная радость лучше сказывается на самооценке, чем отложенная. А там может и на Олимпиаду попадёте.