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

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

Для лидов и тех, кто туда идёт.
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Когда важен кругозор

— Бек сделаем на питон, а фронт на джава, – поделился своими планами знакомый, который хотел открыть стартап.
— Чем отличается Java от JavaScript?
🤔

Разбавлять контент юмором из ИТ?
👍 - да
🤔 - такое себе…

Python - учим и работаем
👍19🤔4😁2
Достаем двойные листочки!

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

Задача: Написать класс для однонаправленного списка в Python без использования стандартных структур данных (например, list, dict и т.д.).

Требуемые методы:
get(index): возвращает элемент на заданном индексе
add(value): добавляет в конец списка элемент с заданным значением
remove(index): удаляет элемент на заданном индексе

Попробуйте решить тут https://replit.com/@AlexeyNekrasov/PiterPy#main.py
По ссылке доступна заготовка нужного класса и тесты к решению.

Переходим, форкаем и решаем! Ссылку на реплит с решением выкладывайте в комментариях.

А для тех, кто сегодня участвует в конференции PiterPy, мы с @mtsai начисляем +5 баллов за правильное решение. Баллы можно обменять на крутой мерч. Торопись!

Решишь задачку?
👍 - да
🤔 - у меня есть 1000 причин не решать

Python - учим и работаем
👍9🤔4
Как съесть слона и почему это поможет закончить онлайн-курс

— Ого, ты купил курс, хочешь войти в IT?
— Да, менеджер сказал, что уже в январе смогу поменять профессию и стать востребованным айтишником.
— Но до января остались 3 недели!
— Ничего, я успею…

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

Проходит неделя, другая, месяц. А вы так и не становитесь айтишником за 3 дня. Трек пройден всего на 5%, а конечная цель уже не мотивирует, как раньше. Что делать?

Когда внешняя мотивация истощается, приходится искать внутреннюю. На помощь приходит метод слона, а точнее его поедания:

1️⃣ Разбейте весь курс на небольшие временные отрезки. Так будет проще усваивать материал, а трек не будет казаться чем-то огромным.

2️⃣ Получайте кайф от обучения. Если что-то не нравится – меняем. Это важно для поддержания интереса.

3️⃣ Делаем обучение частью повседневной жизни. Составляем график, чтобы заниматься постоянно.

4️⃣ Находим наставника или сообщество единомышленников. Они будут мотивировать и напоминать о необходимости двигаться вперед.

А что помогло вам не бросить онлайн-курсы на полпути? Поделитесь в комментариях.

Соскучились по постам?
👍 - да
🤔 - «что я тут забыл?»

Python - учим и работаем
👍13
Курица и яйцо в программировании: сначала писать, а потом читать, или наоборот?

— Сначала надо научиться писать или стоит побольше анализировать чужой код?
— Советую делать это параллельно.
— Разве так 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 - учим и работаем
👍3
Знать != владеть

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

Важно разделять категории навыков: знаю, умею, владею.
> Знать — понимать в теории, уметь воспроизводить и объяснять материал.
> Уметь — решать типовые задачи за счет стандартных алгоритмов решения. Задачи могут быть взяты из курсов, учебников или интернета. Решая эти задачи, ты начинаешь понимать, как применять теоретические знания на практике.
> Владеть — решать усложненные задачи в нетипичных ситуациях и уметь передать этот опыт. Тут нужно ставить себя в новые, более сложные и нестандартные условия, например, работать над проектами с неопределенными требованиями, участвовать в хакатонах или брать задачи, выходящие за рамки твоих текущих знаний.

При построении индивидуального плана развития (ИПР/PDP) закладывайте не только "Изучить" тот или иной навык, но также время на практику и пет-проекты (чтобы не просто знать, но и уметь).

Хорошая вводная статья по этой теме: Все идет по плану: как составить PDP и прокачать карьеру (кому нужен, как составить, как оценить прогресс)

Уже строили себе план развития?
👍 - да
🤔 - жду от руководителя

Python - учим и работаем
👍8
От "не знаю, что не знаю" к эксперту: Путь через 4 стадии

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

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

Каждая стадия важна для достижения мастерства и помогает определить путь для роста.

Мой опыт показывает, что особенно сложным может оказаться этап осознанной некомпетентности, когда вы начинаете понимать огромное количество областей и инструментов, с которыми ещё не сталкивались. Здесь на помощь приходит Cloud Native Landscape.

Cloud Native Landscape — это каталог инструментов и ресурсов, организованный по категориям. Он включает, такие категории: как базы данных, CI/CD инструменты для разработки и многое другое. Для начинающих разработчиков, исследование этого каталога хорошая отправная точка для изучения новых инструментов и понимания текущих трендов.

Какой этап для вас самый вызывающий в вашем обучении? Поделитесь в комментариях.

Python - учим и работаем
👍3
Превратите чтение в суперсилу

— Я никогда не изучу полностью весь список из избранного в telegram. Как ты справляешься с потоком информации?
— Беру суть и даю ей отлежаться в буферном канале

Для разработчиков жизненно важно не только отбирать полезные данные, но и эффективно их применять.

Я для себя скрестил метод активного чтения с системой управления знаниями (KMS), и создал "буферный канал" в Телеграме. Это позволяет мне сохранять ключевые идеи и позже интегрировать их в свою работу, делая каждый прочитанный материал шагом к профессиональному развитию.

Алгоритм преобразования чтения в инструмент развития:
1. Прочтение материала.
2. Запись ключевых моментов в канал (желательно собственными словами).
3. Еженедельная обработка собранной информации для поиска применений.
4. Удаление обработанного контента из канала.

Какие методы и инструменты помогают вам превратить чтение из хобби в инструмент профессионального роста?

Тоже сохраняете всё в избранное в телеграм?
👍 - ага
🤔 - в чатик с самим собой

Python - учим и работаем
👍4🤔4
Максимизируйте пользу от IT-мероприятий: Практический гид

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

Участие в конференциях и митапах предоставляет не только знания, но и возможности для развития вашего окружения и прокачки 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 - учим и работаем
👍4🤔4
Как удвоить вашу продуктивность в разработке, не увеличивая рабочие часы

— Ты всё ещё пишешь код без комментариев?
— Ага, это же просто MVP.

В мире разработки существует заблуждение, что время, затраченное на оформление и документирование кода, - это потерянное время. Многие из нас используют отговорки вроде "код самодокументируемый" или "это всего лишь MVP/прототип", чтобы избежать этой работы. Но давайте взглянем на реальность: разработчики проводят до 80% своего времени, читая и пытаясь понять существующий код, а не написание нового. Это означает, что качество и читаемость кода напрямую влияют на нашу продуктивность.

Если мы начнем уделять больше внимания чистоте и понятности нашего кода, мы можем существенно сократить время на его понимание и улучшение. Представьте, если бы мы могли уменьшить время, проведенное за чтением кода, с 80% до 60-70%. Это автоматически освободит дополнительные 10-20% времени на написание нового кода. По сути, мы можем почти удвоить нашу продуктивность, не увеличивая рабочие часы.

Какие практики написания кода помогают вам сохранять продуктивность и облегчать понимание кода для вас и ваших коллег?

У меня в колекции для решении этой проблемы есть линтер wemake-python-styleguide, который подсвечивает подобные проблемы в коде.
Работали с таким?
👍 – да
🤔 – ещё не пробовал

Python - учим и работаем
👍5🤔3
Почему остановка в обучении — это самая дорогая "экономия" для джуна

— Будет ли индексация ЗП?
— После индексации производительности.

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

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

А вот если вы миддл и выше, то как пишет автор статьи на habr Обязан ли разработчик развиваться? вы можете уже выдохнуть, но я бы не советовал😉

Какие методы или ресурсы помогли вам преодолеть профессиональные вызовы и сделать значимый шаг в карьере?

Ещё не перегорели от ИТ?
👍 – держусь
🤔 – есть признаки🔥

Python - учим и работаем
👍5🔥1🤔1
Рост разработчика: как не продать себя дешево

— Надо было покупать акции раньше, теперь они слишком дорогие.
— Похоже на синдром упущенной выгоды.

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

В статье на Habr я подготовил план разработки стратегии роста внутри компании и обзор зон, где вы можете расти: Как расти разработчику внутри компании?

Ваш час стал дороже в этом году? А его ценность увеличилась?
👍 — да
🤔 — стоит задуматься…

Python - учим и работаем
🤔5👍4
А что, так можно было?

— Не сдал, на пересдачу. Почему на семинарах не задавал вопросы, если не понял тему? - спросил преподаватель.
— Не знаю, - ответил я с мыслью «не хотел показаться идиотом»

Ввожу рубрику «Вопрос - ответ»

Если у вас есть вопросы по python, карьерному росту или любой другой теме, пишите мне в личку @znbiz.

Ответы на интересные вопросы буду публиковать в канале.

Python - учим и работаем
3
Сейчас быстро сделаю, или как просидеть все выходные за компьютером

— Тут работы на пару спринтов.
— Что там делать так долго? Нужно всего лишь создать пару моделей и сделать для них CRUD, с использованием библиотеки FastAPI-JSONAPI займет пару вечеров.

Так начались мои выходные, на которых я последний раз писал код.

Это рубрика #ответы на вопросы
Как выглядит процесс разработки у меня?
На моей позиции архитектора до кода уже руки не доходят. Основная задача — разработка и продумывание архитектуры для продуктов, которые вышли из стадии MVP. Для них бизнес выдвигает ряд требований: функциональных и не функциональных, а я начинаю строить итеративно архитектуру и проверять как её воплотили в жизнь разработчики.

По вечерам и выходным для себя делаю pet проекты, где пишу код с нуля. Стараюсь находить время на конференции.

Часто по выходным кодите?
🔥 — постоянно

Вопросы можете задавать мне в личку @znbiz
🔥6🤯1
Два разработчика проходят собеседование

— Расскажи последний успешный опыт интеграции с каким-либо инструментом, – спрашиваю кандидата.

Первый кандидат:
— Передо мной стояла задача внедрить kafka, чтобы передавать уведомления пользователям. Я сделал это с помощью библиотеки kafka-python, – ответил первый кандидат.

Второй кандидат:
— После объявления Асаны об уходе из России встала задача переезда с неё на что-то другое. Был выбран weeek, но в нем отсутствовало часть функционала: формы для создания тасков и возможность отправки файла по api. Я подключил формы yandex через n8n, чтобы их могли подключать менеджеры и реализовал интеграцию S3 для работы с файлами. Удалось быстро и без потерь функционала сменить платформу управления проектами, – ответил второй кандидат.


Оба кандидата успешно сделали интеграцию.
Но кого все-таки взять? 🤔 Давайте разбираться.

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

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

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

А вы кого бы взяли на работу?
1 - 👌
2 - 👍
Пишите в комментариях
👍8👌7
И швец, и жнец, и на дуде игрец, другими словами фулстек-разработчик

— Часто ли джун python back-разработчик взаимодействует с frontend частью? Нужно ли параллельно с python изучать JavaScript? – спросили меня.
— В начале пути я бы не советовал.

Это рубрика #ответы_на_вопросы.

Я придерживаюсь подхода Т-shaped. Вначале пути нужно:
1. Выбрать какое направлениеe интересно: фронт, бек или ML, возможно у вас список шире.
2. Определить язык программирования.
Например, если направление выбрано бек, то выбираем один из языков: python, java, go и т.д.
3. Прорабатываем план обучения: основы языка, фреймворки, необходимые инструменты (БД, докер, редакторы и т.д.).

После вы обучаетесь, трудоустраивайтесь, растете как специалист год-полтора. Цель – стать сильным джуном.

Только после того, как вы стали сильным джуном+, можете начать изучать новое направление/язык - это будет дольше по времени, но и ценность бизнесу вы принесете больше.

Расскажите про ваш путь? С чего начинали?

Вопросы можете задавать мне в личку @znbiz
Python - учим и работаем
🔥52
Привет! Мы с командой создали продукт Forkway Lift. В нём собрали лучших экспертов и HR-специалистов из компаний, таких как Сбер, Яндекс, МТС. Мы создали продукт, который помогает получить оффер с зарплатой в 2-4 раза выше текущей всего за один-два месяца.

У нас три тарифа: 40к, 60к и 100к, которые покрывают работу специалистов. Продукт зарабатывает процент от увеличения вашей зарплаты – это наша мотивация.

Главное условие: вы python разработчик с 1-2 года опыта коммерческой разработки.

Напишите мне (@znbiz) сегодня в личку и получите 30% скидку на любой тариф.

Можем созвониться, и я расскажу про продукт. Первые 3 дня поработаем бесплатно, чтобы вы поняли, подходит ли вам это.
🔥3👍21
📈Против рынка не попрёшь.

— Осталось пару модулей в курсе, и устроюсь на работу Python-разработчиком!
— Соболезную.

В HH на текущий момент количество вакансий, так или иначе связанных с Python и не требующих опыта, составляет 93 штуки. Откинем ошибочные вакансии, у которых зарплата больше 105к ₽ — их 29, и у нас остаётся 64 вакансии. Не впечатляет...

А вот количество резюме Python-программистов без опыта — 2364 резюме. Другими словами, 36 резюме на одну вакансию 🤯. Это те, кто уже так или иначе прошли оставшиеся модули в своих курсах.

Что в итоге: устроиться с нулевым опытом практически невозможно из-за большой конкуренции, которая падает до 4 резюме на вакансию, если у вас коммерческого опыта 1–3 года.

Как планируете пробиваться к своему месту под солнцем? Давайте в комментариях поштурмим разные варианты.
😱3
Как джун увеличил доход в 3,6 раза за 35 дней

— С твоими навыками в Москве ты бы получал тысяч 200. Не думал переехать?
— Кому я там нужен.

Около двух месяцев назад я проводил созвон с джуном, который получал 50 тысяч в месяц. Его зовут Вадим, он из Новосибирска.

Вадим работал в небольшой местной компании, которая продавала мебель. У него год опыта после просмотров курсов с торрента от какой-то онлайн-школы. В окружении сильных разработчиков нет, он «лидирует» бэкенд в своей компании. Софты так себе. Но когда начали разговаривать про деньги, я увидел мощное желание что-то менять.

Тогда я предложил ему эксперимент.
— Если я помогу тебе получить оффер на 150 тыс. чистыми, готов переехать?
— Готов, только скажи, что делать!

Первое, что я сказал сделать Вадиму, это купить камеру и все наши встречи проводить с ней, так как он был из тех, кто считал, что разработчик - это только про хард скиллы. 

Я пригласил знакомых рекрутеров на встречу с Вадимом. Вместе с ними мы обновили его резюме и провели несколько мок HR-скринингов, чтобы он понял, как правильно общаться с HR. 

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

Я познакомил Вадима с тимлидами из Тинькоф, Сбера, Яндекса, которые провели с Вадимом тех.интервью, дали обратную связь и закинули рефералки в свои компании. 

— Я хочу работать с такими, как они, - писал мне Вадим. 

Спустя 35 дней интенсивной работы Вадим получил оффер от Сбера на 180 тыс. чистыми и переехал в Москву. 

Самое важное, что меняет нашу жизнь — это насмотренность и окружение. Если вы имеете высокую насмотренность в какой-то области и сильное окружение, то вы реально понимаете, что нужно делать. У вас сразу вырастет точность, появятся крутые результаты.

P.S @umbreelIa - это контакт Вадима. Он разрешил мне опубликовать историю. Если вам есть что спросить у него - пишите скорее ему в лс.
🔥6👍1