← Назад к вопросам
Каким образом совмещал основную работу с обучением?
1.0 Junior🔥 121 комментариев
#Python Core
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Совмещение основной работы с обучением
Мне удалось в течение 10+ лет карьеры постоянно расширять свои навыки, совмещая основную работу с интенсивным обучением. Поделюсь своей стратегией.
1. Выделение времени
Основной принцип — систематичность, а не количество часов.
# Недельное распределение времени
# Пн-Пт (рабочие дни):
# - 30 мин утром: читаю технические статьи
# - 1-2 часа вечером (3-4 раза в неделю): курсы, код
# Выходные:
# - 3-4 часа в субботу на pet projects
# - Воскресенье: отдых или лёгкое чтение
# Итого: ~10-15 часов в неделю на обучение
# При 40-часовой рабочей неделе — это реально
2. Интеграция обучения в работу
Лучший способ — выучить что-то новое в контексте текущего проекта.
# Пример из практики:
# В 2018 я работал на Django
# Проект требовал асинхронности
# Выбрал новую технологию: FastAPI + asyncio
# За 2 недели выучил асинхронность на практике
# Применил в production коде
# Результат: новый навык + улучшение системы
# Вместо: "Я потрачу 2 недели на изучение async"
# Лучше: "Я решу проблему async в проекте новым способом"
3. Выбор правильных источников
Не все источники одинаково полезны. Фильтрую тщательно.
# Источники, которые работают для меня:
# 1. Официальная документация (Python, FastAPI, etc)
# Время: 1-2 часа в неделю
# ROI: высокий, актуально
# 2. GitHub: интересные открытые проекты
# Время: 2-3 часа в неделю
# ROI: очень высокий, learn from best practices
# 3. Блоги опытных разработчиков (Real Python, Auth0 blog)
# Время: 1 час в неделю
# ROI: высокий
# 4. Курсы (Coursera, Udemy, но избирательно)
# Время: 2-3 часа в неделю
# ROI: средний, зависит от курса
# 5. Конференции и выступления (YouTube)
# Время: 1-2 часа в месяц
# ROI: высокий, узнаю о трендах
# Что НЕ работает:
# - Бесконечный scrolling Twitter (waste of time)
# - Видеокурсы без практики (забываю через неделю)
# - Слишком сложные книги без контекста
4. Личные проекты
Pet projects — самый эффективный способ обучения.
# История моих pet projects:
# 2015: Телеграм бот на Python (выучил API, async)
# 2017: REST API на Flask (выучил REST, SQLAlchemy)
# 2019: FastAPI + Postgres + Docker (выучил async, devops)
# 2021: ML модель + FastAPI (выучил ML basics)
# 2023: Kubernetes deployments (выучил K8s)
# Каждый проект выбираю так:
# 1. Мне интересно
# 2. Решает реальную проблему (пусть даже мою)
# 3. Использует новую технологию
# 4. Публикую на GitHub
# Пример простого проекта, который многому научил:
class UrlShortener:
def __init__(self, db_url: str):
self.engine = create_engine(db_url)
self.Session = sessionmaker(bind=self.engine)
async def create_short_url(self, original_url: str) -> str:
# Выучил: SQLAlchemy, async patterns,
# validation, error handling
pass
# Потом добавил:
# - API (выучил FastAPI)
# - Тесты (выучил pytest)
# - Docker (выучил containerization)
# - CI/CD (выучил GitHub Actions)
5. Чтение кода других людей
Лучше, чем читать книги.
# Мой процесс:
# 1. Нашёл интересный проект на GitHub
# 2. Клонировал: git clone <repo>
# 3. Прочитал README и документацию
# 4. Изучил структуру проекта
# 5. Прочитал самые интересные файлы
# 6. Попытался понять, как это работает
# 7. Сделал свою реализацию на основе
# Проекты, которые я изучал:
# - httpx (выучил типизацию, tox, CI/CD)
# - sqlalchemy (выучил паттерны проектирования)
# - pydantic (выучил валидацию, сериализацию)
# - fastapi (выучил современный стиль кода)
6. Преподавание других
Отличный способ закрепить знания.
# История:
# 2016: Я выучил Python — но не был уверен
# Начал писать посты на Хабре
# Кто-то прочитал, задал вопрос
# Я объяснил — и сам лучше понял!
# 2019: Начал менторить junior разработчиков
# Когда объясняешь другому — сам учишься 10x быстрее
# 2021: Начал давать talks на локальных meetups
# Когда готовишь выступление — погружаешься глубоко
7. Отслеживание прогресса
Важно видеть, что ты учишься.
# Мой подход к отслеживанию:
# - Веду Notion с learned skills
# - GitHub contributions видны в graph
# - Pet projects в профиле
# - Feedback от коллег
# Пример структуры learning tracker:
class Learning:
def __init__(self, topic: str, start_date: datetime):
self.topic = topic
self.start_date = start_date
self.status = "learning" # learning, proficient, expert
self.projects = [] # projects where I used this
self.resources = [] # resources I used
def mark_as_proficient(self):
self.status = "proficient"
# 2023 example:
# FastAPI: learning -> (через 3 месяца) -> proficient
# Kubernetes: learning -> (через 6 месяцев) -> proficient
# GraphQL: learning (текущий статус)
8. Балансировка между работой и обучением
Критично избежать burnout.
# Ошибки, которые я делал в начале:
# - Учился 4+ часа в день после работы (burnout)
# - Пытался выучить всё сразу (overwhelm)
# - Брал слишком сложные проекты (frustration)
# Что работает сейчас:
# - 1-2 часа в день в будни (sustainable)
# - Выбираю 1 тему в квартал (focus)
# - Разбиваю на маленькие части (progress)
# - Беру выходные (rest is essential)
9. Инвестирование в себя
Деньги на обучение — это инвестиция.
# Мой бюджет на обучение:
# - Платные курсы: $100-200 в год
# - Книги: $200-300 в год
# - Конференции: $500-1000 в год
# - Подписки (Pluralsight, Egghead): $300/год
# Итого: ~$1500-2000 в год
# Это менее 5% от зарплаты разработчика
# ROI: очень высокий
# Проверка ROI:
# - Выучил Docker -> получил +20% к зарплате
# - Выучил K8s -> смог перейти на более высокую позицию
# - Выучил Go -> мог выбрать более интересные проекты
10. Окружение имеет значение
Делать это в одиночку сложнее.
# Что мне помогает:
# - Сообщество разработчиков (meetups, Discord)
# - Менторы (люди, которые помогают)
# - Команда на работе (peer learning)
# - Online communities (Stack Overflow, Reddit)
# Мой опыт:
# 2016: Одинокий разработчик -> сложно было
# 2017: Присоединился к сообществу -> улучшилось
# 2018: Нашёл ментора -> разработка ускорилась
# 2019+: Участвую в community -> continuous growth
Резюме стратегии
weekly_time = {
"утро_статьи": "30 мин × 5 дней",
"вечер_код": "1-2 часа × 3-4 дня",
"выходной_проект": "3-4 часа × 1 день",
"total": "10-15 часов в неделю"
}
стратегия = {
"интеграция_в_работу": "75% пользы",
"pet_projects": "20% пользы",
"теория_и_курсы": "5% пользы",
}
ключевые_факторы_успеха = [
"систематичность",
"практика_первым",
"маленькие_шаги",
"публикация_результатов",
"баланс",
"сообщество",
]
Best Practices
- Учись через практику — 80% практики, 20% теории
- Интегрируй с работой — лучший способ выучить
- Веди pet projects — кладезь знаний
- Отслеживай прогресс — видимость очень мотивирует
- Найди ментора — ускорит обучение в 2 раза
- Не учись всему сразу — выбери 1 тему в квартал
- Преподавай другим — лучший способ закрепить
- Балансируй — burnout контрпродуктивен
- Инвестируй в себя — это окупается
В итоге: за 10 лет я вырос от junior (Flask, Django) до senior (FastAPI, K8s, ML), и это возможно для каждого при правильном подходе.