ЛСА | Лайфстайл айтишника – Telegram
ЛСА | Лайфстайл айтишника
338 subscribers
28 photos
3 videos
1 file
89 links
ЛСА — инженерный рост без перегруза.

Здесь говорят:
— о зрелом коде и зрелом подходе;
— о карьере: от senior до CTO;
— об архитектуре, ИИ и командных практиках;
— и как всё это вписать в нормальную жизнь.

Для лидов и тех, кто туда идёт.
Download Telegram
Обратная связь, которую можно добавить в резюме

— Как прокачать резюме?
— Сделай вклад в open source.
— Как?

Представьте, что вы — главный разработчик в компании, которая использует плагин для FastAPI-JSONAPI для разработки веб-сервисов.

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

Участвуя в open source разработке, вы показываете работодателю, что:
1. Кайфуете от кодинга, готовы работать даже бесплатно.
2. Уже прошли через ревью международных спецов, если ваши PR приняли.
3. Не по наслышке знакомы с командной разработкой.
4. Умеете читать и разбираться в чужом коде.

Начинайте со списка специально подобранных задач для джунов https://github.com/topics/good-first-issue?l=python

Хотите попробовать, но не знаете с чего начать? Пишите мне. Подробнее в нашем посте https://news.1rj.ru/str/forkway_python/9
🔥4👍1
Команда Forkway зовет тебя на стрелку!

Ты студент онлайн-школы? Или герой-самоучка, который презирает нудные занятия? Тебе есть 18?

Приходи на настоящую разборку и проверь свои знания по Python!

💣 Первый этап: тебя ждёт онлайн-тест из 20 вопросов, которые задают на реальных собеседованиях. Автоматически проверяем твои ответы и сразу показываем результаты.

💣 Второй этап: 23.09 (суббота) в 12:00 (по мск) начинаем онлайн перестрелку. Каждому участнику отсылаем 10 одинаковых заданий из секции live coding, с которыми необходимо справиться за ограниченное время.

Что получит победитель?
5 финалистам
дарим бесплатное сопровождение от наших экспертов, тимлидов крупных компаний. Наставники будут консультировать по любым вопросам и помогать с трудоустройством до получения финального оффера.

А что, если не пройдешь в финал?
При любом раскладе получишь сертификат, который добавишь в свое портфолио. И множество бонусов: лайфхаки по собеседованиям и полезные инструменты в Python.

Тем, кто пройдет во второй этап, мы также предоставим карту востребованных навыков python-разработчика со статистикой рынка.

Переходи к первому этапу по ссылке @forkway_bot и помни, удача всегда на стороне сильного кода🐍
👍4🤔2🔥1
ЛСА | Лайфстайл айтишника pinned «Команда Forkway зовет тебя на стрелку! Ты студент онлайн-школы? Или герой-самоучка, который презирает нудные занятия? Тебе есть 18? Приходи на настоящую разборку и проверь свои знания по Python! 💣 Первый этап: тебя ждёт онлайн-тест из 20 вопросов, которые…»
Лови первый бонус для участников Python-батла - подборку практических советов для прохождения собеседований. 💫

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

Перейти к подборке

Какие 3 совета вошли в твой личный топ? 🔥🔥🔥
Делись мнениями в комментариях ⤵️
👍1🔥1
Как выгодно показать себя среди других кандидатов?

— У всех одно и тоже — телеграм боты в качестве pet-проектов...
— Как выделиться?
— Для начала настрой CI/CD в репозитории.

Многие на курсах изучают CI/CD: как он работает, как его настроить. Но от проекта к проекту в резюме никто не указывает этот навык. А ведь с его помощью можно выгодно выделиться.

Что можно сделать в GitHub?
С помощью GitHub Actions ты можешь настроить CI/CD, чтобы при push в репозиторий:
1️⃣ запускались автотесты с помощью pytest
2️⃣ проверялся стиль кода с помощью flake8 (wemake-python-stylegui) или pylint
3️⃣ собрался docker-образ с проектом внутри
4️⃣ на проставление тега можно было настроить публикацию docker образа в Docker Hub.

А вот тут хорошая статья с примером того, как можно сделать https://habr.com/ru/articles/476368/

Сохраняй и используй в своих pet-проектах и не только 🙃
👍8
Помоги другу получить оффер.

— Представьте, что ваш знакомый нашёл вакансию, где требуется выполнить тестовое задание. Однако есть одно "но": до завершения приёма резюме остался всего один день.
— И что дальше?
— Что бы вы ему посоветовали? Делать задание, насколько успеет, и отправлять в конце дня то, что получилось? Или просто пропустить эту вакансию? Учтите, что он уже долгое время ищет работу.
— Помогли бы вы ему с тестовым заданием? Например, сделали бы за него или помогли бы разделить задачу на этапы? Правда, так существует риск, что он не успеет выполнить задание в срок, но зато получит опыт.

Оставьте свои мнения в комментариях: что бы вы посоветовали знакомому и как бы поступили на его месте?
🔥3
Еще немного, еще чуть-чуть… скоро подведем первые итоги нашего Python-батла

Ребята, хотим поблагодарить вас! 66 человек пришли на Python-стрелку🙌

Python-герои, которые пройдут во второй этап, получат карту востребованных навыков Python-разработчика со статистикой рынка. Ждите от нас сообщение в личку 20.09.

В субботу, 23.09 в 12:00 по Мск они получат 10 одинаковых заданий из секции live coding. С ними необходимо справиться за ограниченное время.

В финале 5 лучших питонистов ждёт бесплатное сопровождение от наших экспертов, тимлидов крупных компаний. Наставники будут отвечать на вопросы, консультировать в личных сообщениях в Telegram по любым вопросам и помогут с трудоустройством до получения финального оффера.

Как и обещали, по окончании батла опубликуем ответы на задания. Сможете сравнить свои результаты и определить, над чем еще стоит поработать💪🐍
🔥6
Подводим итоги первой части Python-разборки😎

Немного статистики

• 80 человек приняли участие
• 57 человек прошли тестирование до конца
• 18 человек прошли во второй тур (набрали больше 13 баллов)

Из них 13 человек — студенты Яндекс.Практикум, 1 человек — студент Stepik и 4 — те, кто обучается самостоятельно.
Ищите сообщение от нашего бота у себя в личке!

— студенты Яндекс.Практикум в среднем набрали ~13 баллов (26 участников)
— студенты Stepik ~11 баллов (2 участника)
— студенты Skillbox ~10 баллов (3 участника)
студенты-самоучки ~9 баллов (25 участников)
— студенты Школы21 ~8 баллов (1 участник)

❗️Поздравляем финалистов и ждем в субботу во втором туре❗️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍2
Карта навыков 🗺

— Что стоит изучить в первую очередь? — спросил мой знакомый.
— Посмотри, что требуют в вакансиях. Это и изучай. Тогда точно не ошибёшься.

Как и обещал, мы с командой выбрали несколько основных позиций по Python web разработке:
- стажёр
- джун
- миддл
И по ним проанализировали 4300 вакансий на hh.

Из каждой вакансии вытащили основные навыки, опустили много лишнего и специфичного. Вывели порядка 500 навыков https://forkway.io/skills/skills-map.

Из них составили минимальный список тех навыков, которые покрывают максимум вакансий. Их оказалось ~68. Сгруппировали и накидали практических кейсов для них. Если изучите все навыки, точно куда-нибудь устроитесь 😉

Держите Карту навыков Python Web-разработчика

Было полезно? Тогда подпишись на канал Python Web-разработчика
🔥9👍21
Собеседование

— Как в SQL выполнить две команды в рамках одной транзакции PostgreSQL?
— Эээ, сразу не вспомню, но всегда можно в интернете посмотреть 🥺

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

Чем больше вы знаете базовых вещей тем более быстро и качественно сможете закрывать задачи.

Вопрос с собеседования.
Как вы бы решали следующую задачу: вам нужно сделать API добавления нового тарифа на сайт, при этом есть условия «среди активных тарифов название должно быть уникальным». Что будет если несколько пользователей одновременно попробуют добавить тариф через API?

Поставьте 🔥, если интересно посмотреть задачи и их разбор, которые мы давали в финале python разборки.

Python - учим и работаем
🔥16
Задача с собеседования

— Как готовиться к секции live coding на собеседование?
— Решай как можно больше задачек.

Обещали — делаем! Выкладывать задачки с финального этапа Python-разборки.

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

Решения присылайте в комментариях. Скидывать ссылку на repl.it с решением или присылайте в комментариях сам код. Только оформите его с помощью моноширинного форматирования.

P.S. По каждому решению дам обратную связь.

Задача 1: Сжатие строки
Описание
: Напишите функцию, которая принимает строку и возвращает новую строку, где каждая последовательность одинаковых символов заменяется на этот символ и количество его повторений.
Пример: "aaabccdd" → "a3b1c2d2"

Python - учим и работаем
👍3🔥2
Продолжаем разбирать задачки

— Не понимаю, зачем проверять понимание алгоритмов, если задачи будут уровня "подвинь кнопку"?
— А как еще быстро определить способность к самостоятельному и эффективному решению сложных задач?

Вторая задача из финальных задач Python разборки

Решения присылайте в комментариях. Только оформите его с помощью моноширинного форматирования.

P.S. По каждому решению дам обратную связь. А вечером скину разбор задачи.

Задача 2: Задача о рюкзаке
Описание
: Даны веса и стоимости n предметов, а также рюкзак вместимостью W. Напишите функцию для вычисления максимальной стоимости предметов, которые можно уложить в рюкзак, не превышая его вместимость.

Пример: Веса = [10, 20, 30], стоимости = [60, 100, 120], вместимость рюкзака = 50. Ответ: 220.

Python - учим и работаем
👍4🔥1
Я не готовлюсь к собеседованию

— Как к собеседованию готовился? — спросил знакомого.
— Выспался, всё остальное – нечестно по отношению к работодателю. А так – покажу себя как есть.

Серьёзно? Может на первые свидания тоже начнем ходить в домашних трико?

Многие джуны, желающие перейти на миддла, на моих собеседованиях валились на секции live coding. Всегда перед собесом повторяйте теорию и решайте задач 20, чтобы набить руку и вспомнить как решаются алгоритмические задачи.

А мы продолжаем наш марафон задачек.

Задача 3: Минимальное количество монет для сдачи
Описание
: Даны номиналы монет c1, c2, ..., cn и сумма S. Напишите функцию, которая возвращает минимальное количество монет, которое необходимо, чтобы составить сумму.

Пример: Номиналы = [1, 2, 5], сумма = 11. Ответ: 3 (5 + 5 + 1).

Python - учим и работами
🔥6👍3
Pet-проекты для портфолио

— Где брать коммерческий опыт разработки?
— Сколько pet-проектов в твоем портфолио?
— 0 😬

Давай подумаем, сколько pet-проектов ты довел до конца? Речь совсем не о тех, что дают на курсах. Такие есть у всех, и сделаны они в основном по шаблонам.

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

Python - учим и работами
🔥3
Сегодня продолжаем делиться задачами с Python-батла🐍

— Эй, Брэйн, чем мы будем заниматься сегодня вечером?
— Тем же, чем и всегда, Пинки, порешаем задачки по Python.

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

Пример: Для графа с рёбрами (1, 2), (2, 3), (3, 4) ответ будет True.

Python - учим и работами
👍3🔥1
За сколько дней ты станешь программистом

— Сколько учиться, чтобы с нуля стать разработчиком?
— Смотря сколько тебе потребуется времени, чтобы решить 1-5 следующих задачек (смотри ниже)…

Планируете за 1-2 года освоить профессию разработчика с нуля? Закладывайте 4-5 часов в день, 312 дней в году… Считаем, что 1 выходной в неделю нужен для отдыха, чтобы не выгореть. При условии, что у вас будет трек обучения (набор курсов, занятия с наставником).

Так как я занимаюсь менторством, то тут расскажу чуть подробнее, что можно ожидать от работы с ментором. Ориентируйтесь на 1-2 встречи в неделю. Советую проводить встречу в следующем формате:
1. Разбор задачи, которую выполнял менти.
2. Определение тем для обучения (оценивается наставником в зависимости от скорости обучения)
3. Обсуждение новой задачи или усложнение текущей, чтобы отработать новые темы.


Задача 5: Наибольшая общая подпоследовательность (LCS)
Описание
: Напишите функцию, которая принимает две строки и возвращает длину их наибольшей общей подпоследовательности.

Пример: Для строк "ABCBDAB" и "BDCAB" ответ будет "BCAB" с длиной 4

P.S.:Решение задачи опубликуем завтра вечером

Python - учим и работами
👍6🔥1
Все невозможное возможно?

— Вы дали один день на тестовое задание! Это просто нереально...
— Тогда почему другие уже прислали решение?

Сколько раз за эти выходные читал я подобные сообщения...Из 18 финалистов только 10 нашли 3 часа на выполнение последнего задания.

Последние два дня моя команда проверяла работы, которые прислали финалисты Python-разборки. И вот они, долгожданные результаты.

Представляем 5 победителей:

1. 𝕯𝖆𝖌𝖊𝖗𝕱𝖎𝖑𝖉 (@DagerFild) — 91 балл
2. Arthur (@artrka) — 75 баллов
3. Igor (@waspsl) — 74 балла
4. Codin’ At night (@Maloys) — 59 баллов
5. Petr Andreev (@petro2561) — 57 баллов

Ждите, в ближайшее время я приду за вами 😈

Почитать разбор решений, посмотреть баллы других участников можно в этом файле: https://docs.google.com/spreadsheets/d/1f_Pox8u_VAEJgpI9A9fiKLBDffe85dk-DEBpDHclf1U/edit?usp=sharing

Python - учим и работами
🔥7👍3
Как спасти проект от провала

— Дай, пожалуйста, обратную связь по структуре и коду проекта, — обратился знакомый стажер.
— А что делает этот код?
— Ну…была задача сделать бот-опросник.

Когда бывшему студенту дают подобную задачку, он берет и, не задумываясь, делает. Я сам так поступал раньше:)

Если это моя идея, во время разработки в моей голове появляются с десяток фич для проекта, которые я постепенно внедряю.

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

Чтобы старания не оказались напрасными, советую придерживаться простого алгоритма:
1. Расписать требования (ФТ/НФТ) (список того что должно происходить)
2. Отрисовать структуру БД (какие таблицы, какие поля должны быть)
3. Определить, какие сервисы будут (стикерами, например: "пользователь" - "клиент (фронт в браузере)" - бек сервер - база данных и т.д.)
4. Выяснить, какие запросы будут (например от "пользователь" к фронту в браузере или фронта к беку)
5. Переходить к разработке.

Если сложно с требованиями, то можете использовать GPT-4. Опишите ему ваш проект. Попросите разработать, например, 30 требований. Составьте из них список тех, что нужны вам.

Для создания требований попробуйте бот @gpt_ihelper_bot. Он подключен к gpt-4 (делал для своей команды).

Python - учим и работами
🔥4👍1
Как понять, что перед нами говнокод

— Как мне повысить качество своего кода?
— Начни использовать линтеры - за говнокод получишь по рукам мгновенно и бесплатно.

Считаете, что промышленный код можно научится писать только при работе в крупной компании? Это верно лишь частично - среди пет-проектов и фриланса редко встретишь большие проекты.

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

Начните использовать линтеры и mypy. Просто возьмите за привычку перед каждым коммитом и разработкой новой фичи запустить линтер и mypy. Можно использовать инструмент pre-commit, который не даст вам создать коммит, пока не поправите ошибки.

Для линтеров предлагаю начать с pylint, а с него перейти на самый строгий линтер wemake-python-styleguide.

Выбираю тематики для написания постов, нужна ваша помощь:
👍 - пост понравился
🤔 - не зашел

Python - учим и работами
👍11
Почему рынку не нужны нынешние джуны?

— Выучил Python, но на работу не берут. Что делать?
— Сможешь ли ты, используя текущие знания, решать бизнес-задачи? Посмотри, на решение каких задач нанимают разработчика, и научись их решать.

Как понять, чему нужно научиться, и какие pet-проекты делать?

Этот вопрос решается в несколько шагов:
1. Открываем hh.ru.
2. Находим вакансии, где требуется junior/middle Python-разработчик, и смотрим раздел "Обязанности".
3. Берем 4-5 похожих вакансий.
4. Придумываем проект, в рамках которого будете делать все, что сказано в разделах "Обязанности" у выбранных вакансий. С этим пунктом может помочь бот GPT https://news.1rj.ru/str/gpt_ihelper_bot.
5. Стек технологий для pet-проекта берем из тех же вакансий из раздела "Ожидаем от вас".
6. Делать в одиночку будете долго, возьмите напарника — заодно отработаете навык командной работы. В комментариях к посту можно предлагать идеи и собирать команду; ставьте лайк идеям, в которых хотели бы поучаствовать.
7. Разрабатываем проект. Как разрабатывать, рассказывал вот тут: https://news.1rj.ru/str/forkway_python/38.
8. Результат включаем в резюме. Как правильно вставить в резюме, поможет тот же GPT-бот https://news.1rj.ru/str/gpt_ihelper_bot.
9. Сохраните пост, чтобы не потерять.

Выбираю тематики для написания постов, нужна ваша помощь:
👍 - пост понравился
🤔 - не зашел

Python - учим и работами
👍9