Подкаст хорошего программиста – Telegram
Подкаст хорошего программиста
617 subscribers
1 photo
48 links
Советы начинающим и опытным программистам

свой вопрос или пожелание к новым выпускам можно в личку @aristofun

http://goodprogrammer.ru
http://rubyrush.ru
Download Telegram
«— Первый мой деплой на продакшн закончился инцидентом: 200 сотрудников лишились доступа. Меня не наказали, меня похвалили!»

И другие приключения выпускницы «Хорошего программиста » (а ныне тимлида в AirBnB).

Вся правда о Долине в большом интервью: бабки💰 карьера👩‍💻 жизнь🦄 и все остальное.

С вас лайк, коммент и подписка.
Спасибо!

https://youtu.be/Ptr7eGu2784

PS: Хотите научиться так же — записывайтесь, пока Вадик набирает поток:

🦜 goodprogrammer.ru/rails 🎱
🛠 🙋‍♂️🎙

Как правильно увольняться и какие ресурсы получаем от работодателя
.

#подкаст_хп #советы_хп #lifehack
О том, почему python 💩 я не раз писал в наших чатиках еще несколько лет назад.

Безусловно все познается в сравнении.

И часто аргумент «уж лучше пайтон» — это очень хороший аргумент.

И конечно язык и его уродства нельзя изолировать от инфраструктуры и контекста (которые у 🐍 по-прежнему сильны в силу исторических причин).

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

Вполне довольствуясь своей научно-машинлёрнинговой нишей, где плотно окопался.

Вот свежий крик души с запада:

https://highload.today/python-otstoj-razocharovannyj-razrabotchik-obrushilsya-s-kritikoj-na-populyarnyj-yazyk-programmirovaniya/
🤑

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

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

Напишите у кого был другой опыт!

🤷‍♂️

Ау, рекрутеры, объясните какое кандидату дело, сколько бабла у компании, если ему ничего особенного с этого не перепадет?
Многие замечают один эпик фейл работодателей, которому трудно найти рациональное объяснение (впрочем у меня есть версия — а какие у вас?):

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

Там же на хакернюз была история программиста, который 3 года (!) упарывался, чтобы перейти с level 4 на 5 в google.

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

Пройдите пожалуйста опрос, узнаем расклад среди хороших программистов.

👇👇🏻👇🏽
😲 Откровение матерого JS разработчика-стартапера после открытия Ruby on Rails https://nikodunk.com/a-node-js-developer-discovers-rails/

Ключевые слова здесь: “стартапер” и “I never questioned this stack [JS]…

Из моего опыта работы над высоконагруженными проектами на JS стэке и близкого наблюдения за Scala-JVM стэком
добавлю, что область применимости и выгоду Ruby on Rails в больших компаниях сильно недооценивают.

Ведь любую большую компанию можно разделить на много маленьких, что и делают амазон, wix и многие другие.

А скорость и качество реакции на изменения рынка определяют жить компании или умирать in the long run.

💎

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

Реальность: проблемы легче масштабируются в других стэках, но тушаться пожары еще дороже, потому что во-первых все равно нужно хотя бы 1-2 умных и дорогих лида с ЗП всего на 10-20% ниже умных рубистов.

Но если 2 умных рубиста могут быть самодостаточным юнитом, то для сравнимой по масштабам задачи в JS к ним еще надо докупить несколько середнячков разгребать 💩 и рутину. Это не считая DBA и прочий инфра люд.

И все равно по скорости разработки они будут уступать 2м крутым рубистам. Хотя бы из-за расходов времени на коммуникацию.

Любопытно, что эти же рассуждения применимы к паре Scala - Nodejs (в пользу ноды), с тем отличием, что умных скалистов (а не косящих под них недо-джавистов, тысячи их) хер найдешь.

И код они после себя оставят такой, что разберутся в нем только еще более дорогие скалисты. Или придется однажды переписывать — еще доп. косты.

Вот что об этой паре думает PayPal: https://engineerbabu.com/blog/node-js-the-rising-technology-behind-paypal/

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

Scala/Java → Nodejs → Ruby

💎💎
Да, монолитность и MVC паттерн пугают своей негибкостью и не масштабируемостью. Да и с non blocking IO, мультитредингом все не так круто, как хочется в большом проекте…

И это действительо очень серьезный барьер для входа в высшую лигу (в основном i/o и треды, mvc паттерн и монолит больше страшилка для неопытных лидов).

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

Это конечно абстрактно в вакууме, в каких-то проектах сработает, в других быстро упремся в стенку.

Но дойти до глубокого анализа этой проблемы, а не бездумно выбрать стэк "как все” — это уже ⭐️ на погоны RnD менеджеру.

💎💎💎
Да, может показаться, что “уж если у нас сложный фронт на Реакте, то зачем плодить зоопарк технологий, будем JS based компанией/командой. Сэкономим на логистике, процессах, инфре, найме и т.п.”

На деле барьер между JS/Ruby гораздо ниже, чем многие эффективные менеджеры себе представляют (а значит и их прогнозы, модели дают неверные предсказания).

Простыми словами — любой толковый рубист за пару дней сделает то, что JSник будет колупать неделю и в свободное время на сдачу не обломается и на Реакте сбацать что-то рабочее.

А если нужно на Реакте лабать по красоте — один хер нужен эксперт в Реакте, а не просто JS разработчик. Поэтому желание сэкономить, нанимая “фулл-стэк JS” разработчиков, обычно приводит к тому, что скупой платит дважды.

💎💎💎💎
— Но руби медленный!
— Да скорость разработки, твою мать 😖

💎💎💎💎💎
Единственный серьезный аргумент в пользу JS для бэкенда, это аргумент найма.

Разумеется “при прочих равных” для сферической веб-компании в вакууме. Реальные же кейсы могут иметь свои очень неожиданные особенности и требования.

Менеджмент (если он не просто “как все”, а подошел к проблеме осознанно) по сути должен взвесить как в той бессмертной миниатюре раки большие (рубисты, которые в N раз быстрее/лучше решают задачи), но по 5 или маленькие, но по 3.

продолжение 🔻🔻🔻
👍3
🔺🔺🔺 начало выше

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

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

Да и рельсы не заточены под большие размеры команд на один артефакт.


🔵🔴 Если вам по нраву подобные длинные текстовые посты в дополнение к голосовым — напишите в комментах “1”,
и нолик если многабукаф и лучше только голосовые.
👍1
💰💶 🎄

Упущенная выгода программиста —
7 звоночков 🔔 когда пора задуматься о новой работе.

Подытожим тему новый карьеры в новый год

#подкаст_хп #советы_хп #lifehack
👍6
R.01 Ruby on Rails: Введение, установка

Друзья, ловите урок по Ruby on Rails. Рассказываем, как работают рельсы (вкратце), что лежит в папке проекта. Устанавливаем ruby + rvm + rails в убунту, создаем новый проект и деплоим его на Heroku.

Если хотите научиться Ruby on Rails с нами и стать разработчиком — мы как раз учим таком, записывайтесь на наш интенсив:

➡️ https://bit.ly/3A84yv1

Старт нового потока — 13 февраля

💳 При полной оплате — промокод RUBYRUSH

Или можно оплатить сразу или в рассрочку на 4, 6 или 12 месяцев. Пишите в личку, расскажу.
👍9
R.02 Ruby on Rails: Модели, миграции

На нашем интенсиве мы стопятсот раз рассказали про магию моделей в рельсах, как работает ActiveRecord и откуда у руби-объектов берутся геттеры и сеттеры с названием полей в таблице БД, зачем нужны миграции и как они работают.

Теперь я постарался сделать такое видео, чтобы больше не рассказывать. Надеюсь, получилось. Зацените!

Если хотите научиться Ruby on Rails и стать разработчиком — мы как раз учим такому, записывайтесь на наш интенсив:

➡️ https://bit.ly/3r27DK4

Старт нового потока — 13 февраля

💳 При полной оплате — промокод RUBYRUSH

Или можно оплатить сразу или в рассрочку на 4, 6 или 12 месяцев. Пишите в личку, все расскажу.
👍19🔥3
R.03 Ruby on Rails: Контроллеры, пути

Ещё одна концепция, которую сложно понять новичкам, изучающим рельсы: как после нажания «ОК» в форме на сайте, данные оказываются в базе данных.

Чтобы разоблачить эту магию, я убрал из этого уравнения HTML-форму и шлю на сервер запросы (эмулирующие отправку этой формы) руками, прописывая все параметры, как если бы этот запрос был отправлен из формы. А потом в дебагере показываю, где мы оказались в коде rails приложения (спойлер, в методе контроллера).

Все это (и многое другое) мы с удовольствием расскажем вам на нашем интенсиве по Ruby on Rails:

➡️ https://bit.ly/33c1oKx

Стартуем уже в конце недели, 13 февраля

💳 При полной оплате — промокод RUBYRUSH

Или можно оплатить сразу или в рассрочку на 4, 6 или 12 месяцев. Пишите в личку, все расскажу.
👍13🔥4
R.04 Ruby on Rails: Шаблоны (views), ERB

В MVC осталась одна неразобранная буква — V, views (виды, шаблоны, «вьюхи»), в этом уроке поговорим про неё.

Расскажу, как рельсы выбирают, где брать вьюху для отрисовки в конце конкретного действия, как она формируется из кусочков HTML-кода и вставок ruby-кода. Расскажу про удобные методы-помощники, доступные из коробки, view helpers.

Все это (и многое другое) мы с удовольствием расскажем вам на нашем интенсиве по Ruby on Rails:

➡️ https://bit.ly/3v6WABE

Группа уже стартовала 13 февраля, но можно ещё заскочить:

💳 При полной оплате — промокод RUBYRUSH

Или можно оплатить сразу или в рассрочку на 4, 6 или 12 месяцев. Пишите в личку, все расскажу.
🔥17
R.05 Ruby on Rails: Формы, лэйауты (layouts), assets pipeline

5
-й урок нашего курса по основам Ruby on Rails. Если за неделю ролик наберет 200 лайков, в следующий четверг закину 6-й урок.

Сегодня продолжим про вьюхи (views) — специальные помощники для создания форм (form helpers), сделаем форму для создания вопроса, расскажу , как управляют HTML-лэйаутом (layout), в который заворачиваются шаблоны каждой отдельной вьюхи + добавим стили (stylesheets) в rails-приложение с помощью assets pipeline.

Кстати, можно ещё заскочить на наш интенсив.

➡️ https://bit.ly/3wAeZb3

При полной оплате скидка 5000 по промокоду RUBYRUSH, или в рассрочку на 4, 6 или 12 месяцев. Все вопросы — в личку @installero.
👍353🔥2😱2
R.06 Ruby on Rails: Паршлы (partials), хелперы (helpers), flash

Правила те же. Давайте соберем 200 лайков и я опубликую 7-й урок (через пару дней).

В этом уроке поговорим о том, куда можно вынести сложную логику из шаблонов: паршлы (partials) и хелперы (helpers). Также расскажу про объект flash для передачи сообщений при редиректе из контроллера на другую страницу.

Ну и поговорим про многоуровневую архитектуру (layered architecture) и обсудим, какой код куда лучше запихивать в rails-проектах.

Ну и традиционно ссылка на наш интенсив.

➡️ https://bit.ly/3Me1hPt

Если хотите попасть на следующий поток — записывайтесь.
🔥35👍166
Что меня как организатора курсов по веб-разработке спрашивают чаще прочего?

9 из 10 студентов приходит к нам с целью устроиться на работу Ruby on Rails разработчиком. И примерно половина перед тем, как записаться на курс, спрашивает: «Если пройду ваш курс, я смогу устроиться?», «Знаний после вашего курса хватит для прохождения собеседований?», «Тяжело ли найти работу после курса сейчас?».

Такой вопрос задают не только нам, но и поди всем школам по программированию. Поэтому на лендингах обычно столько всего пишут про трудоустройство: вот эти все «так будет выглядеть ваше резюме», центры карьеры и даже гарантии, мол: «не устроитесь — вернем деньги». Всё это пишут с целью «снять» это «возражение», конечно (и правильно делают).

Кстати, сделать, чтобы после курса было легко найти работу — проще простого. Соберите все мыслимые и немыслимые требования из вакансий и запихните всё это в программу. Готово. Формально, возьмут ли вас после прохождения такого курса на работу. Конечно! Но будет ли у этого курса хоть один выпускник? Понимаете, куда я клоню?

Речь сейчас даже не о других онлайн-школах. Я хочу немного поговорить о самих студентах.

Если очень сильно упростить последовательность шагов для старта карьеры разработчика (если вы решили пройти курс, конечно), получится как-то так:

Записаться на курс — Пройти курс — Найти работу

В голове будущего студента самое сложное звено в этой цепочке, конечно, последнее. А теперь угадайте, какое звено в этой цепи объективно самое сложное на самом деле?

Спойлер: второе.

Взять хотя бы длительность. Наш интенсивна длится 4.5 месяца и за всю его историю в это время уложился только 1 (прописью: один) студент. В среднем студент проходит существенную часть нашего курса (90%) за 6 месяцев. При этом, чтобы после окончания курса искать работу полгода — это прям надо очень сильно не хотеть ее найти.

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

Самое сложное будет — не забить на все это в первые недели обучения. Найти в своем графике время для прохождения уроков (если вы с нуля, то часа по 3 в день, минимум). Выработать привычку прилежно выполнять задания и внимательно исправлять замечания преподов. Не фрустрировать от непонимания, а стоически формулировать вопросы, отталкиваясь от того, в чем вы все-таки разобрались. Бороться с «я вроде сделал всё как в уроке, но оно не работает» и не обесценивать свои результаты. Каждый день. В течение 4-6 месяцев.

Короче, все как в пословице — тяжело в учении, легко на работе (и на собесах, конечно). Но, кажется, в случае с онлайн-курсами все про это забыли. Напоминаем.

Если поднял интересную вам тему и хотите, чтобы что-то такое ещё рассказал, ставьте лайки и пишите комменты.

➡️ Ну, а если вы уверены в себе и своем и желании стать Ruby on Rails разработчиком — велком на наш интенсив.

💵 По промокоду RUBYRUSH скидка (в этот раз прям большая).

Ну и традиционно, все вопросы по интенсиву — в личку.
👍50🔥61
R.07 Ruby on Rails: Аутентификация, вход на сайт, сессии (session), куки (cookies)

Пора к нашему askme прикрутить регистрацию и вход на сайт.

Для этого надо узнать про то, как сервер «узнает» браузер (понимает, что HTTP-запрос пришел от того же клиента), познакомиться с понятием сессии (глянем, что внутри рельсовой сессии зашифровано), узнать про хэширование паролей, bcrypt и хранение паролей в базе данных. После этого урока точно почувствуете себя настоящими программистами.

Ну и, традиционно, ссылка на наш интенсив по Ruby on Rails.

➡️ https://bit.ly/3OaxpnH

Если хотите в следующий поток — вам сюда

— Когда следующий видос?
— Ну вы же в курсе. Когда этот наберет 200 лайков
👍22🔥14
Как сделать себе такую же VS Code, как у меня в уроках по Ruby on Rails?

1. Скачать (например, с Google Fonts) шрифт PT Mono. Для установки распаковать, открыть ttf-файл и нажать «Установить».

2. Установить тему Dracula для VS Code. В самом VS Code можно нажать Ctrl+P и вставить туда:

ext install dracula-theme.theme-dracula

3. Настроить тему, шрифт и его размер в настройках (Ctrl+Shift+. в англ. раскладке). Если нет на первой странице (Commonly Used) — сверху есть поиск по названию настройки.

Настройка: Workbench: Color Theme
Значение: Dracula

Настройка: Editor: Font Family
Значение: 'PT Mono', 'monospace', monospace

Настройка: Editor: Font Size
Значение: 16

4. Увеличить размер шрифта и элементов управления самого VS Code можно хоткиями Ctrl++ / Ctrl+-. Настраивайте по своему удобству и разрешению монитора, как и размер шрифта в редакторе.

По желанию можно поставить тему Dracula для Windows Termimal или какой там у вас... Дракула хорош тем, что есть для всего.
👍26
🚀 💫

Перспективы российского айти в 2022-м

#подкаст_хп
👍33🔥4😱3
Привет, друзья!

Завтра, 25 декабря, в 17:00 МСК мы с Женей ждем вас на стриме по ChatGPT: новой нейросети, способной, в том числе, писать программы, исправлять ошибки в коде, подсказывать решения тестовых задач. 🤖

Присоединяйтесь! 👋

(да, запись будет)

https://youtu.be/1QxGcLELOrs
👍16🔥116
R.08 Ruby on Rails: Валидация данных, колбэки в моделях, CRUD юзеров

Ловите долгожданный 8-й урок. Спасибо всем за лайки! Ещё раз прошу прощения за задержку.

В этом видео поговорим про проверку данных перед сохранением в БД (валидации, rails validations) и про преобразование этих данных перед сохранением/обновлением/удалением (колбэки, rails callbacks).

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

До следующего видео 250 лайков под этим.

22-го января у нас стартует новый поток интенсива по Ruby on Rails:

➡️ https://bit.ly/3Wn56HN

💳 По промокоду RUBYRUSH скидка 7500.

Все вопросы пишите мне в личку: @installero.
12👍4