До выхода на работу я каждый день писал код 7-10 часов в день. На работе я пишу код не больше 4 часов в неделю. В основном работаю с базами данных (у друзей такого нет, видимо мне просто "повезло"), прихожу на созвоны, обсуждаю задачи с командой и читаю код.
До IT у меня был опыт обучения сотрудников разного уровня, но это почти всегда была работа 1 на 1, когда мы общались лично с человеком долгое время. В IT успел поучаствовать в записи курса, а впереди ещё один. Это оказалось очень сложно, начиная с момента проработки учебных материалов и заканчивая бесконечными перезаписыванием.
Если во время обучения это было не так заметно из за высокой мотивации, то при реальной работе это хорошо чувствуется. На работе никого не волнует твоя личная мотивация, и если ты чувствуешь себя не очень, то писать код и выполнять работу будет очень сложно. По большей части разработка — это работа мозгом, а он очень ленивый. Поэтому, как только мозг понимает, что телу не хорошо, он перестаёт тратить какие-либо ресурсы.
#мой_путь #мысли
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥3🦄1👾1
Я календарь переверну... и снова 3 января! Признавайтесь, все уже доели новогодние салаты, или у кого-то в холодильнике ещё лежит оливье?
Давайте вспомним собеседования, которые мы проходили в прошлом году. Если получилось собрать три варианта в ряд или по диагонали — у вас бинго!
А если вы ещё пока не проходили собеседований, запоминайте вопросы.
Какие самые глупые, каверзные или надоедливые вопросы вам задавали на собеседованиях?
#мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👾2❤1🦄1
Представьте, что утром вы решили приготовить сэндвич. Вы берёте хлеб, нож, но при намазывании масла оказывается, что нож не режет масло. Заменив нож вы понимаете, что масло слишком холодное. При намазывании масла хлеб оказывается слишком тонким...
Каждый день, каждую неделю нужно что-то изучать. Индустрия развивается супер-быстро, и не прокачивая свои навыки вы будете неизбежно отставать. 🦾
Причём, даже если вы будете прокачиваться постоянно, вы можете не успеть. 9 месяцев я каждый день решал алгоритмы и всё равно не прошёл отбор в Яндекс. Сдадитесь после такого или продолжите прокачиваться?
Работа программиста зачастую описывается как "если мы не знаем как решить задачу, мы разбиваем её на подзадачи и теперь мы не знаем, как решить много задач". Нужно быть готовым к тому, что получив задачу, вы не сможете её сделать. Сначала вы разделяете задачу на много задач поменьше, потом каждую из них ещё меньше, и в итоге вы решаете огромное количество маленьких задач, чтобы решить одну.
Делайте "тык" на одну картинок и получите IT-суперспособность!
#мемы #мудрость_на_каждый_день
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3🤔2❤1👾1
Можно написать любую программу, зная всего три концепции языка: последовательности, ветвление и циклы. Да, возможно ваш код будет выглядеть не очень хорошо, но этого действительно достаточно. Разберём понятия и посмотрим на реализацию в Python.
Часто нам недостаточно хранить данные с фиксированным размером. К примеру, списки покупок, контакты в телефонной книге и оценки в школе могут дополняться. В таком случае, нужны структуры данных, позволяющие легко добавлять и/или убирать значения. Вот основные структуры данных:
grades = [5, 5, 4, 5, 5]goods = {"яблоки", "мандарины", "киви"}storage = {"яблоки": 5, "мандарины": 2, "киви":1}Позволяют выполнять (или не выполнять) операции при определённых условиях.
Псевдокод:
Если есть_деньги:
потратить(...)
Иначе:
расстроится(...)
Python:
if have_money:
spend(...)
else:
cry(...)
Позволяют выполнять действия, пока выполнятся (или не выполняется) условие:
Псевдокод:
Пока есть_деньги:
потратить(...)
# деньги_кончились
Python:
while have_money:
spend(...)
# money_gone
Изучив эти темы, можно смело называть себя разработчиком и реализовывать всё что угодно! А все остальные навыки приходят с опытом
#просто_о_сложном
Please open Telegram to view this post
VIEW IN TELEGRAM
🦄4👍1🔥1👾1
С помощью генератора случайных чисел были определены победители — это комментаторы под номерами 5, 8 и 6:
Поздравляем ребят! С ними я свяжусь в личных сообщениях.
А я хочу напомнить, что карьерная консультация — это часовой созвон, где мы:
Если хочешь записаться на консультацию, пиши мне в личку 👉 https://t.iss.one/PySage
#анонсы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👾2👍1
Считаете ТикТок бесполезной тратой времени? Готов поспорить. Недавно там стало вирусным видео Анны Папалии — карьерного консультанта, которая более 15 лет занимается корпоративным рекрутингом и руководит крупной консалтинговой компанией Shift Profile.
За несколько дней это видео набрало более миллиона просмотров и тысячи поддерживающих комментариев от HR-ов, которые подтверждают, что "милые и пушистые" кандидаты чаще получают отказы.
Ловите годные советы от Анны:
А какие лайфхаки по прохождению собесов можете дать вы?
#python_полезности #мудрость_на_каждый_день
Please open Telegram to view this post
VIEW IN TELEGRAM
🦄2🔥1👾1
Буквально несколько часов назад был представлен Rabbit R1, революционная разработка! Авторы утверждают, что смогли сделать устройство, которое полностью заменит вам телефон и при этом в нём нет приложений. Смотрите презентацию, она очень стильная.
Единственное, что не может сделать R1 — это залогиниться в сервисы, так как соблюдает безопасность и не хранит данные для логина. Ну что за душка, этот кролик, да? 🐰
Среди интересных способностей:
Знакомый дизайн? Его разработала Teenage Engineering ответственная за дизайн устройств Nothing.
Подарили бы своей бабушке такой девайс?
#находки
Please open Telegram to view this post
VIEW IN TELEGRAM
👾4👍1🔥1
Недавно меня попросили дать комментарии по проекту, и я решил поделиться с вами наиболее часто встречающимися проблемами репозиториев, на данном примере.
README: Добавляйте ридми в каждый проект. Нужен хотя бы минимум, пару слов о проекте, как его запустить и какие есть зависимости. Вот крутой инструмент с шаблоном для создания ридми dillinger.gitignore: В нём мы прописываем, чтобы .idea, .env, venv и другие файлы и директории проекта не попали в гит. Особенно это важно с .env, так как там может быть чувствительная информация.requirements: Зависимости проекта стоит описать в одном файле для удобного запуска.Единственная директория в проекте имеет осмысленное название описывающее проект, в отличии от самого репозитория. Частой практикой является размещение файлов в
src директории. Файл main.py из корня проекта стоит разместить в ней, или лучше в app директории, где будут все скрипты для запуска проекта, базы данных и тд., а в base_backend можно разместить файлы самого бекенда. Поскольку в проекте используется фреймворк Django, можно предложить такую структуру, как на картинке к посту..sqllite3, благодаря чему мы видим, что одним из пользователей является Пётр, а его телефон кончается на "76".BaseWeb/turistbase/base/views.py для работы с тг-ботом используется токен 'token', который очевидно не сработает.А вы кидайте в комменты ссылки на свои репозитории, тоже посмотрим
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1🦄1👾1
Хотел написать мнение о статьях «99% программистов не умеют писать код» и «Почему программисты не умеют программировать», однако они оказались просто кликбейтом, и на самом деле пользы в них никакой нет.
В статьях рассуждали про типовые задачи на собеседованиях, вроде «FizzBuzz» и валидации скобок, так что я решил рассказать, как я решаю алгоритмы.
* не усложняй. Не надо валидировать данные, иметь научную степень или кровь дракона для решения задачи 🐉
* проверь. Для любого алгоритма нужно несколько вариантов входных-выходных данных, чтобы понять, как оно работает.
1 до n и иттерировать по нему, проверяя каждое число.* не ломай голову. Если идей нет совсем, то стоит погуглить, спросить совета или почитать гороскоп. Чтобы эффективно решать алгоритмы надо знать их, в противном случае не получится решать их эффективно
Перебрать числа от 1 до n:
если число делится на 3:
то "Fizz"
если число делится на 5:
то "Buzz"
если оба:
"FizzBuzz"
иначе:
текущее число
#мудрость_на_каждый_день #python_полезности
Please open Telegram to view this post
VIEW IN TELEGRAM
🦄5👍3👾1
База, но наконец-то про код! 😱
В одном из предыдущих постов я писал, что одной из основных концепций в программировании являются последовательности. Разберём подробнее, что нужно разработчику для написания программ.
Работая с данными, нам всегда их нужно где то хранить, и это будет два варианта: либо литералы, либо динамические структуры.
🟣 С литералами всё достаточно просто. Это фиксированные значения: числа, строки, булевы значения (правда / ложь). Для литерала мы явно выражаем то, что в нём хранится: 5 шт. апельсинов, имя Серёжа и т.д. Мы заранее знаем, сколько места нужно выделить, а когда это место больше не нужно, его легко почистить.
🟣 С динамическими структурами всё гораздо сложнее. Заранее мы не знаем, сколько продуктов будет в нашем магазине, сколько уникальных никнеймов пользователей в онлайн-игре и т.д. Для хранения таких данных у нас и есть коллекции, контейнеры и куча других названий для динамических структур данных
⭐ ИТОГ:
Начав изучать язык, вам придётся в самом начале изучить два типа данных:
1️⃣ Скалярные / Литералы / Неизменяемые: обычно это числа (
2️⃣ Динамические / Изменяемые / Комплексные: обычно это массивы (
При этом
#просто_о_сложном
В одном из предыдущих постов я писал, что одной из основных концепций в программировании являются последовательности. Разберём подробнее, что нужно разработчику для написания программ.
Работая с данными, нам всегда их нужно где то хранить, и это будет два варианта: либо литералы, либо динамические структуры.
Начав изучать язык, вам придётся в самом начале изучить два типа данных:
int, float), строки (str), булевы значения (bool) и отсутствие значения (None / null)list, tuple) и хэш-структуры (dict, set). При этом
tuple (кортеж) — это неизменяемый тип данных. А почему я отнёс его во вторую группу — как раз отличный повод изучить эти типы!#просто_о_сложном
Please open Telegram to view this post
VIEW IN TELEGRAM
👾5👍1🔥1
Хватит быть джуном!😊
👆Так говорит нам Kent C. Dodds, автор этой статьи.
Что вы делали, когда впервые пришли на каток? Пошли в специальную секцию для детей и занимались там несколько лет? Нет, скорее всего такой секции даже нет, вы просто начинаете кататься.
⛸ Конечно, первые несколько посещений вам будет сложно. Но сколько времени потребуется, чтобы кататься с теми, кто занимается несколько лет? Разумеется, вы не станете профессионалом, но чтобы просто научиться кататься с другими, вам не потребуется много времени. Так же можно сказать и про множество других тем.
➡️ Сразу к делу: что делать?
🟠 Перестаньте быть Джуном! Начинайте решать задачи более высокого уровня, посмотрите что делают коллеги, попросите вас добавить на созвон, записывайте, что говорят сеньоры в вашей компании.
🟠 Проведите митинг. Технологии меняются каждый день. Вот сайт, где считают, сколько дней прошло с выхода последнего фреймворка для js. Сейчас там цифра 0! Найдите новый инструмент и расскажите о нём коллегам, друзьям, сообществу. Запишитесь на открытые выступления по теме, которая вам интересна. Стесняетесь? Напишите мне в личку и расскажите о том, что вас вдохновляет!
🟠 Добавьте себе в резюме новый опыт, придумайте проект, подробно его распишите и расскажите о нём на собеседовании. Не обязательно искать работу для этого, даже без оффера это будет интересный опыт.
🟠 Никто не знает, сколько времени должно пройти между Junior и Middle позициями, так что станьте мидлом уже сегодня!
Ставьте🦄 , если вы больше не джун :)
#мудрость_на_каждый_день #мысли #python_полезности
👆Так говорит нам Kent C. Dodds, автор этой статьи.
Что вы делали, когда впервые пришли на каток? Пошли в специальную секцию для детей и занимались там несколько лет? Нет, скорее всего такой секции даже нет, вы просто начинаете кататься.
Ставьте
#мудрость_на_каждый_день #мысли #python_полезности
Please open Telegram to view this post
VIEW IN TELEGRAM
🦄6🔥2👍1🤔1
Привет, есть крутая новость! 🔥
В этот четверг (25 января в 17:30) выступаю в московской Школе 21. Буду рассказывать про ООП и его подводные камни. Расскажу про принципы DRY, KISS и SOLID, покажу на примерах, как соблюдение или несоблюдение принципов мешает созданию качественного кода👨💻
Если вы не из школы, но очень хотите прийти, то напишите в личку, могу сделать один пропуск.
Вот мои итоги января 2024 года:
🟣 Начал записывать курс по развёртыванию приложения на удалённом сервере. Скоро поделюсь инсайтами в рамках этого курса.
🟣 Научился кататься на сноуборде. Оказалось, что всего 3-ёх раз достаточно, чтобы начать сносно кататься.
🟣 Продвинулся в изучении языка Rust уже на 30% и решил на нём 15 задач на литкоде! Решения выкладываю на свой сайт, там же подробно расписываю алгоритм и код на Python. Уже готово 10 заданий!
Отдельно отмечу ребят, которые получили офферы после нашего менторского созвона. Горжусь вами!💪
А как у вас прошёл первый месяц этого года? Делитесь новостями и инсайтами в комментариях!🔽
#мой_путь #анонсы
В этот четверг (25 января в 17:30) выступаю в московской Школе 21. Буду рассказывать про ООП и его подводные камни. Расскажу про принципы DRY, KISS и SOLID, покажу на примерах, как соблюдение или несоблюдение принципов мешает созданию качественного кода
Если вы не из школы, но очень хотите прийти, то напишите в личку, могу сделать один пропуск.
Вот мои итоги января 2024 года:
Отдельно отмечу ребят, которые получили офферы после нашего менторского созвона. Горжусь вами!
А как у вас прошёл первый месяц этого года? Делитесь новостями и инсайтами в комментариях!
#мой_путь #анонсы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤1👍1👾1
🚀 Хей-хей, моё выступление уже начинается!
Приходи на мою лекцию "Страшные тайны ООП". А вот ссылка на работающую трансляцию: https://www.youtube.com/watch?v=BGpPP2AnNsA&ab_channel=School21
А те, кто будут внимательно слушать, примут участие в квизе и досидят до конца - получат от меня подарки 🎁
Приходи на мою лекцию "Страшные тайны ООП". А вот ссылка на работающую трансляцию: https://www.youtube.com/watch?v=BGpPP2AnNsA&ab_channel=School21
А те, кто будут внимательно слушать, примут участие в квизе и досидят до конца - получат от меня подарки 🎁
❤4🔥2🦄2👾1
...и уже готовлюсь к следующему выступлению! Хочу поделиться тем, как готовился ко вчерашней лекции и тем, какие у меня планы.
Часто, особенно в продакшен среде, мы сталкиваемся с плохим кодом. Возникают вопросы: "Зачем написали такой код?", "Почему всё так плохо?", "Почему я должен с этим работать?" и много других.
PS: Большое спасибо всем, кто вчера пришёл оффлайн
PPS: Если вам интересно почитать презентацию с выступления тоже пишите в лс
#мысли #мой_путь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1🔥1🦄1👾1
На днях мне сказали, что посты очень длинные. Держите короткий полезно-пост 👇
Сайт рефакторинг гуру. Это один из самых полезных источников знаний, обязательно сохраните себе! А ещё его автор написал книгу из этого поста.
PS: Ставьте плюс в комментарии, если у вас есть код, который надо отрефакторить➕
#python_полезности #находки
Сайт рефакторинг гуру. Это один из самых полезных источников знаний, обязательно сохраните себе! А ещё его автор написал книгу из этого поста.
PS: Ставьте плюс в комментарии, если у вас есть код, который надо отрефакторить
#python_полезности #находки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1🤔1👾1
Что нужно сделать, как только вы вышли на новую работу?
— Обновить резюме!
Рассказываю почему важно регулярно ходить на собеседования, даже если вы попали в компанию мечты и будете работать в ней до конца жизни
"Безопасный" вариант: добавьте сразу новую компанию в свой опыт и раз в неделю записывайте свои задачи /достижения / успехи. Так вы сможете сказать, что просто стараетесь следить за своим развитием в компании, а не ищите новую работу
Регулярные собеседования помогут понять, где вы на рынке труда и сколько стоите. Получив оффер с ЗП в два раза выше текущей, вы точно получите прилив уверенности.
А какие лайфхаки есть у вас?
#мысли #мудрость_на_каждый_день #мой_путь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤2🔥1👾1
У нас в компании, основная метрика для оценки работы продукта это то, сколько рекомендаций приняли пользователи. Мы предлагаем 10 продуктов, пользователь принимает 9 - значит мы работаем с эффективностью в 90%. При этом, получается интересная ситуация:
Статистика: принято + 99; не принято + 1
Статистика: принято + 0 ; не принято + 1 (старая)
Статистика: принято + 0 ; не принято + 1
В конце месяца у нас статистика: не принято 30 рекомендаций, а принято 99. Получается эффективность рекомендаций меньше 80%. Если бы было соотношение 98 принятых и 2 непринятые, то за месяц это уже 60%. Получается, одна не принятая рекомендация эквивалентна 30 принятым.
Казалось бы - это плохой подход и он нигде не пригодиться, однако я нашёл, где его применить.
Получается, по статистике HH, 120 000 рублей получают разработчики с уровнями миддл и сеньор, а на самом деле это может быть планка джуна. Для миддла эта планка вообще меньше нижней границы
#мысли
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤔2🔥1👾1