Вадим Ваганов | Инженерный апгрейд
444 subscribers
209 photos
8 videos
2 files
142 links
Инженерный апгрейд: как перейти от написания кода к созданию влияния.

Разбираю технологии-рычаги, создание контента, софт-скиллы и продуктовое мышление.

Путь из разработчика к чему-то большему.

Контакт: @vrvaganov
Download Telegram
StreamDeck, только в 4 раза дешевле? Китайцы опять сделали это?

Давненько у нас не было ничего про девайсы! Откопал интересную штуку как для контент-мейкеров (особенно стримеров), так и для разработчиков и любителей продуктивности!

Многие наверняка слышали про StreamDeck — любопытное устройство, ориентированное в основном на стримеров, но при этом нашедшее отклик у любителей классных девайсов и автоматизации. Представляет из себя некое устройства ввода, каждая кнопка которого является ещё и небольшим дисплеем. Благодаря плагинам и скриптам, вы можете делать кучу вещей: отслеживать температуру процессора, котировки акций, включать свет в комнате, делать запрос по HTTP, отслеживать и менять статус каких-либо событий и многое другое. Единственный нюанс — устройство совсем не из бюджетных, Elgato это вообще не про бюджетность.

И тут выходит главный герой нашего поста — Ajazz AKP153. Это копия StreamDeck. За 5-6 тысяч рублей. Наверняка какая-то игрушка, да? А вот и нет, китайцы под копирку списали софт, причём то ли в режиме обратной совместимости, то ли как-то хитроумно перетащили топовые плагины — многие тулзы для стримеров (например, прекрасные плагины от BarRaider) работают и на этом чудо-устройстве, также подключаются по WebSocket к OBS. Различные плагины и конструкторы для продуктивной работы также имеются. Да, с оговорками, да, где-то медленнее, но на первый взгляд — работает!

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

Если хотите полный обзор и применение для стримов и разработки — бахайте лайк 👍

Купить стримдекозаменитель Ajazz AKP153 можно на Ozon и AliExpress.

#девайсы
👍18🔥91
События событиями, а посты должны быть по расписанию

Всем привет! Получился большой перерыв из-за изменений в команде, большого количества работы по backend-академии и из-за ремонта :) Буду стараться въезжать обратно в ритм хоть сколько-нибудь регулярного постинга!

За прошедшие недели было несколько интересностей.

🎹 Открыли нашу академию для бэкендеров, где я являюсь и преподавателем, и со-автором программы. Уже провёл три лекции — пока что чистый кайф: ребята заряженные, очень нравится проводить занятия, всегда проходит живенько. Заметил, что даже не ощущаю усталость, хоть занятия и проходят после рабочего дня. Но не то что бы это всё проходит совсем легко, всё-таки требуется много подготовки, а я человек ответственный. Надеюсь на большой выхлоп по итогам программы — как по мне, такой подход очень эффективен — уверен, что на выходе получим разработчиков, которые готовы рваться в бой сразу после завершения программы.

Также поработал на стенде ГПБ на Java-конеференции JPoint, а ещё примерил на себя роль эксперта/модератора на докладе Макса. Надеюсь, что что-то привнёс в выступление своим присутствием. Зал у нас был вполне себе набитый, а обсуждение после доклада растянулось ещё как минимум на час. Как только доклад будет в открытом доступе — обязательно поделюсь!

Сейчас перелопачиваю много всего по разработке, так что буду делиться мыслями и крутыми источниками, но и про девайсики не забудем — пока что без масштабных покупок, но обязательно расскажу вам про пару полезных штукенций. Stay tuned!
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥11
Не предполагай — спрашивай

Нашу академию отличает то, что мы учим не только писать код, но и быть разработчиком. А "быть разработчиком" значит много коммуницировать: с клиентом, с командой, с руководством, с коллегой, — крутые продукты и проекты чаще всего делают крутые команды, а не волки-одиночки. Коммуникация — ключ ко всему. И это применимо в любой сфере, не только в разработке и в работе, а в жизни в целом.

Один из главных принципов эффективной коммуникации до банального прост — "Don't Assume. Ask." Не предполагай — спрашивай.

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

Полезный лайфхак: когда о чём-то договариваетесь или получаете задачу, проговорите собеседнику — "я правильно понял, что *тут ваша интерпретация полученной информации*?". И не бойтесь задавать вопросы, если они возникают. Глупых вопросов не бывает. Лучше задать пару простых вопросов, чем потратить время на выполнение не той задачи.

#развитие #разработка
👍14🔥94
Ловите доклад с недавнего JPoint от моего коллеги Максима Морева об "архитектуре вертикального среза". Я на этом докладе попробовал себя в роли эксперта (меня больше в конце доклада в сессии вопросов и ответов).
Лайк, подписка, обратная связь - дерзайте 😎
🔥61
Forwarded from codemonsters.log (Максим Морев)
💻Встречайте Вертикальный Срез и Пузырьковый контекст на JPoint 2024

Максим Морев, Газпромбанк.Тех — Код, которого не должно быть: Vertical Slice Architecture в Пузырьке

Напиши в комментах как тебе доклад, буду признателен.

Как было в это раз. Из серии Воспоминание деда.

Много практичного выжимаю в статью, доклад прекрасно дополнит главу.
Писал - писал - бац - доклад.
Кебаб :)

JPoint 📞 обнял вас

Тем много, делаю много.
В моменте застрял.
Что хуже, иногда все темы обесцениваются от усталости. Посидел - подумал.

Спросил Рому Олеска:

Как думаешь о чем стоит рассказать на JPoint из того, что я делаю по DDD


Рома ответил:

можно рассказать про вертикал архитектуру и фиче тоглы как круто работают между собой


Потестили тему с Вадимом и Ромой - решили годно.
Благодарю вас, друзья.

Вывод:
Когда Много наработок и не знаешь что вытащить из пула идей - тебе поможет классный друган инженер.
Так рождается сообщество.

Пс 🙋
Если вокруг тебя пусто - приходи к нам. У нас крутое инженерное сообщество Хедов Профессий, клевая команда и интересные задачи.

#code #codemonsterslog
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥83
Первая работа. Выученные уроки.

Недавно делал опрос, по итогам которого оказалось, что вам было бы интересно услышать о моём карьерном пути. Буду выдавать вам насколько возможно маленькими порциями, чтобы не перегрузить! Расскажу о самой работе и о том, чему она меня научила.

Первая официальная "айтишная" работа появилась у меня на последних курсах университета. Это было научное предприятие с большим количеством направлений работ, а отдел, в который меня пригласили сначала на полставки, занимался сертификацией программного обеспечения по линии МО, ФСБ и ФСТЭК. Если говорить просто, то мы были некоторым "брокером", который выполнял все проверки, помогал продукту заказчика соответствовать принятым нормативным документам, готовил отчётность и ускорял получение статуса "сертифицированного ПО".

Работа была по большей части проектная, нагрузка была совершенно неравномерная — когда-то приходилось попотеть, а когда-то ты закрывал все вопросы со своей стороны и ждал доработок заказчика или ответов от сертифицирующего органа, тогда оставалось время на обучение или собственные инициативы, чем я по большей части и занимался. Я очень хотел прокачаться и в любой "свободный" момент читал литературу по C# и что-то пробовал. И в какой-то момент мне представилась возможность сделать автоматизацию для проверки одного из проектов. Я неделю возился, но, мало что понимая, смог решить задачу. Код был ужасен, но я помог сделать работу быстрее. И в тот момент во мне что-то щёлкнуло. Я ещё не кайфовал от самого программирования (тяжело кайфовать от того, что ты делаешь плохо), но сам факт того, что я понял проблему и смог решить её кодом, вдохновил на дальнейшие свершения. Мне даже выплатили премию за эту программку — это были мои первые деньги за написанный мной код!

Да, это не была работа мечты. Да, это даже не было разработкой. Да, там было много плохих моментов: не самые современные подходы, бюрократия, документация по ГОСТ, формализм, странные тёрки между начальниками и прочие (не)прелести подобных организаций. Но, если честно, я безумно благодарен, что я смог попасть туда, будучи ещё студентом, ведь благодаря поддержке классных коллег (и удаче, ага) я смог протоптать свою тропинку дальше в большой интересный мир.

Мои мысли и выводы:
1) начинайте работать в интересном вам направлении как можно раньше — вы получите базовый опыт работы (в организации, в коллективе, в команде), изучите инструменты, и, что ещё более важно, получите реальный опыт, который можно "продать" в дальнейшем, даже если он "с нюансами";
2) ищите возможности прокачаться — часто от вас могут не требовать многого, а если вы способный, то быстро найдёте способ со всем справляться и отлынивать. Так можно, но на первой работе у меня было следующее правило — развитие в первую очередь, ведь обстановка располагает. Если появилось "свободное" время — прекрасно, почитаю что-то или попробую покодить. Это не значит, что нужно бесконечно упарываться, но старайтесь уходить с чувством, что вы хоть чему-то научились.
3) будьте проактивны и берите ответственность — если можно узнать что-то новое или взять новый проект, который поможет что-то прокачать — круто, берите. Если чувствуете силы сделать что-то новым способом — класс, попробуйте. Это самый простой способ расти!

#карьера #развитие #разработка
🔥16👍42
Зацените, как аккуратно переведено название книги 😁
😁22👍3
У меня завтра лекция по архитектуре приложений. Найден открывающий мем, который задаст тон всей лекции.
Поймут только разрабы скорее всего 😁

#разработка #юмор
👍12😁9🔥2
Разгребали на выходных старые коробки с вещами — обнаружился вот такой интересный артефакт!

0,8 мегапикселей и запись на DVD 😎
🔥15👍3
Backend Academy Starter Pack

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

4ого июля завершаем первый поток академии и я далее надеюсь вернуть своё свободное время :) Заодно сделаю какой-то пост с подведением итогом. Теперь очень хочу больше заниматься созданием обучающего контента — ждите интересностей! ❤️
🔥234👏2
Академия — всё 🔥

В четверг мы провели закрытие первой Backend-академии ГПБ.
📊 Результаты в цифрах:
- почти 4000 заявок на участие в академии — в результате очень тщательного отбора в первый поток попали 38 участников;
- 37 занятий по большому количеству тем от базовых конструкций Java до CI/CD и Docker с топовыми преподавателями;
- 90 репозиториев с учебными материалами и приложениями, которые разработали студенты в процессе обучения;
- 250 пулл-реквестов, в рамках которых студенты улучшали свои проекты;
- и много-много часов кропотливой работы, которая осталась за кулисами — огромное уважение всем коллегам, которые приняли участие, в особенности Наташе Бойцовой (которая не только божественный организатор, но и ведёт крутой канал про путешествия), Максу Мореву, Роме Олеску, Косте Козловскому, Яну Ашенкампфу, Никите Приймаку, Андрею Бирюкову и вообще всем-всем-всем, кто принял участие — а приложило руку к академии столько талантливых и вовлечённых людей, что всех и не перечислить в одном посте.

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

Чувствую себя вдохновлённым, доволен результатами своего труда, но всё же устал, поэтому постараюсь вернуться в более спокойный ритм. Абсолютно уверен, что это не последний мой обучающий проект. Почему-то есть полная уверенность, что мы с товарищами способны сделать одну из лучших образовательных программ в индустрии. Так что если вы или ваши друзья хотите попасть в мир разработки и стать крутыми инженерами – ждите новостей и стучитесь в личку 😎

#разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2912👍5
Профессионализм как цель

Приведу отрывок из книги "Как снять отличное видео на зависть профессионалам" Стива Стокмана.

"Я, [ваше имя], торжественно клянусь не навязывать своим друзьям, родственникам, клиентам или случайным зевакам на YouTube свое дурацкое, некачественное видео и не создавать для этого привлекательных заголовков.

Обещаю всегда держать микрофон близко к тому, кто говорит в камеру, или использовать микрофон на прищепке, если объект находится далеко от меня. Если кадр слишком затемнен, я не буду его использовать. Если в кадр попадет мой палец, я вырежу этот кадр. [...]

Я обязуюсь придерживаться более высоких технических стандартов, полностью осознавая, что принуждение кого-либо смотреть плохое видео — это неуважение и нарушение свободы. Я полностью осознаю, что технические проблемы мешают людям воспринимать то смешное/милое/невиданное/талантливое/шокирующее, что я пытаюсь им показать.

В завершение я обещаю всегда задумываться над тем, как снять для соей публики качественное видео, которое при этом будет интересно мне самому. [...]".


Речь, конечно же, идёт о людях, которые именно профессионально снимают видео. Этот отрывок почему-то очень сильно напомнил мне книгу "Идеальный программист" Боба Мартина, хотя, казалось бы, тематика совершенно иная.

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

Давайте же любить своё дело и то, какие крутые вещи мы можем делать, независимо от выбранного нами направления. Верю, что это и есть самый простой и понятный путь, который неизбежно ведёт к успеху.
👍1910🔥6
☝️Главный приоритет для продуктивной недели

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

Первый приоритет — это сон. Если он поломан, то не сработает ничего. У меня сейчас нет проблем со сном, но если выдаётся неделя, когда приходится жертвовать сном ради чего-то, то у меня съезжает вся неделя. Будет мало сил, постоянная потеря фокусировки и запутанные мысли. Многие исследования указывают на важность сна, например, недостаток сна делает наше поведение более реактивным: понижается осмысленность действий, действуем “по накатанной”. Стоит ли тут упоминать, что сейчас все пытаются воспользоваться этими слабостями и захватить наше внимание? Тот самый момент, когда спустя полчаса блуждания по рекомендациям задумываешься: “А почему я смотрю это видео?” Да-да, это оно.

Что лично мне помогает улучшить качество сна:
⬛️ блэкаут-шторы и выключение источников света – да, маленькой мигающей лампочки от ноутбука или любого другого устройства, да, даже это влияет;
💤 автоматический режим “не беспокоить” у смартфона на время сна – ничто не ломает сон так, как уведомление от смешнявой картинки, найденной вашим другом с бессонницей – потерпит до утра;
☕️ не употреблять кофеин во второй половине дня – кофеин выводится из организма (по крайней мере до той степени, чтобы не влиять на сон) за 8-10 часов, поэтому лучше вечером не пить энергетики, кофе, чай и даже кока-колу; я любитель чая и ставлю себе “отсечку” где-то на 14:00, после чего пью только травяные чаи;
📵 ограничение по использованию устройств перед сном – от полного запрета использования гаджетов до более щадящих режимов, например, чёрно-белый режим (или фильтр синего цвета) или хотя бы запрет на скроллинг рекомендаций, а также замена на электронную или бумажную книгу, ведь сложная книга – лучшее снотворное 🙂
😴 ну и конечно же, стараться ложиться и просыпаться в одно и то же время.

Полезная литература по теме:
"Путь джедая" Максим Дорофеев
"Атомные привычки" Джеймс Клир

А какие полезные привычки работают для вас?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1210🔥4
🔊 Маленький шаг для сеньора, но гигантский скачок для джуна

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

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

Сеньор помогает декомпозировать задачу на атомарные кусочки, которые можно выполнить за несколько часов. Джун берётся за первую, усиленно фокусируется, пишет код, пишет тесты, пару раз просит у старших совета и… готов сделать Merge Request! Уфф, теперь грядёт сложный этап код-ревью.

Прошло всего лишь 15 минут. Попросили более читаемо написать один метод, а другой заменить на аналогичный из общей библиотеки. Готово.

Подождите, уже одобрено и влито? ЧТО?! Код уже в trunk? Уже едет на ПРОД?!

“Мой код работает?”
“Я принёс пользу?”
“Я что, настоящий разработчик, а не самозванец?”


Декомпозиция – сила. Дайте вашему джуну почувствовать процесс, дайте ему сделать эту маленькую задачку, которая возможно ещё ни на что не влияет. Это старт, это темп, это начало. Это семена, которые взойдут, если правильно ими заниматься. Нам всем важно быть нужными. Если джун это почувствует, то через год станет одной из главных “боевых единиц” в команде.

#разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥116
🔁 Шаг назад, два шага вперёд

В последнее время чувствовал себя перегруженным и потерянным. Беру техническую книгу — читаю страницу, откладываю, сейчас не хочется. Осознал, что было много забот и работы — настолько, что кроме неё ничего больше и не вспомнить за последнее время. Я просто устал и нужно сделать небольшой перерыв от того, чем занимаюсь каждый день, по крайней мере в свободное время.

Так и делаю! Я с таким уже сталкивался, и всегда помогал именно такой подход.

📌 Что делаю и что уже помогает:
1️⃣ много гуляю по паркам и природе — это и есть самый настоящий отдых для мозга. Мы любим себя убеждать, что поскроллить ленту в смартфоне это тоже отдых, но в реальности это не так: огромный поток информации скорее нагружает наш мозг, да ещё и тревожность повышает;
2️⃣ вернул несложную, но постоянную физическую активность — даже простая десятиминутная разминка с утра и вечером помогает чувствовать себя лучше;
3️⃣ стараюсь привести в норму ежедневную рутину и разгрести "кучи" — кучи недоделанных дел, занимающие оперативную память в голове и "всплывающие" в самый ненужный момент, кучи ненужных вещей на столе, мешающие сфокусироваться, кучи нерешённых для себя вопросов, которые не дают покоя;
4️⃣ занимаюсь хобби и стараюсь получать удовольствие от самых обычных вещей: кайфую от того, как у меня не получается фотографировать и как я продолжаю пытаться, кайфую от процесса заварки и распития совершенно обычного чая, ценю время с близкими и родными, и даже записался на урок вокала, потому что выдался случай, а я давно хотел :)

А как вы справляетесь с ситуациями, когда чувствуете, что устали, перегорели, разочаровались, в общем, когда переживаете какой-то эмоциональный упадок? Делитесь в комментариях — обсудим, тема интересная и важная!

P. S. Давненько не писал про всякие контентмейкерские девайсы, а это всё ещё мой большой интерес! В рамках своей "терапии" напишу пару постов, ждите-с! 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
21🔥13
💭 В переводе затерялся смысл

Взялся читать хвалёную книгу Джордана Питерсона "12 правил жизни", через пару десятков страниц ощутил какой-то неуловимый "зуд" — читается очень плохо, что-то не так. Листаю, чтобы разобраться. Сложная книга? Интеллектуальная, но читал и сложнее, нет, не оно. Мысли автора? Нет, Питерсон дядька крутой, сами идеи нравятся.

Не стоит недооценивать силу зрения и направления. Это силы, которым невозможно противостоять. Они способны превратить то, что может показаться непреодолимыми обстоятельствами, в удобные пути и расширяющиеся возможности.

Сделайте человека сильнее. Начните с себя. Позаботьтесь о себе. Определите, кто вы. Усовершенствуйте свою личность. Выберите свое направление и выразите свое Бытие. Как блестяще заметил великий немецкий философ XIX века Фридрих Ницше, "тот, кто имеет зачем жить, может вывести любое "как".


Это что, блин, такое? Какие-то косноязычные формулировки, аж читать больно. Дело в переводе, в чём же ещё! Видимо, тяжело дался язык Питерсона, перевели как смогли. В итоге и смысл затерялся, и читать сложно.

Психанул, купил оригинал. Идёт сильно тяжелее, чем технические книги в оригинале, потому что изложение всё же более литературное и много отсылок к эпосу и священным писаниям. Зато читаю мысли автора "как есть", а не текст, который будто дважды перевел машинным переводом. Заодно и прокачиваюсь.!

Сталкивались ли с ситуациями, когда уж очень тяжело читать книгу из-за перевода? Или когда вообще исказили смысл? Кидайте в комменты. Я тоже поделюсь, есть пара примеров, когда я не вывез читать переведённые книги, с технической литературой это постоянно происходит.

А если бы было интересно узнать, как внедрял английский язык в свою жизнь — тыкайте лайк под постом 👍

#книги
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥75
🔼Level UP!

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

Что можно бегло вспомнить?

1️⃣ Завёл канал в телеге! Да, уже скоро почти год как. Пишу. Люди подписываются. Нравится. Хочу писать больше, сейчас откровенно слакаю из-за множества бытовых дел. Учусь игнорировать своё "у меня не такой канал", "у меня не про то канал", "это никто не будет читать" и просто делюсь тем, чем хочется.

2️⃣ Сменил проект на работе, получил и продолжаю получать интересный опыт сдвига парадигм и внедрения хороших инженерных практик с нуля.

3️⃣ Впервые выступил в качестве спикера и эксперта на крупных конференциях, всячески вносил вклад в сообщество (митапы, статьи и пр.), ну и конечно же мощно поучаствовал в академии backend-разработчиков.

4️⃣ Открыл себе новое хобби в виде фотографии и видеосъёмки. Прикупил камеру и прокачался теоретически в этом направлении, набиваю руку!

5️⃣ Наступил в ипотеку и ремонт. Удивительное приключение, которое, надеюсь, скоро закончится 😂

Ну и конечно же познакомился или продолжаю общаться с ВАМИ: коллегами, друзьями, товарищами и всеми теми, кто интересуется моей деятельностью! Спасибо вам огромное за это, вы супер ❤️
А следующий год будет ещё лучше! 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
228🔥15🎉7👍1