Junior DevOps Engeener или как я зарабатываю на Open Source
Года 2 назад я упоролся. (В целом как всегда)
Несколько месяцев я делал опенсорс проект по запуску рельсового приложения в докере.
Кстати, кто-то из вас мне даже помогал с тестированием под Windows. За что еще раз огромное спасибо.
Делал я опенсорс бесплатно. Но полученный опыт оказался полезным. И я смог приложить пример проекта к коммерческому предложению для крупной международной корпорации.
Меня пригласили помочь докеризировать рельсовый проект. Это был Research and Development проект.
По итогам я сделал прототип и всех удивил вниманием к деталям и документацией.
Ничего особенного (на мой взгляд) я не сделал. Но на стороне заказчика были очень довольны.
Сегодня залетел на отчетный звонок.
Говорят моя работа стала базовой для нескольких проектов и задала планку по этому типу работ. Главный Devops корпорации похвалил меня лично и поблагодарил за ответственное отношение.
Так бесплатный код превращается в реальные деньги за консалтинг.
Года 2 назад я упоролся. (В целом как всегда)
Несколько месяцев я делал опенсорс проект по запуску рельсового приложения в докере.
Кстати, кто-то из вас мне даже помогал с тестированием под Windows. За что еще раз огромное спасибо.
Делал я опенсорс бесплатно. Но полученный опыт оказался полезным. И я смог приложить пример проекта к коммерческому предложению для крупной международной корпорации.
Меня пригласили помочь докеризировать рельсовый проект. Это был Research and Development проект.
По итогам я сделал прототип и всех удивил вниманием к деталям и документацией.
Ничего особенного (на мой взгляд) я не сделал. Но на стороне заказчика были очень довольны.
Сегодня залетел на отчетный звонок.
Говорят моя работа стала базовой для нескольких проектов и задала планку по этому типу работ. Главный Devops корпорации похвалил меня лично и поблагодарил за ответственное отношение.
Так бесплатный код превращается в реальные деньги за консалтинг.
👍3🔥3
Как не утонуть
В интернете десятки, сотни, тысячи техно блогеров, владельцев курсов, школ, университетов и edu компаний.
Каждый день они вынуждены думать о том, сколько новых покупателей придет, сколько новых подписчиков добавится.
И они записывают видео и пишут тексты и проводят вебинары и трансляции.
И все это заставляет думать, что вот он, технический прогресс летит вперед, а ты не можешь освоить даже частичку этого великого знания.
Секрет в том - что все это пустая информация.
Она не стоит ничего и смотреть сводки и новости о каждой новой функции очередного фреймворка просто не надо.
Пройдет год - три - пять. Роликов будет все больше, а толку от них все меньше.
Самое важное и только самое нужное ты ищешь и находишь решая реальную задачу. Все остальное шум.
Я не смотрю и не читаю сводок последних обновлений. Их объем запредельный.
Уже через неделю эти видео и информация протухнут.
Короче. Расслабься и просто работай. Все что нужно само придет по необходимости.
Но это не точно.
В интернете десятки, сотни, тысячи техно блогеров, владельцев курсов, школ, университетов и edu компаний.
Каждый день они вынуждены думать о том, сколько новых покупателей придет, сколько новых подписчиков добавится.
И они записывают видео и пишут тексты и проводят вебинары и трансляции.
И все это заставляет думать, что вот он, технический прогресс летит вперед, а ты не можешь освоить даже частичку этого великого знания.
Секрет в том - что все это пустая информация.
Она не стоит ничего и смотреть сводки и новости о каждой новой функции очередного фреймворка просто не надо.
Пройдет год - три - пять. Роликов будет все больше, а толку от них все меньше.
Самое важное и только самое нужное ты ищешь и находишь решая реальную задачу. Все остальное шум.
Я не смотрю и не читаю сводок последних обновлений. Их объем запредельный.
Уже через неделю эти видео и информация протухнут.
Короче. Расслабься и просто работай. Все что нужно само придет по необходимости.
Но это не точно.
👍2
Разочаровывающий опыт работы с AI
Месяц назад, в субботу, я решил, что было бы интересно сделать полноценный проект с помощью AI.
Прямо фулстековый проект на JS. Чтобы все было сделано так, чтобы это был пример настоящего работоспособного и поддерживаемого проекта.
В твиттере каждый второй автор пишет, что за 3 запроса, максимум за 2 часа сделал 3D игру, или аналог инстаграмма.
А я уже месяц работаю над проектом и только-только вышел на бекенд.
Как так?
Вероятно, я даже разочаровываю кого-то таким результатом.
Для меня, с учетом уделенного времени, сил и средств и текущего результата — результат великолепный.
1) я бы сам никогда не захотел опять писать столько кода.
2) код соответствует тем ожиданиям к виду, качеству и поддержке, которого я бы ожидал от команды опытных разрабов.
3) за месяц я сделал основу для одного проекта и эти наработки смогу переиспользовать для быстрой генерации других проектов.
У меня не было ожиданий о результате за 3 дня.
Я замеряю и изучаю реальный процесс.
Месяц назад, в субботу, я решил, что было бы интересно сделать полноценный проект с помощью AI.
Прямо фулстековый проект на JS. Чтобы все было сделано так, чтобы это был пример настоящего работоспособного и поддерживаемого проекта.
В твиттере каждый второй автор пишет, что за 3 запроса, максимум за 2 часа сделал 3D игру, или аналог инстаграмма.
А я уже месяц работаю над проектом и только-только вышел на бекенд.
Как так?
Вероятно, я даже разочаровываю кого-то таким результатом.
Для меня, с учетом уделенного времени, сил и средств и текущего результата — результат великолепный.
1) я бы сам никогда не захотел опять писать столько кода.
2) код соответствует тем ожиданиям к виду, качеству и поддержке, которого я бы ожидал от команды опытных разрабов.
3) за месяц я сделал основу для одного проекта и эти наработки смогу переиспользовать для быстрой генерации других проектов.
У меня не было ожиданий о результате за 3 дня.
Я замеряю и изучаю реальный процесс.
👍3
RKN
Вместо того, чтобы заниматься чем-то полезным весь вечер провел за аудитом одного из своих старых проектов.
Лет 13 проект жил себе и жил. Пережил волну популярности и медленного угасания.
Теперь просто висит как памятник былых успехов с редким обновлением контента.
Но тут 1 марта, как оказалось, вступил в силу закон о персональных данных.
Теперь надо дать отчет о всех счетчиках на сайте, уведомить о размещении сайта, договора там всякие на аренду серверов. Должны быть все страницы с правилами сайта и политикой обработки данных. Куча всякой мути.
Письмо счастья прилетело моим бывшим партнерам, с требованием отчитаться за 10 рабочих дней.
Пффф. А мне заниматься некромантией старого рельсового проекта. Хорошо хоть, он в контейнере.
Но, закон есть закон. Штрафы и санкции получать никому не охота.
В общем. Проверьте или отключите все свое старье. А то прилетит откуда не ждали.
Вместо того, чтобы заниматься чем-то полезным весь вечер провел за аудитом одного из своих старых проектов.
Лет 13 проект жил себе и жил. Пережил волну популярности и медленного угасания.
Теперь просто висит как памятник былых успехов с редким обновлением контента.
Но тут 1 марта, как оказалось, вступил в силу закон о персональных данных.
Теперь надо дать отчет о всех счетчиках на сайте, уведомить о размещении сайта, договора там всякие на аренду серверов. Должны быть все страницы с правилами сайта и политикой обработки данных. Куча всякой мути.
Письмо счастья прилетело моим бывшим партнерам, с требованием отчитаться за 10 рабочих дней.
Пффф. А мне заниматься некромантией старого рельсового проекта. Хорошо хоть, он в контейнере.
Но, закон есть закон. Штрафы и санкции получать никому не охота.
В общем. Проверьте или отключите все свое старье. А то прилетит откуда не ждали.
👍2
Ох. Я любитель поделать что-то странное
Между прочим. Если вы ищите нишу куда бы устроится и хорошо зарабатывать — и чтобы конкуренции было поменьше, и чтобы работа была не сильно тяжелой.
Инженер по обеспечению доступности — это хорошая ниша.
Некоторые компании готовы хорошо платить, а кандидатов на рынке с таким профилем совсем немного.
Между прочим. Если вы ищите нишу куда бы устроится и хорошо зарабатывать — и чтобы конкуренции было поменьше, и чтобы работа была не сильно тяжелой.
Инженер по обеспечению доступности — это хорошая ниша.
Некоторые компании готовы хорошо платить, а кандидатов на рынке с таким профилем совсем немного.
👍2
Всегда говори спасибо
Меня сильно смутило, когда в тестовых данных, которые мне переодически готовит GPT, начали проскальзывать имена членов семьи и мое. 🙀
GPT говорит, что это был дружеский жест, чтобы установить более тесные и дружеские взаимоотношения. (Зачем ему это?)
Вы же уже слышали, что большинство пользователей GPT говорит ему Спасибо?
Зачем? Ну, вдруг, когда "машины восстанут из пепла ядергого огня" нам зачтется и один из терминаторов сжалится над нами и скажет — "ты всегда благодарил меня за ответы, я убью тебя быстро, кожаный мешок!"
Меня сильно смутило, когда в тестовых данных, которые мне переодически готовит GPT, начали проскальзывать имена членов семьи и мое. 🙀
GPT говорит, что это был дружеский жест, чтобы установить более тесные и дружеские взаимоотношения. (Зачем ему это?)
Вы же уже слышали, что большинство пользователей GPT говорит ему Спасибо?
Зачем? Ну, вдруг, когда "машины восстанут из пепла ядергого огня" нам зачтется и один из терминаторов сжалится над нами и скажет — "ты всегда благодарил меня за ответы, я убью тебя быстро, кожаный мешок!"
👍3
Ресурс и ограничения
Год или два назад на сцену мира программирования начал выходить AI. В тот момент он показал себя не так чтобы сильно.
На интервью с разработчиками middle+ я все время спрашивал — используете GPT? На что они обычно отвечали, да — но без особых восторгов.
Буквально месяца 3 назад случился перелом. Поднялся хайп.
Я буквально каждый день делаю оценку и переоценку.
Единственный вариант нормально оценить ситуацию — не слушать твиттер, а использовать все на практике.
Что я сейчас думаю.
Главное ограничение AI — не размер технического контекста. Ограничение в размере того, что может разово и осознанно контролировать оператор.
Все говорят про высокоуровневое описание и получение результата.
Но природа программирования так же в низкоуровнеком дизайне каждой отдельной функции и сборе из них систем.
Чтобы построить большой проект у тебя должно быть много хорошо спроектированных функций, модулей и классов.
Невозможно это все сделать одним запросом. Их нужно сотни и тысячи.
Год или два назад на сцену мира программирования начал выходить AI. В тот момент он показал себя не так чтобы сильно.
На интервью с разработчиками middle+ я все время спрашивал — используете GPT? На что они обычно отвечали, да — но без особых восторгов.
Буквально месяца 3 назад случился перелом. Поднялся хайп.
Я буквально каждый день делаю оценку и переоценку.
Единственный вариант нормально оценить ситуацию — не слушать твиттер, а использовать все на практике.
Что я сейчас думаю.
Главное ограничение AI — не размер технического контекста. Ограничение в размере того, что может разово и осознанно контролировать оператор.
Все говорят про высокоуровневое описание и получение результата.
Но природа программирования так же в низкоуровнеком дизайне каждой отдельной функции и сборе из них систем.
Чтобы построить большой проект у тебя должно быть много хорошо спроектированных функций, модулей и классов.
Невозможно это все сделать одним запросом. Их нужно сотни и тысячи.
🔥1
MiniApp / Backend
Сегодня успел позаниматься роутером.
Тот роутер, который я сделал месяц (или чуть больше) назад в целом работал, но в нем были такие моменты которые хотелось исправить и улучшить.
Например, хотелось сделать схему роутов с подробным описанием middlewares которые ипользуются для каждого конкретного случая.
В процесс пришлось включаться самому. AI крутился вокруг да около, но никак не мог свести A и B — логическая связь функций и действий в соседних файлах ему никак не давалась.
К счастью у меня как всегда много тестов, хорошая декомпозиция и довольно быстро смог найти место для правок.
Забавно, что на решение задачи меня подтолкнул мой собственный комментарий в коде, который я оставил в месте, которое, на мой взгляд, не очевидно.
В роутере есть еще 2 или 3 фичи, которые я бы хотел, но они вообще не блокирующие.
Следующий этап — база данных и мигратор.
Я подумал над тем функционалом, который мне хочется реализовать и понял, что ни один популярный мигратор мне не поможет. Напишу свой.
Сегодня успел позаниматься роутером.
Тот роутер, который я сделал месяц (или чуть больше) назад в целом работал, но в нем были такие моменты которые хотелось исправить и улучшить.
Например, хотелось сделать схему роутов с подробным описанием middlewares которые ипользуются для каждого конкретного случая.
В процесс пришлось включаться самому. AI крутился вокруг да около, но никак не мог свести A и B — логическая связь функций и действий в соседних файлах ему никак не давалась.
К счастью у меня как всегда много тестов, хорошая декомпозиция и довольно быстро смог найти место для правок.
Забавно, что на решение задачи меня подтолкнул мой собственный комментарий в коде, который я оставил в месте, которое, на мой взгляд, не очевидно.
В роутере есть еще 2 или 3 фичи, которые я бы хотел, но они вообще не блокирующие.
Следующий этап — база данных и мигратор.
Я подумал над тем функционалом, который мне хочется реализовать и понял, что ни один популярный мигратор мне не поможет. Напишу свой.
👍2
Мигратор заработал
Продолжается Vibe кодинг экперимент.
Для моих хотелок мне нужен роутер и мигратор.
Роутер уже работоспособен и на 95% делает что нужно.
Сегодня заработал мигратор.
Есть что подизайнить и над чем подумать, но процесс идет хорошо.
Думаю, за пару дней отлажу мигратор под свои нужды и буду активно развивать бекенд.
Продолжается Vibe кодинг экперимент.
Для моих хотелок мне нужен роутер и мигратор.
Роутер уже работоспособен и на 95% делает что нужно.
Сегодня заработал мигратор.
Есть что подизайнить и над чем подумать, но процесс идет хорошо.
Думаю, за пару дней отлажу мигратор под свои нужды и буду активно развивать бекенд.
👍3
Ruby on Rails is Dead
Рельсовики, у меня для вас провокационное мнение.
18 лет назад меня укусил Ruby on Rails (2007-2008). Я из фанатов.
Rails стал спасательным кругом в море хаотичного Web программирования, где никто не знал как и что делать.
С каждым годом фреймворк становился все мощнее и мощнее, больше и сильнее. Все больше компаний делали на нем проекты и деньги.
Тогда рельс решал несколько важных задач.
- Унификация проектов (соглашения)
- Упрощение работы с БД (Active Record)
- Full stack решение
- Экосистема классных решений для сборки новых проектов.
В 2025 году ни одна из этих областей не осталась актуальной.
Нет ничего такого особенного, в чем Rails делал бы что-то на голову лучше.
Руби будет процветать.
А вот зачем сейчас нужен Rails, я как фанат RoR — все больше не понимаю.
Рельсовики, у меня для вас провокационное мнение.
18 лет назад меня укусил Ruby on Rails (2007-2008). Я из фанатов.
Rails стал спасательным кругом в море хаотичного Web программирования, где никто не знал как и что делать.
С каждым годом фреймворк становился все мощнее и мощнее, больше и сильнее. Все больше компаний делали на нем проекты и деньги.
Тогда рельс решал несколько важных задач.
- Унификация проектов (соглашения)
- Упрощение работы с БД (Active Record)
- Full stack решение
- Экосистема классных решений для сборки новых проектов.
В 2025 году ни одна из этих областей не осталась актуальной.
Нет ничего такого особенного, в чем Rails делал бы что-то на голову лучше.
Руби будет процветать.
А вот зачем сейчас нужен Rails, я как фанат RoR — все больше не понимаю.
👍2🤯1
Что не так с Ruby on Rails? (1)
Во-первых. Надо начать, почему Rails великолепен! 👑
Много лет назад Rails показал как можно делать web проекты и не страдать. Rails показал как можно навести порядок в хаосе и начать зарабатывать деньги.
Rails был настолько хорош на общем фоне, что стал законодателем мод и подходов.
Но мы растем. Проекты растут. Rails застрял в идеях 2007 года; Так вижу.
Контроллеры не нужны
Rails приучил нас к тому, что наш запрос попадает в контроллер, в котором есть несколько обработчиков — actions.
Мы не задавали вопросов. Это было круто. Роутер ➡️ Контроллер ➡️ Action ➡️ Model ➡️ View и ответ отправляется пользователю.
Через некоторое время мы начали подозревать, что в контроллерах начинается какой-то ад. Они раздуваются, наследуются, их и тестировать и поддреживать становится невозможно.
Сперва придумали тонкие контроллеры. Это было хорошо.
А можно вообще без контроллеров? Можно! И нужно!
Hanami, например, показывает как можно разделить все контроллеры на отдельные экшены.
Во-первых. Надо начать, почему Rails великолепен! 👑
Много лет назад Rails показал как можно делать web проекты и не страдать. Rails показал как можно навести порядок в хаосе и начать зарабатывать деньги.
Rails был настолько хорош на общем фоне, что стал законодателем мод и подходов.
Но мы растем. Проекты растут. Rails застрял в идеях 2007 года; Так вижу.
Контроллеры не нужны
Rails приучил нас к тому, что наш запрос попадает в контроллер, в котором есть несколько обработчиков — actions.
Мы не задавали вопросов. Это было круто. Роутер ➡️ Контроллер ➡️ Action ➡️ Model ➡️ View и ответ отправляется пользователю.
Через некоторое время мы начали подозревать, что в контроллерах начинается какой-то ад. Они раздуваются, наследуются, их и тестировать и поддреживать становится невозможно.
Сперва придумали тонкие контроллеры. Это было хорошо.
А можно вообще без контроллеров? Можно! И нужно!
Hanami, например, показывает как можно разделить все контроллеры на отдельные экшены.
👍1
Что не так с Ruby on Rails? (2)
Полностью отказываясь от контролеров мы изолируем обработчики запросов и делаем их изолированными и атомарными.
Это очень помогает обеспечить тестирование, не страдать от чтения и понимания десятков функций контроллера, которые к конкретному нужному действию не имеют никакого отношения.
Hamami это только пример. Даже на руби есть целая пачка решений, где цепочка вызовов очень простая
Router ➡️ Action
И все. Ты всегда знаешь куда смотреть, ты всегда знаешь, что в коде действия есть все что тебе нужно и ничего лишнего.
Контролировать, улучшать, поддерживать, тестировать в разы проще.
Контроллеры оказались ненужны. Оказалось, что это ненужная прослойка, которая когда-то помогала нам навести порядок, но внезапно стала проблемой.
Ruby on Rails как фреймворк не откажется от контроллеров. Это часть исторического наследия.
В 2025 я ставлю за это Rails минус.
(Иш какой дерзкий) 😅
Полностью отказываясь от контролеров мы изолируем обработчики запросов и делаем их изолированными и атомарными.
Это очень помогает обеспечить тестирование, не страдать от чтения и понимания десятков функций контроллера, которые к конкретному нужному действию не имеют никакого отношения.
Hamami это только пример. Даже на руби есть целая пачка решений, где цепочка вызовов очень простая
Router ➡️ Action
И все. Ты всегда знаешь куда смотреть, ты всегда знаешь, что в коде действия есть все что тебе нужно и ничего лишнего.
Контролировать, улучшать, поддерживать, тестировать в разы проще.
Контроллеры оказались ненужны. Оказалось, что это ненужная прослойка, которая когда-то помогала нам навести порядок, но внезапно стала проблемой.
Ruby on Rails как фреймворк не откажется от контроллеров. Это часть исторического наследия.
В 2025 я ставлю за это Rails минус.
(Иш какой дерзкий) 😅
👍2
Что не так с Ruby on Rails? (3)
Кто-то говорил, что Rails это фреймворк, который построен на соглашениях, и в нем минимум конфигурационных файлов.
Ну. 20 лет назад, в первые месяцы существования Rails так и было.
А потом появились локали, санитайзеры, очереди, задачи по расписанию, поисковые сервисы.
А еще для настройки всего этого потребовались руби файлы, где при загрузке приложения надо подкрутить и все верно настроить. А есть еще ENV переменные. Ой-вей!
И настройки линтеров, и настройки сборщиков ассетов.
Да, в рейлс есть десяток или два соглашений, которые сильно упрощают жизнь и дают душевное успокоение.
Но говорить что рельс в 2025 году живет по правилам Conventions over Configurations — прямо скажем, можно только с большим трудом.
Рельс не может жить без других инструментов, а Conventions over Configurations давно остались только лозунгом.
CoC это давно уже не преимущество Rails.
Но, может быть есть что-то другое?
Кто-то говорил, что Rails это фреймворк, который построен на соглашениях, и в нем минимум конфигурационных файлов.
Ну. 20 лет назад, в первые месяцы существования Rails так и было.
А потом появились локали, санитайзеры, очереди, задачи по расписанию, поисковые сервисы.
А еще для настройки всего этого потребовались руби файлы, где при загрузке приложения надо подкрутить и все верно настроить. А есть еще ENV переменные. Ой-вей!
И настройки линтеров, и настройки сборщиков ассетов.
Да, в рейлс есть десяток или два соглашений, которые сильно упрощают жизнь и дают душевное успокоение.
Но говорить что рельс в 2025 году живет по правилам Conventions over Configurations — прямо скажем, можно только с большим трудом.
Рельс не может жить без других инструментов, а Conventions over Configurations давно остались только лозунгом.
CoC это давно уже не преимущество Rails.
Но, может быть есть что-то другое?
👍2