Оно же работало..
— Я сделал тестовое задание, – написал кандидат.
— Ага, часть API работает, часть выдает ошибку. И тестов нет..
Частенько присылают решение задания без тестов или с бестолковыми тестами, которые проверяют 1-2 функции.
Почему я прошу писать unit тесты при проверке кандидата на собеседовании?
Представим ситуацию: мы сделали первую API'шку, проверили вручную, что она выдаёт правильный ответ.
Сделали вторую API'шку. Поправили частично код уже имеющихся функций. Протестировали новую API, выгрузили в гит и отправили на ревью.
Есть ли гарантии, что первая API не сломалась, а вы проверили все граничные условия, а не только стандартные? А если API ручки не две, а 10?
Unit тесты нужны в первую очередь самому разработчику. Он должен понимать, что код, который он написал, в принципе запускается и отрабатывает.
Когда последний раз писали unit тесты?
Интересна тема тестирования:
👍 - да
🤔 - не заходит
Python - учим и работами
— Я сделал тестовое задание, – написал кандидат.
— Ага, часть API работает, часть выдает ошибку. И тестов нет..
Частенько присылают решение задания без тестов или с бестолковыми тестами, которые проверяют 1-2 функции.
Почему я прошу писать unit тесты при проверке кандидата на собеседовании?
Представим ситуацию: мы сделали первую API'шку, проверили вручную, что она выдаёт правильный ответ.
Сделали вторую API'шку. Поправили частично код уже имеющихся функций. Протестировали новую API, выгрузили в гит и отправили на ревью.
Есть ли гарантии, что первая API не сломалась, а вы проверили все граничные условия, а не только стандартные? А если API ручки не две, а 10?
Unit тесты нужны в первую очередь самому разработчику. Он должен понимать, что код, который он написал, в принципе запускается и отрабатывает.
Когда последний раз писали unit тесты?
Интересна тема тестирования:
👍 - да
🤔 - не заходит
Python - учим и работами
👍15
Работа в стол или опыт?
— Сколько нужно создать pet-проектов, чтобы прокачать опыт в разработке? – спросил знакомый студент.
— Тут как в обучение — это непрерывная деятельность.
Чем больше будет проектов, и чем разнообразнее они будут по своей сути и технологиям, тем лучше. Так закрепите свои знания и научитесь ставить, декомпозировать и оценивать задачи.
Главное, чтобы последующая идея по качеству превосходила предыдущую.
Я в разработке уже больше 10 лет. Но до сих пор создаю pet-проекты. Из одного такого родился стартап Forkway🙂
За все время у меня появились порядка 60-70 pet-проектов. Например:
– Вкрипте (2018 год)
– Инвестирование (2020)
– Крипто (2018)
– Личный кабинет сетевого маркетинга (2017)
– Плагин Jobs (2017)
– Проект ZN (2016)
– SEO компания (2016)
– Автопоиск уязвимостей (2018)
– Facenter (2014)
– kinocar (2017)
Многие не принесли мне ничего, кроме опыта. Именно его считаю лучшим приобретением.
А какие проекты хотелось бы создать вам? :) Возможно, уже думаете над воплощением пары-тройки идей?
Интересна тема pet-проектов:
👍 - да
🤔 - не заходит
Python - учим и работами
— Сколько нужно создать pet-проектов, чтобы прокачать опыт в разработке? – спросил знакомый студент.
— Тут как в обучение — это непрерывная деятельность.
Чем больше будет проектов, и чем разнообразнее они будут по своей сути и технологиям, тем лучше. Так закрепите свои знания и научитесь ставить, декомпозировать и оценивать задачи.
Главное, чтобы последующая идея по качеству превосходила предыдущую.
Я в разработке уже больше 10 лет. Но до сих пор создаю pet-проекты. Из одного такого родился стартап Forkway🙂
За все время у меня появились порядка 60-70 pet-проектов. Например:
– Вкрипте (2018 год)
– Инвестирование (2020)
– Крипто (2018)
– Личный кабинет сетевого маркетинга (2017)
– Плагин Jobs (2017)
– Проект ZN (2016)
– SEO компания (2016)
– Автопоиск уязвимостей (2018)
– Facenter (2014)
– kinocar (2017)
Многие не принесли мне ничего, кроме опыта. Именно его считаю лучшим приобретением.
А какие проекты хотелось бы создать вам? :) Возможно, уже думаете над воплощением пары-тройки идей?
Интересна тема pet-проектов:
👍 - да
🤔 - не заходит
Python - учим и работами
👍9
Какие знания жду от кандидатов на собеседовании
— Что может выступать в качестве ключа в словаре? — спросил я на собеседовании.
— Строки, числа, да в целом неизменяемые типы данных, — ответил кандидат, который недавно закончил курсы.
— А кортежи могут?
— Да.
— А если в кортеж положить список?
Зачем я задаю подобные вопросы? Что, если студент не получал глубоких технических знаний в университете, а просто прошел пару курсов?
Так определяю, насколько глубоко человек изучает учебные материалы и не только во время обучения. Быть может, он просто пролистал курс.
Правильно ли ответил кандидат?
Напишите варианты ответов на последний вопрос в комментариях . Обсудим😎
А для тех, кому лень писать:
👍 – все отработает, как и с просто кортежем.
🔥 – ничего не взлетит.
Python - учим и работами
— Что может выступать в качестве ключа в словаре? — спросил я на собеседовании.
— Строки, числа, да в целом неизменяемые типы данных, — ответил кандидат, который недавно закончил курсы.
— А кортежи могут?
— Да.
— А если в кортеж положить список?
Зачем я задаю подобные вопросы? Что, если студент не получал глубоких технических знаний в университете, а просто прошел пару курсов?
Так определяю, насколько глубоко человек изучает учебные материалы и не только во время обучения. Быть может, он просто пролистал курс.
Правильно ли ответил кандидат?
Напишите варианты ответов на последний вопрос в комментариях . Обсудим
А для тех, кому лень писать:
👍 – все отработает, как и с просто кортежем.
🔥 – ничего не взлетит.
Python - учим и работами
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍3
Красные глаза, каша в голове, или как завалить собеседование
— Расскажи на пальцах, как работает асинхронность в Python, – попросил я на собеседовании.
— Хм, ну… Перед определением функции ставим async, а при вызове – await.
На интервью встречал несколько типов людей:
– Первые считают, что готовиться к собеседованию не нужно: важно быть честным перед работодателем, чтобы он знал, кого берет на работу.
– Вторые в ночь перед экзаменом включают режим студента: повторяют ВСЁ (даже то, что хорошо знали).
С первыми всё понятно — просто лень что-то учить/повторять. Опытные ребята в принципе могут вспомнить на собеседовании всё. А вот новички навряд ли пройдут.
Со вторыми сложнее: вроде что-то знают, но каша в голове страшная. Еще и приходят невыспавшиеся.
Советую не следовать этим вредным примерам😉
А вот как я готовлюсь к собеседованию:
1. Когда вас приглашают в какую-либо компанию, там наверняка есть список требований и ожиданий: например, знание Python, FastAPI, Postgres и т.д. Забираем его.
2. Разбиваем каждую тему на подтемы: можно взять документацию/книги по ним и взглянуть на оглавление.
3. Гуглим/@gpt_ihelper_bot Просим накидать вопросы по подтемам. Сохраняем их. Это пригодится для самопроверки.
4. Ищем материал: видео + пару статей по подтеме, и сохраняем ссылки на то, что лучше всего зашло. Это будет основой для изучения.
5. После прочтения/просмотра материала делаем небольшое резюме (2-3 предложения). Поможет вспомнить материал перед самим собеседованием.
Со временем ваш файл будет расширяться. С каждым разом вы будете все быстрее и качественнее готовиться к интервью.
Для более эффективной подготовки можете добавить в каждой подтеме два пункта: "теория" и "практика", где будет диапазон от 0 до 100. Так вы сразу увидите свои слабые и сильные стороны. А также поймете, что подтянуть. На скрине показываю часть шпаргалки. Готовил ее очень давно, но подход помогает мне до сих пор.
А как вы готовитесь к собеседованию?
Мой метод был полезен для вас?
👍 - да
🤔 - у меня свой подход (напишите в комментариях)
🔥 - давай в закреп (если соберу 20 🔥)
Python - учим и работами
— Расскажи на пальцах, как работает асинхронность в Python, – попросил я на собеседовании.
— Хм, ну… Перед определением функции ставим async, а при вызове – await.
На интервью встречал несколько типов людей:
– Первые считают, что готовиться к собеседованию не нужно: важно быть честным перед работодателем, чтобы он знал, кого берет на работу.
– Вторые в ночь перед экзаменом включают режим студента: повторяют ВСЁ (даже то, что хорошо знали).
С первыми всё понятно — просто лень что-то учить/повторять. Опытные ребята в принципе могут вспомнить на собеседовании всё. А вот новички навряд ли пройдут.
Со вторыми сложнее: вроде что-то знают, но каша в голове страшная. Еще и приходят невыспавшиеся.
Советую не следовать этим вредным примерам😉
А вот как я готовлюсь к собеседованию:
1. Когда вас приглашают в какую-либо компанию, там наверняка есть список требований и ожиданий: например, знание Python, FastAPI, Postgres и т.д. Забираем его.
2. Разбиваем каждую тему на подтемы: можно взять документацию/книги по ним и взглянуть на оглавление.
3. Гуглим/@gpt_ihelper_bot Просим накидать вопросы по подтемам. Сохраняем их. Это пригодится для самопроверки.
4. Ищем материал: видео + пару статей по подтеме, и сохраняем ссылки на то, что лучше всего зашло. Это будет основой для изучения.
5. После прочтения/просмотра материала делаем небольшое резюме (2-3 предложения). Поможет вспомнить материал перед самим собеседованием.
Со временем ваш файл будет расширяться. С каждым разом вы будете все быстрее и качественнее готовиться к интервью.
Для более эффективной подготовки можете добавить в каждой подтеме два пункта: "теория" и "практика", где будет диапазон от 0 до 100. Так вы сразу увидите свои слабые и сильные стороны. А также поймете, что подтянуть. На скрине показываю часть шпаргалки. Готовил ее очень давно, но подход помогает мне до сих пор.
А как вы готовитесь к собеседованию?
Мой метод был полезен для вас?
👍 - да
🤔 - у меня свой подход (напишите в комментариях)
🔥 - давай в закреп (если соберу 20 🔥)
Python - учим и работами
Telegraph
Скрин моей шпаргалки
👍9🔥3
Почему мой код долго проверяют?
— Можешь посмотреть мои правки? Вот MR (merge request, аналог pull request в GitHub), неделю над ним работал, – попросил знакомый.
— Он большой?
— 1473 строки изменений.
Первая моя мысль): проверю как-нибудь потом. Тут часа три нужно, не меньше.
Смотришь на MR больше 300-500 строчек изменений — первые минут 15 честно пытаешься вникнуть, оптимально ли решает данный код поставленную задачу.
Спустя 15 минут понимаешь, что держать в голове чужой код размером в сотни строк просто НЕРЕАЛЬНО.
В итоге всё ревью скатывается к простой проверке стиля кода.
Результат:
1. В проект попадает неоптимальное решение.
2. Проверяющий не сможет поделиться через обратную связь знаниями. Вы просто узнаете, что функцию лучше назвать по другому, а вот тут добавить аннотацию.
3. Такой MR будет очень долго откладываться «на завтра». Разработчик перед каждой проверкой будет отвлекаться на старый MR, чтобы обновить его в соответствии с главной веткой.
Гугл уже достаточно давно столкнулась с проблемой код-ревью. Они выработали набор правил.
Пункт который нас интересует:
MR должен быть как можно меньше
* Маленький MR можно быстро проверить
* Проверка будет более осмысленной
* Меньше вероятность упустить баг
* Не так обидно, если весь MR будет отклонен. Ведь обидно, когда проделана большая работа, а потом выясняется, что все было зря
* Проще вливать изменения, меньше конфликтов
* Легче добиться хорошего качества кода
* Чем больше изменений за раз, тем сложнее откатывать код при необходимости
Интересно посмотреть остальные пункты из гайда? Тут перевод https://habr.com/ru/articles/474334/
А вы создаете MR?
👍 - да
🤔 - это для слабаков. Я сразу в главную ветку отправляю:)
Python - учим и работаем
— Можешь посмотреть мои правки? Вот MR (merge request, аналог pull request в GitHub), неделю над ним работал, – попросил знакомый.
— Он большой?
— 1473 строки изменений.
Первая моя мысль): проверю как-нибудь потом. Тут часа три нужно, не меньше.
Смотришь на MR больше 300-500 строчек изменений — первые минут 15 честно пытаешься вникнуть, оптимально ли решает данный код поставленную задачу.
Спустя 15 минут понимаешь, что держать в голове чужой код размером в сотни строк просто НЕРЕАЛЬНО.
В итоге всё ревью скатывается к простой проверке стиля кода.
Результат:
1. В проект попадает неоптимальное решение.
2. Проверяющий не сможет поделиться через обратную связь знаниями. Вы просто узнаете, что функцию лучше назвать по другому, а вот тут добавить аннотацию.
3. Такой MR будет очень долго откладываться «на завтра». Разработчик перед каждой проверкой будет отвлекаться на старый MR, чтобы обновить его в соответствии с главной веткой.
Гугл уже достаточно давно столкнулась с проблемой код-ревью. Они выработали набор правил.
Пункт который нас интересует:
MR должен быть как можно меньше
* Маленький MR можно быстро проверить
* Проверка будет более осмысленной
* Меньше вероятность упустить баг
* Не так обидно, если весь MR будет отклонен. Ведь обидно, когда проделана большая работа, а потом выясняется, что все было зря
* Проще вливать изменения, меньше конфликтов
* Легче добиться хорошего качества кода
* Чем больше изменений за раз, тем сложнее откатывать код при необходимости
Интересно посмотреть остальные пункты из гайда? Тут перевод https://habr.com/ru/articles/474334/
А вы создаете MR?
👍 - да
🤔 - это для слабаков. Я сразу в главную ветку отправляю:)
Python - учим и работаем
👍5🤔2
Повышаем скорость и качество своего развития
— Как запомнить пройденный материал? — спросил знакомый студент.
— Выпиши 3 пункта, чем тебе было полезно сегодняшнее обучение.
А теперь пошагово:
1. Быстро вспомните, что сегодня прошли и сделайте краткую выжимку.
2. Отметьте и выпишите, чем материал был полезен (поможет осознанно подойти к его освоению и повысить мотивацию).
3. Через 3/7/15 дней перечитайте пункты. Теперь вам понадобится всего несколько минут, чтобы «пробежаться» по тексту и повторить информацию.
Чтобы сделать этот прием еще эффективнее, советую отправить пункты наставнику / преподавателю / ментору. Так вы удержите темп обучения — если пропустите упражнение, будет стыдно перед другим человеком.
Давайте проведём эксперимент? 2 недели попробуем применять этот инструмент на практике. Пишите в комментариях, что сегодня изучали, и какую пользу для себя вынесли:
1️⃣2️⃣3️⃣
Не забудьте поставить:
👍 - я «за» (если наберется 5 участников, то закрепляю пост, и поехали)
🤔 - я всё уже знаю
Python - учим и работаем
— Как запомнить пройденный материал? — спросил знакомый студент.
— Выпиши 3 пункта, чем тебе было полезно сегодняшнее обучение.
А теперь пошагово:
1. Быстро вспомните, что сегодня прошли и сделайте краткую выжимку.
2. Отметьте и выпишите, чем материал был полезен (поможет осознанно подойти к его освоению и повысить мотивацию).
3. Через 3/7/15 дней перечитайте пункты. Теперь вам понадобится всего несколько минут, чтобы «пробежаться» по тексту и повторить информацию.
Чтобы сделать этот прием еще эффективнее, советую отправить пункты наставнику / преподавателю / ментору. Так вы удержите темп обучения — если пропустите упражнение, будет стыдно перед другим человеком.
Давайте проведём эксперимент? 2 недели попробуем применять этот инструмент на практике. Пишите в комментариях, что сегодня изучали, и какую пользу для себя вынесли:
1️⃣2️⃣3️⃣
Не забудьте поставить:
👍 - я «за» (если наберется 5 участников, то закрепляю пост, и поехали)
🤔 - я всё уже знаю
Python - учим и работаем
👍12
This media is not supported in your browser
VIEW IN TELEGRAM
Когда важен кругозор
— Бек сделаем на питон, а фронт на джава, – поделился своими планами знакомый, который хотел открыть стартап.
— Чем отличается Java от JavaScript?
— 🤔
Разбавлять контент юмором из ИТ?
👍 - да
🤔 - такое себе…
Python - учим и работаем
— Бек сделаем на питон, а фронт на джава, – поделился своими планами знакомый, который хотел открыть стартап.
— Чем отличается Java от JavaScript?
— 🤔
Разбавлять контент юмором из ИТ?
👍 - да
🤔 - такое себе…
Python - учим и работаем
👍19🤔4😁2
Достаем двойные листочки!
— Какого уровня задачки нужно уметь решать, чтобы пройти собеседование у тебя? – спросил мой мети.
— Моя любимая задача «однонаправленный список».
Задача: Написать класс для однонаправленного списка в Python без использования стандартных структур данных (например, list, dict и т.д.).
Требуемые методы:
•
•
•
Попробуйте решить тут https://replit.com/@AlexeyNekrasov/PiterPy#main.py
По ссылке доступна заготовка нужного класса и тесты к решению.
Переходим, форкаем и решаем! Ссылку на реплит с решением выкладывайте в комментариях.
А для тех, кто сегодня участвует в конференции PiterPy, мы с @mtsai начисляем +5 баллов за правильное решение. Баллы можно обменять на крутой мерч. Торопись!
Решишь задачку?
👍 - да
🤔 - у меня есть 1000 причин не решать
Python - учим и работаем
— Какого уровня задачки нужно уметь решать, чтобы пройти собеседование у тебя? – спросил мой мети.
— Моя любимая задача «однонаправленный список».
Задача: Написать класс для однонаправленного списка в Python без использования стандартных структур данных (например, list, dict и т.д.).
Требуемые методы:
•
get(index): возвращает элемент на заданном индексе•
add(value): добавляет в конец списка элемент с заданным значением •
remove(index): удаляет элемент на заданном индексеПопробуйте решить тут https://replit.com/@AlexeyNekrasov/PiterPy#main.py
По ссылке доступна заготовка нужного класса и тесты к решению.
Переходим, форкаем и решаем! Ссылку на реплит с решением выкладывайте в комментариях.
А для тех, кто сегодня участвует в конференции PiterPy, мы с @mtsai начисляем +5 баллов за правильное решение. Баллы можно обменять на крутой мерч. Торопись!
Решишь задачку?
👍 - да
🤔 - у меня есть 1000 причин не решать
Python - учим и работаем
replit
PiterPy
Run Python 3.10 code live in your browser. Write and run code in 50+ languages online with Replit, a powerful IDE, compiler, & interpreter.
👍9🤔4
Как съесть слона и почему это поможет закончить онлайн-курс
— Ого, ты купил курс, хочешь войти в IT?
— Да, менеджер сказал, что уже в январе смогу поменять профессию и стать востребованным айтишником.
— Но до января остались 3 недели!
— Ничего, я успею…
Почему люди покупают онлайн-курсы? Обычно они хотят поменять что-то в жизни, или у них появляется мечта. Желание дойти до своей конечной цели мотивирует их начать обучение, но не закончить. Почему?
Проходит неделя, другая, месяц. А вы так и не становитесь айтишником за 3 дня. Трек пройден всего на 5%, а конечная цель уже не мотивирует, как раньше. Что делать?
Когда внешняя мотивация истощается, приходится искать внутреннюю. На помощь приходит метод слона, а точнее его поедания:
1️⃣ Разбейте весь курс на небольшие временные отрезки. Так будет проще усваивать материал, а трек не будет казаться чем-то огромным.
2️⃣ Получайте кайф от обучения. Если что-то не нравится – меняем. Это важно для поддержания интереса.
3️⃣ Делаем обучение частью повседневной жизни. Составляем график, чтобы заниматься постоянно.
4️⃣ Находим наставника или сообщество единомышленников. Они будут мотивировать и напоминать о необходимости двигаться вперед.
А что помогло вам не бросить онлайн-курсы на полпути? Поделитесь в комментариях.
Соскучились по постам?
👍 - да
🤔 - «что я тут забыл?»
Python - учим и работаем
— Ого, ты купил курс, хочешь войти в IT?
— Да, менеджер сказал, что уже в январе смогу поменять профессию и стать востребованным айтишником.
— Но до января остались 3 недели!
— Ничего, я успею…
Почему люди покупают онлайн-курсы? Обычно они хотят поменять что-то в жизни, или у них появляется мечта. Желание дойти до своей конечной цели мотивирует их начать обучение, но не закончить. Почему?
Проходит неделя, другая, месяц. А вы так и не становитесь айтишником за 3 дня. Трек пройден всего на 5%, а конечная цель уже не мотивирует, как раньше. Что делать?
Когда внешняя мотивация истощается, приходится искать внутреннюю. На помощь приходит метод слона, а точнее его поедания:
1️⃣ Разбейте весь курс на небольшие временные отрезки. Так будет проще усваивать материал, а трек не будет казаться чем-то огромным.
2️⃣ Получайте кайф от обучения. Если что-то не нравится – меняем. Это важно для поддержания интереса.
3️⃣ Делаем обучение частью повседневной жизни. Составляем график, чтобы заниматься постоянно.
4️⃣ Находим наставника или сообщество единомышленников. Они будут мотивировать и напоминать о необходимости двигаться вперед.
А что помогло вам не бросить онлайн-курсы на полпути? Поделитесь в комментариях.
Соскучились по постам?
👍 - да
🤔 - «что я тут забыл?»
Python - учим и работаем
👍13
Курица и яйцо в программировании: сначала писать, а потом читать, или наоборот?
— Сначала надо научиться писать или стоит побольше анализировать чужой код?
— Советую делать это параллельно.
— Разве так Python выучишь? Понятно все с вашими курсами.
Что первичнее: научиться писать код или анализировать чужие? В школе на уроках литературы мы учим русский, читая большие произведения классиков. Не заучиваем их бездумно, а вникаем и стараемся понять, что хотел передать автор. В онлайн-школах нередко дают только простые команды, которые необходимо просто повторить.
Почему обучение программированию принято начинать с написания кода а не его чтения?
Программирование – в первую очередь, инструмент для решения задач. В этом деле очень важно прокачать именно практические навыки. Поэтому часто больше внимания уделяется созданию кода, а не его изучению на примерах работ других.
Почему мы в школе изучаем литературу и письмо, а в программирование только письмо?
Литература учит нас анализу, критическому мышлению и пониманию чужой позиции. Программирование, уделяя внимание только активному созданию кода, часто упускает важный аспект — умение воспринимать и оценивать чужой код. А ведь оно помогает усовершенствовать навыки.
Я всем студентам говорю, откройте GitHub, найдите проект Open Source на Python. Посмотрите, какие там issue, и предложите свои правки. Но никто не делает. То ли тяжело разобраться в этом процессе, то ли лень изучить кодовую базу и предложить что-то, то ли страх показаться глупым.
А как вы начинали обучение? Поделитесь, что нужно освоить в первую очередь.
Согласны с моим мнением?
👍 - да
🤔 - «я учился по чужому коду»
Python - учим и работаем
— Сначала надо научиться писать или стоит побольше анализировать чужой код?
— Советую делать это параллельно.
— Разве так Python выучишь? Понятно все с вашими курсами.
Что первичнее: научиться писать код или анализировать чужие? В школе на уроках литературы мы учим русский, читая большие произведения классиков. Не заучиваем их бездумно, а вникаем и стараемся понять, что хотел передать автор. В онлайн-школах нередко дают только простые команды, которые необходимо просто повторить.
Почему обучение программированию принято начинать с написания кода а не его чтения?
Программирование – в первую очередь, инструмент для решения задач. В этом деле очень важно прокачать именно практические навыки. Поэтому часто больше внимания уделяется созданию кода, а не его изучению на примерах работ других.
Почему мы в школе изучаем литературу и письмо, а в программирование только письмо?
Литература учит нас анализу, критическому мышлению и пониманию чужой позиции. Программирование, уделяя внимание только активному созданию кода, часто упускает важный аспект — умение воспринимать и оценивать чужой код. А ведь оно помогает усовершенствовать навыки.
Я всем студентам говорю, откройте GitHub, найдите проект Open Source на Python. Посмотрите, какие там issue, и предложите свои правки. Но никто не делает. То ли тяжело разобраться в этом процессе, то ли лень изучить кодовую базу и предложить что-то, то ли страх показаться глупым.
А как вы начинали обучение? Поделитесь, что нужно освоить в первую очередь.
Согласны с моим мнением?
👍 - да
🤔 - «я учился по чужому коду»
Python - учим и работаем
👍7🤔1
Сжимаем информацию за 10 лет в неделю
— Посоветуй что-нибудь почитать по разработке. И вот ты открываешь гайд, а там — марафон на 10 лет🤯
— Тебе ссылку на книгу Python за 7 дней (255стр) или Изучаем Python Марк Лутц (2 тома на 1400стр)
Если снова не попал в цель с советом, возможно, дело в вопросе. Сформулируйте его чётко:
>
>
Так вы сильно упростите задачу и себе. Ваш знакомый тоже получит кайф от того, что смог вам помочь, а не завалил просто материалами, который вы даже не откроете.
Из моего опыта: вот что дают рекрутёры/HR в Яндексе и Тинькофф перед собеседованием — и это золото по сравнению с другими компаниями. Правда это золото вам осваивать пару лет в спокойном темпе.
Тинькофф: https://www.tinkoff.ru/career/it/interview/backend
Яндекс: https://yandex.ru/jobs/pages/dev_interview
Присылайте в комментарии гайды, которые кажутся бесконечными лабиринтами. Давайте вместе оценим, можно ли их осилить за год. 🥲
Python - учим и работаем
— Посоветуй что-нибудь почитать по разработке. И вот ты открываешь гайд, а там — марафон на 10 лет🤯
— Тебе ссылку на книгу Python за 7 дней (255стр) или Изучаем Python Марк Лутц (2 тома на 1400стр)
Если снова не попал в цель с советом, возможно, дело в вопросе. Сформулируйте его чётко:
>
Дай, пожалуйста, одну вводную книгу/ссылку для полного новичка.>
Ищу что-то для тех, кто уже немного знаком с темой, чтобы разобраться, подойдёт ли мне это в моей ситуации.Так вы сильно упростите задачу и себе. Ваш знакомый тоже получит кайф от того, что смог вам помочь, а не завалил просто материалами, который вы даже не откроете.
Из моего опыта: вот что дают рекрутёры/HR в Яндексе и Тинькофф перед собеседованием — и это золото по сравнению с другими компаниями. Правда это золото вам осваивать пару лет в спокойном темпе.
Тинькофф: https://www.tinkoff.ru/career/it/interview/backend
Яндекс: https://yandex.ru/jobs/pages/dev_interview
Присылайте в комментарии гайды, которые кажутся бесконечными лабиринтами. Давайте вместе оценим, можно ли их осилить за год. 🥲
Python - учим и работаем
👍3
Знать != владеть
— Я прошел курс, изучил все, что должен знать миддл, но меня не повышают.
— А теперь тебе нужно научиться владеть ими.
Важно разделять категории навыков: знаю, умею, владею.
> Знать — понимать в теории, уметь воспроизводить и объяснять материал.
> Уметь — решать типовые задачи за счет стандартных алгоритмов решения. Задачи могут быть взяты из курсов, учебников или интернета. Решая эти задачи, ты начинаешь понимать, как применять теоретические знания на практике.
> Владеть — решать усложненные задачи в нетипичных ситуациях и уметь передать этот опыт. Тут нужно ставить себя в новые, более сложные и нестандартные условия, например, работать над проектами с неопределенными требованиями, участвовать в хакатонах или брать задачи, выходящие за рамки твоих текущих знаний.
При построении индивидуального плана развития (ИПР/PDP) закладывайте не только "Изучить" тот или иной навык, но также время на практику и пет-проекты (чтобы не просто знать, но и уметь).
Хорошая вводная статья по этой теме: Все идет по плану: как составить PDP и прокачать карьеру (кому нужен, как составить, как оценить прогресс)
Уже строили себе план развития?
👍 - да
🤔 - жду от руководителя
Python - учим и работаем
— Я прошел курс, изучил все, что должен знать миддл, но меня не повышают.
— А теперь тебе нужно научиться владеть ими.
Важно разделять категории навыков: знаю, умею, владею.
> Знать — понимать в теории, уметь воспроизводить и объяснять материал.
> Уметь — решать типовые задачи за счет стандартных алгоритмов решения. Задачи могут быть взяты из курсов, учебников или интернета. Решая эти задачи, ты начинаешь понимать, как применять теоретические знания на практике.
> Владеть — решать усложненные задачи в нетипичных ситуациях и уметь передать этот опыт. Тут нужно ставить себя в новые, более сложные и нестандартные условия, например, работать над проектами с неопределенными требованиями, участвовать в хакатонах или брать задачи, выходящие за рамки твоих текущих знаний.
При построении индивидуального плана развития (ИПР/PDP) закладывайте не только "Изучить" тот или иной навык, но также время на практику и пет-проекты (чтобы не просто знать, но и уметь).
Хорошая вводная статья по этой теме: Все идет по плану: как составить PDP и прокачать карьеру (кому нужен, как составить, как оценить прогресс)
Уже строили себе план развития?
👍 - да
🤔 - жду от руководителя
Python - учим и работаем
👍8
От "не знаю, что не знаю" к эксперту: Путь через 4 стадии
— Помнишь свои первые шаги в кодинге?
— Было сложно, не понятно, сколько всего нужно изучить.
Каждый разработчик проходит 4 стадии развития компетентности, начиная с неосознанной некомпетентности, когда даже не понимаешь объем неизвестного. Далее идет осознанная некомпетентность, осознаешь свои пробелы и начинаешь учиться. Осознанная компетентность требует сосредоточенности, но позволяет решать задачи эффективно. И, наконец, неосознанная компетентность делает выполнение задач автоматическим и эффективным.
Каждая стадия важна для достижения мастерства и помогает определить путь для роста.
Мой опыт показывает, что особенно сложным может оказаться этап осознанной некомпетентности, когда вы начинаете понимать огромное количество областей и инструментов, с которыми ещё не сталкивались. Здесь на помощь приходит Cloud Native Landscape.
Cloud Native Landscape — это каталог инструментов и ресурсов, организованный по категориям. Он включает, такие категории: как базы данных, CI/CD инструменты для разработки и многое другое. Для начинающих разработчиков, исследование этого каталога хорошая отправная точка для изучения новых инструментов и понимания текущих трендов.
Какой этап для вас самый вызывающий в вашем обучении? Поделитесь в комментариях.
Python - учим и работаем
— Помнишь свои первые шаги в кодинге?
— Было сложно, не понятно, сколько всего нужно изучить.
Каждый разработчик проходит 4 стадии развития компетентности, начиная с неосознанной некомпетентности, когда даже не понимаешь объем неизвестного. Далее идет осознанная некомпетентность, осознаешь свои пробелы и начинаешь учиться. Осознанная компетентность требует сосредоточенности, но позволяет решать задачи эффективно. И, наконец, неосознанная компетентность делает выполнение задач автоматическим и эффективным.
Каждая стадия важна для достижения мастерства и помогает определить путь для роста.
Мой опыт показывает, что особенно сложным может оказаться этап осознанной некомпетентности, когда вы начинаете понимать огромное количество областей и инструментов, с которыми ещё не сталкивались. Здесь на помощь приходит Cloud Native Landscape.
Cloud Native Landscape — это каталог инструментов и ресурсов, организованный по категориям. Он включает, такие категории: как базы данных, CI/CD инструменты для разработки и многое другое. Для начинающих разработчиков, исследование этого каталога хорошая отправная точка для изучения новых инструментов и понимания текущих трендов.
Какой этап для вас самый вызывающий в вашем обучении? Поделитесь в комментариях.
Python - учим и работаем
👍3
Превратите чтение в суперсилу
— Я никогда не изучу полностью весь список из избранного в telegram. Как ты справляешься с потоком информации?
— Беру суть и даю ей отлежаться в буферном канале
Для разработчиков жизненно важно не только отбирать полезные данные, но и эффективно их применять.
Я для себя скрестил метод активного чтения с системой управления знаниями (KMS), и создал "буферный канал" в Телеграме. Это позволяет мне сохранять ключевые идеи и позже интегрировать их в свою работу, делая каждый прочитанный материал шагом к профессиональному развитию.
Алгоритм преобразования чтения в инструмент развития:
1. Прочтение материала.
2. Запись ключевых моментов в канал (желательно собственными словами).
3. Еженедельная обработка собранной информации для поиска применений.
4. Удаление обработанного контента из канала.
Какие методы и инструменты помогают вам превратить чтение из хобби в инструмент профессионального роста?
Тоже сохраняете всё в избранное в телеграм?
👍 - ага
🤔 - в чатик с самим собой
Python - учим и работаем
— Я никогда не изучу полностью весь список из избранного в telegram. Как ты справляешься с потоком информации?
— Беру суть и даю ей отлежаться в буферном канале
Для разработчиков жизненно важно не только отбирать полезные данные, но и эффективно их применять.
Я для себя скрестил метод активного чтения с системой управления знаниями (KMS), и создал "буферный канал" в Телеграме. Это позволяет мне сохранять ключевые идеи и позже интегрировать их в свою работу, делая каждый прочитанный материал шагом к профессиональному развитию.
Алгоритм преобразования чтения в инструмент развития:
1. Прочтение материала.
2. Запись ключевых моментов в канал (желательно собственными словами).
3. Еженедельная обработка собранной информации для поиска применений.
4. Удаление обработанного контента из канала.
Какие методы и инструменты помогают вам превратить чтение из хобби в инструмент профессионального роста?
Тоже сохраняете всё в избранное в телеграм?
👍 - ага
🤔 - в чатик с самим собой
Python - учим и работаем
👍4🤔4
Максимизируйте пользу от IT-мероприятий: Практический гид
— Конференции кажутся мне пустой тратой времени.
— Без подготовки — возможно. Но с правильным подходом ты можешь получить от них максимум.
Участие в конференциях и митапах предоставляет не только знания, но и возможности для развития вашего окружения и прокачки soft skills. Вот ключевые шаги для эффективного участия:
1. Планирование выступлений: Определите, какие доклады посетить, чтобы сфокусироваться на интересующих темах.
2. Вопросы к спикерам: Подготовьте вопросы заранее, чтобы углубить понимание темы.
3. Изучение спикеров: Познакомьтесь с докладчиками, чтобы понять контекст их выступлений.
4. Общение со спикерами: Напишите спикерам заранее, чтобы выделиться и обеспечить возможность для личного общения, где можете задать ранее подготовленные вопросы.
5. Увеличивайте количество ваших связей: Стройте контакты, встречаясь с участниками, для расширения профессиональных связей.
6. Запись тезисов: Фиксируйте основные идеи докладов, чтобы лучше усвоить информацию.
7. Пересказ тем: Поделитесь своими впечатлениями и тезисами докладов после мероприятия, чтобы закрепить знания и поделиться ими с другими. Например, по посту для каждой темы в соц.сетях или в корпоративной wiki.
Каждый из этих шагов направлен на углубление знаний и расширение профессиональных связей. Так вы обретёте не только новые знания, но контакты, которые в будущем могут хорошо вам помочь.
В следующем посте выложу список митапов/конференций, которые будут интересны Python разработчикам.
Посещаете митапы/конференции?
👍 – да
🤔 – всё слушал в записи
Python - учим и работаем
— Конференции кажутся мне пустой тратой времени.
— Без подготовки — возможно. Но с правильным подходом ты можешь получить от них максимум.
Участие в конференциях и митапах предоставляет не только знания, но и возможности для развития вашего окружения и прокачки soft skills. Вот ключевые шаги для эффективного участия:
1. Планирование выступлений: Определите, какие доклады посетить, чтобы сфокусироваться на интересующих темах.
2. Вопросы к спикерам: Подготовьте вопросы заранее, чтобы углубить понимание темы.
3. Изучение спикеров: Познакомьтесь с докладчиками, чтобы понять контекст их выступлений.
4. Общение со спикерами: Напишите спикерам заранее, чтобы выделиться и обеспечить возможность для личного общения, где можете задать ранее подготовленные вопросы.
5. Увеличивайте количество ваших связей: Стройте контакты, встречаясь с участниками, для расширения профессиональных связей.
6. Запись тезисов: Фиксируйте основные идеи докладов, чтобы лучше усвоить информацию.
7. Пересказ тем: Поделитесь своими впечатлениями и тезисами докладов после мероприятия, чтобы закрепить знания и поделиться ими с другими. Например, по посту для каждой темы в соц.сетях или в корпоративной wiki.
Каждый из этих шагов направлен на углубление знаний и расширение профессиональных связей. Так вы обретёте не только новые знания, но контакты, которые в будущем могут хорошо вам помочь.
В следующем посте выложу список митапов/конференций, которые будут интересны Python разработчикам.
Посещаете митапы/конференции?
👍 – да
🤔 – всё слушал в записи
Python - учим и работаем
👍3🤔1
Список ближайших мероприятий на весну:
* 6 апреля TechTrain 2024 Фестиваль профессионального роста (онлайн)
* дата не определена Moscow.Python бесплатный митап (офлайн Москва)
* дата не определена Podlodka Backend Crew Однонедельная конференция с экспертами из топовых компаний для backend-разработчиков (онлайн)
* дата не определена Dump Kазань Главная ИТ-конференция Татарстана (офлайн Казань)
* 26 апреля 2024 DUMP Екатеринбург Главная ИТ-конференция Урала (офлайн Екатеринбург)
* 25-26 мая CodeFest 14 Конференция разработчиков, посвященная актуальным вопросам разработки, управления проектами и тестирования. (офлайн Новосибирск)
Пойдём?
👍 – да
🤔 – youtube наше всё, буду смотреть в записи
Python - учим и работаем
* 6 апреля TechTrain 2024 Фестиваль профессионального роста (онлайн)
* дата не определена Moscow.Python бесплатный митап (офлайн Москва)
* дата не определена Podlodka Backend Crew Однонедельная конференция с экспертами из топовых компаний для backend-разработчиков (онлайн)
* дата не определена Dump Kазань Главная ИТ-конференция Татарстана (офлайн Казань)
* 26 апреля 2024 DUMP Екатеринбург Главная ИТ-конференция Урала (офлайн Екатеринбург)
* 25-26 мая CodeFest 14 Конференция разработчиков, посвященная актуальным вопросам разработки, управления проектами и тестирования. (офлайн Новосибирск)
Пойдём?
👍 – да
🤔 – youtube наше всё, буду смотреть в записи
Python - учим и работаем
👍4🤔4
Как удвоить вашу продуктивность в разработке, не увеличивая рабочие часы
— Ты всё ещё пишешь код без комментариев?
— Ага, это же просто MVP.
В мире разработки существует заблуждение, что время, затраченное на оформление и документирование кода, - это потерянное время. Многие из нас используют отговорки вроде "код самодокументируемый" или "это всего лишь MVP/прототип", чтобы избежать этой работы. Но давайте взглянем на реальность: разработчики проводят до 80% своего времени, читая и пытаясь понять существующий код, а не написание нового. Это означает, что качество и читаемость кода напрямую влияют на нашу продуктивность.
Если мы начнем уделять больше внимания чистоте и понятности нашего кода, мы можем существенно сократить время на его понимание и улучшение. Представьте, если бы мы могли уменьшить время, проведенное за чтением кода, с 80% до 60-70%. Это автоматически освободит дополнительные 10-20% времени на написание нового кода. По сути, мы можем почти удвоить нашу продуктивность, не увеличивая рабочие часы.
Какие практики написания кода помогают вам сохранять продуктивность и облегчать понимание кода для вас и ваших коллег?
У меня в колекции для решении этой проблемы есть линтер wemake-python-styleguide, который подсвечивает подобные проблемы в коде.
Работали с таким?
👍 – да
🤔 – ещё не пробовал
Python - учим и работаем
— Ты всё ещё пишешь код без комментариев?
— Ага, это же просто MVP.
В мире разработки существует заблуждение, что время, затраченное на оформление и документирование кода, - это потерянное время. Многие из нас используют отговорки вроде "код самодокументируемый" или "это всего лишь MVP/прототип", чтобы избежать этой работы. Но давайте взглянем на реальность: разработчики проводят до 80% своего времени, читая и пытаясь понять существующий код, а не написание нового. Это означает, что качество и читаемость кода напрямую влияют на нашу продуктивность.
Если мы начнем уделять больше внимания чистоте и понятности нашего кода, мы можем существенно сократить время на его понимание и улучшение. Представьте, если бы мы могли уменьшить время, проведенное за чтением кода, с 80% до 60-70%. Это автоматически освободит дополнительные 10-20% времени на написание нового кода. По сути, мы можем почти удвоить нашу продуктивность, не увеличивая рабочие часы.
Какие практики написания кода помогают вам сохранять продуктивность и облегчать понимание кода для вас и ваших коллег?
У меня в колекции для решении этой проблемы есть линтер wemake-python-styleguide, который подсвечивает подобные проблемы в коде.
Работали с таким?
👍 – да
🤔 – ещё не пробовал
Python - учим и работаем
👍5🤔3
Почему остановка в обучении — это самая дорогая "экономия" для джуна
— Будет ли индексация ЗП?
— После индексации производительности.
Многие начинающие разработчики мечтают о том, чтобы их зарплата росла автоматически, как цены в магазине. Однако реальность оказывается далеко не такой радужной. Но в IT, где технологии постоянно меняются, прекращение обучения останавливает карьерный рост и снижает конкурентоспособность.
В пути джуниора встречаются разные препятствия: страх перед неудачами, нехватка времени, неуверенность в собственных силах, сложность выхода из зоны комфорта, отсутствие чёткой цели или мотивации. Важно научиться преодолевать эти вызовы, чтобы не только повысить свою ценность как специалиста, но и открыть новые горизонты возможностей. Это касается не только финансовой стороны вопроса, но и личностного роста, способности решать более сложные и интересные задачи.
А вот если вы миддл и выше, то как пишет автор статьи на habr Обязан ли разработчик развиваться? вы можете уже выдохнуть, но я бы не советовал😉
Какие методы или ресурсы помогли вам преодолеть профессиональные вызовы и сделать значимый шаг в карьере?
Ещё не перегорели от ИТ?
👍 – держусь
🤔 – есть признаки🔥
Python - учим и работаем
— Будет ли индексация ЗП?
— После индексации производительности.
Многие начинающие разработчики мечтают о том, чтобы их зарплата росла автоматически, как цены в магазине. Однако реальность оказывается далеко не такой радужной. Но в IT, где технологии постоянно меняются, прекращение обучения останавливает карьерный рост и снижает конкурентоспособность.
В пути джуниора встречаются разные препятствия: страх перед неудачами, нехватка времени, неуверенность в собственных силах, сложность выхода из зоны комфорта, отсутствие чёткой цели или мотивации. Важно научиться преодолевать эти вызовы, чтобы не только повысить свою ценность как специалиста, но и открыть новые горизонты возможностей. Это касается не только финансовой стороны вопроса, но и личностного роста, способности решать более сложные и интересные задачи.
А вот если вы миддл и выше, то как пишет автор статьи на habr Обязан ли разработчик развиваться? вы можете уже выдохнуть, но я бы не советовал😉
Какие методы или ресурсы помогли вам преодолеть профессиональные вызовы и сделать значимый шаг в карьере?
Ещё не перегорели от ИТ?
👍 – держусь
🤔 – есть признаки🔥
Python - учим и работаем
👍5🔥1🤔1
Рост разработчика: как не продать себя дешево
— Надо было покупать акции раньше, теперь они слишком дорогие.
— Похоже на синдром упущенной выгоды.
Наше время — это актив, который мы отдаем компании. Чтобы через год, пять или десять не пожалеть о том, что продавали себя дешево и не повышали свою ценность, пора действовать сейчас.
В статье на Habr я подготовил план разработки стратегии роста внутри компании и обзор зон, где вы можете расти: Как расти разработчику внутри компании?
Ваш час стал дороже в этом году? А его ценность увеличилась?
👍 — да
🤔 — стоит задуматься…
Python - учим и работаем
— Надо было покупать акции раньше, теперь они слишком дорогие.
— Похоже на синдром упущенной выгоды.
Наше время — это актив, который мы отдаем компании. Чтобы через год, пять или десять не пожалеть о том, что продавали себя дешево и не повышали свою ценность, пора действовать сейчас.
В статье на Habr я подготовил план разработки стратегии роста внутри компании и обзор зон, где вы можете расти: Как расти разработчику внутри компании?
Ваш час стал дороже в этом году? А его ценность увеличилась?
👍 — да
🤔 — стоит задуматься…
Python - учим и работаем
🤔5👍4
А что, так можно было?
— Не сдал, на пересдачу. Почему на семинарах не задавал вопросы, если не понял тему? - спросил преподаватель.
— Не знаю, - ответил я с мыслью «не хотел показаться идиотом»
Ввожу рубрику «Вопрос - ответ»
Если у вас есть вопросы по python, карьерному росту или любой другой теме, пишите мне в личку @znbiz.
Ответы на интересные вопросы буду публиковать в канале.
Python - учим и работаем
— Не сдал, на пересдачу. Почему на семинарах не задавал вопросы, если не понял тему? - спросил преподаватель.
— Не знаю, - ответил я с мыслью «не хотел показаться идиотом»
Ввожу рубрику «Вопрос - ответ»
Если у вас есть вопросы по python, карьерному росту или любой другой теме, пишите мне в личку @znbiz.
Ответы на интересные вопросы буду публиковать в канале.
Python - учим и работаем
❤3
Сейчас быстро сделаю, или как просидеть все выходные за компьютером
— Тут работы на пару спринтов.
— Что там делать так долго? Нужно всего лишь создать пару моделей и сделать для них CRUD, с использованием библиотеки FastAPI-JSONAPI займет пару вечеров.
Так начались мои выходные, на которых я последний раз писал код.
Это рубрика #ответы на вопросы
Как выглядит процесс разработки у меня?
На моей позиции архитектора до кода уже руки не доходят. Основная задача — разработка и продумывание архитектуры для продуктов, которые вышли из стадии MVP. Для них бизнес выдвигает ряд требований: функциональных и не функциональных, а я начинаю строить итеративно архитектуру и проверять как её воплотили в жизнь разработчики.
По вечерам и выходным для себя делаю pet проекты, где пишу код с нуля. Стараюсь находить время на конференции.
Часто по выходным кодите?
🔥 — постоянно
Вопросы можете задавать мне в личку @znbiz
— Тут работы на пару спринтов.
— Что там делать так долго? Нужно всего лишь создать пару моделей и сделать для них CRUD, с использованием библиотеки FastAPI-JSONAPI займет пару вечеров.
Так начались мои выходные, на которых я последний раз писал код.
Это рубрика #ответы на вопросы
Как выглядит процесс разработки у меня?
На моей позиции архитектора до кода уже руки не доходят. Основная задача — разработка и продумывание архитектуры для продуктов, которые вышли из стадии MVP. Для них бизнес выдвигает ряд требований: функциональных и не функциональных, а я начинаю строить итеративно архитектуру и проверять как её воплотили в жизнь разработчики.
По вечерам и выходным для себя делаю pet проекты, где пишу код с нуля. Стараюсь находить время на конференции.
Часто по выходным кодите?
🔥 — постоянно
Вопросы можете задавать мне в личку @znbiz
🔥6🤯1