Чашка Кода
467 subscribers
254 photos
5 videos
1 file
161 links
👋 Я - Никита, Senior разработчик, автор курсов по Python-разработке. Пишу на Python и Rust

✏️ В этом канале посты, которые сделают твой путь к веб-разработке проще

Задать вопрос, позвать на конференцию, записать со мной курс/статью/подкаст
👉 @PySage
Download Telegram
💼 Мягкие навыки для программиста

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

🔽 Пишите в комментарий, какому уровню больше всего подходит такая история:

"Мы переписываем сейчас монолит на микросервисы. Мне дали задачу по исправлению одного существенного бага, но изменить код я не мог. Довольно трудная задача была, ведь решить надо было срочно, но это не должно было повлиять на разделение монолита. Я смог исправить этот баг на уровне БД, написав функцию, которая дополнительно проверяет значения перед вставкой в таблицу."
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
421
⭐️Привет! Раньше я знал лично 80% подписчиков, но теперь вас стало гораздо больше.

Для вашего удобства я собрал лучшие посты за всё время:

1. Объяснение Модели OSI и маршрутизаци, понятные даже 7 летнему ребёнку.
2. Как составить блок "опыт работы" в резюме.
3. Rest архитектура в Вебе.
4. Секреты прохождения собесов с повышением грейда (2 части).
5. Почему Джуны уверены в себе больше Мидлов? Парадокс Даннинга-Крюгера.
6. Примеры 5 паттернов проектирования.
7. Как перестать быть Джуном?
8. Запустил для вас сайт для изучения алгоритмов.
9. Почему ИИ - не угроза, и как его использовать для развития.
10. Как учить БД (самый популярный пост!)

Спасибо, что присоединились к моему каналу! Надеюсь, контент для вас полезен. Напишите в комментариях, посты на какие темы вы хотите почитать🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
1253
⚡️ Вернулся из Казани, где успел провести два выступления, было очень здорово!

За время поездки получил разные инсайты, открытия для себя и интересные вопросы с выступлений. Всё зафиксировал и скоро сделаю отдельный пост. А пока ловите короткий полезно-пост 🔹

Сначала пишите комментарии, а не код!

👨‍💻 Когда я начинаю работать над очередной задачей, я представляю, что все компоненты уже разработаны и я просто прописываю комментарии. К примеру, у нас есть функция для загрузки файлов:
def load_file(*args):
some_process(...)


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

def load_file(*args):
some_process(...)
# вызов функции для загрузки метаданных


⚙️ Затем я представляю, что все остальные части уже реализованы и мне сейчас нужно сделать отдельно конкретную часть. Вместо вызова реальных функций, использую комментарии:
def load_metadata(...): # получили метаданные
logger.info("Загрузка метаданных.")

result = ... # вызвали загрузку данных в хранилище и получили ответ

return result


🔃 В итоге, разбивая задачу на подзадачи и не останавливаясь на ещё нереализованном функционале, вы будете быстрее двигаться в сторону решения.
Please open Telegram to view this post
VIEW IN TELEGRAM
932
❤️‍🔥Первое место на собеседованиях занимает вопрос "Можем ли мы перейти на ты?". Второе место - "Что можешь рассказать о себе?".

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

Возможно будет неожиданно, но у собеседующего вас человека может не быть вашего резюме! Рекрутёр не знает с чем вы работали, а задавать Веб-разработчику вопросы про перемножение матриц нет смысла, как и спрашивать DBA про модель OSI.👍

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

Таким образом, ваш ответ даст начало интервью и определит его дальнейший путь.

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

Вот моё описание, с которого я начинаю собеседования, даже если я нахожусь в роли интервьюера:
У нас около 3 млн товаров, которые разделены на категории. У каждой категории есть категорийные менеджеры, их около 120 человек. Для категорийных менеджеров мы разрабатываем внутренний сервис для работы с товарами. У нас есть порядка 50 микросервисов, позволяющие управлять ценами, акциями и складскими остатками в магазинах по всей Росиии.


📣 Благодаря такому описанию, дальше интервьюеру будет понятно, в какую область разработки стоит погружаться в общении.
Please open Telegram to view this post
VIEW IN TELEGRAM
4421
🦞 Эпоха C и C++ уходит?

Белый Дом призвал переходить на безопасные языки. В качестве альтернативы для небезопасных C и С++ предложили использовать Rust и даже Python!

Проблема у С и С++ в том, что около 70% уязвимостей связаны с работой с памятью (Microsoft, Chrome). Создатель C++, Бьёрн Страуструп, в очередной раз напомнил, что C++ - это не C. Также он отметил развитие языка с 1979 года. Ранее, в 2023 году он уже упоминал примерно тоже самое, когда Агенство Нац Безопасности США рекомендовало отказаться от языков C и C++.

Для меня, использование Rust в замену C и C++ кажется очевидным. А что с Python? Язык развивается, например в язык Mojo (в нём можно использовать эмодзи как расширение файла: main.🔥). Кстати, давал комментарии по этому языку для tproger. Уже вышла полная статья, с моим, и не только моим мнением, почему Mojo не заменит Python.

Пишите в комментарии, хотите ли пост про работу с памятью и почему нам в Python не страшны заявления США 🔽
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔32211
⚡️Иногда рабочую ситуацию нельзя описать одним смайликом, но используя Emoji Kitchen, можно создать подходящий!

Подготовил вам 8 предсказаний на эти два рабочих дня между майскими, делитесь в комментах, что вас ждёт👇
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
7311
⭐️ Редко удаётся найти хорошую техническую книгу, которую можно было бы порекомендовать. Если я такую нахожу, то непременно делюсь с вами!

Прочитал «Подготовка к сложному интервью System Design» от автора Алекс Сюй. Считаю эту книгу обязательной к прочтению!

В 15 главах рассматриваются классические задачи на проектирование архитектуры различных компонентов или целых приложений. За прошедший год работы я сам реализовывал 4 задачи из представленных в книге!

В этом посте я описал классическую задачу, с которой вы столкнётесь в любой компании как Веб-разработчик. Если вам нужны ещё практические кейсы или интересно как создать с нуля Twitter(X), YouTube или даже Google Drive, то срочно читайте книгу Алекса Сюй 🔥

📚 Обновлённый список обязательных к прочтению книг:

🟢 До выхода на работу:
• Грокаем алгоритмы
• Карьера программиста

🟢После выхода на работу:
Паттерны проектирования
• Подготовка к сложному интервью

🟢Чтобы поднять грейд:
• Книга с кабанчиком
• Погружение в рефакторинг
Please open Telegram to view this post
VIEW IN TELEGRAM
943
Agile 🔤🔤 Scrum

Как думаете, какой подход лучше: Agile или Scrum? Вопрос странный, ведь Agile - это философия, а Scrum - инструмент.

💠 По Agile мы принимаем осознанное решение, что в начале разработки мы понятия не имеем, как будет выглядеть готовый продукт. А вот разбить его на части и представить отдельно каждую уже проще. Таким образом, мы реализовываем небольшие части итерациями.

🛠 Scrum же - это инструмент для соблюдения принципов Agile. Работая по Scrum, мы одновременно работаем и по Agile.

📌 Классическая структура scrum:

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

🚀 А работает это так:
Вы с пацанами собрались на планировании и посчитали, что захватить Пентагон сложно, перевести старушку через дорогу слишком просто и не особо полезно, а вот продать партию кроссовок очень даже выгодно.

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

Поздравляю, теперь вы не просто братки, а целая Agile-бригада 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
832
⭕️ Пишите на Go и засматриваетесь на другие языки, однако Rust слишком сложный? Есть решение!

Язык borgo сочетает в себе простоту Go и безопасность Rust! Язык свежий, репозиторию чуть больше года, но уже имеет почти 3 тысячи звёзд!

Из интересного:
✔️ Полная поддержка библиотек Go
✔️ Замена для nil из Rust
✔️ Удобная обработка результата работы функции
✔️ Обработка ошибок всего одним оператором
✔️ Написан на языке Rust

И хотя обновлений нет уже 8 месяцев, я буду следить за этим проектом ✔️
Please open Telegram to view this post
VIEW IN TELEGRAM
4🤔311
🤙 Традиционная пятничная загадка...

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

Как думаете: какое минимально количество банок надо открыть, чтобы разобраться? 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
521
Какое минимально количество банок надо открыть, чтобы разобраться?
Anonymous Quiz
49%
1
44%
2
0%
3
8%
Скиньте артикул на ВБ в комментариях🙏
811