Какими задачами не хочешь заниматься на проекте?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Задачи, которыми я не хочу заниматься
Честность о своих предпочтениях - это не слабость, а профессионализм. Лучше сказать заранее, чем делать плохо потом.
1. Copy-paste код без понимания
Что это:
# ❌ Копирую со Stack Overflow
result = [x for x in data if condition]
# Не понимаю, почему это работает
# Или копирую большой блок с сайта
complex_algorithm = # "скопировано отсюда-то"
# Не тестирую, не проверяю
Почему я не хочу:
- Production code должен быть понимаем
- Никто не сможет его поддерживать
- Появятся баги, которые невозможно исправить
- Техдолг растет экспоненциально
- Я не учусь
Что я вместо этого делаю:
# ✓ Читаю и понимаю
# ✓ Пишу свой вариант
# ✓ Документирую
# ✓ Тестирую
# ✓ Объясняю команде
2. Писать код без тестов
Что это:
# ❌ Пишу функцию, не пишу тесты
def complex_calculation(a, b, c):
# 50 строк логики
# Никто не знает, работает ли это
result = a + b * c - (a / b) if b != 0 else 0
return result
# Попадает в production
# Ломается через месяц
# Никто не может исправить
Почему я не хочу:
- Код без тестов = код без гарантий
- Рефакторинг становится опасным
- Баги попадают в production
- Потом теряю дни на отладку
Что я вместо этого делаю:
# ✓ Пишу тесты первыми (TDD)
# ✓ Все ветки кода покрыты тестами
# ✓ Используо pytest и fixtures
# ✓ Интеграционные тесты для critical paths
@pytest.mark.parametrize('a,b,c,expected', [
(1, 2, 3, 7), # 1 + 2*3 = 7
(2, 0, 5, 2), # 2 + 0*5 - division by 0 = 2
(-1, 1, 1, -1), # -1 + 1*1 - 1 = -1
])
def test_complex_calculation(a, b, c, expected):
assert complex_calculation(a, b, c) == expected
3. Работать с устаревшей архитектурой без плана
Что это:
# ❌ Код из 2015 года
# - Монолитный Django
# - Вся логика в views
# - Никаких тестов
# - Спагетти из импортов
# - Никакой документации
# "Сделай это работать быстрей"
# Но нет plана как
# Просто добавить "оптимизации"
Почему я не хочу:
- Без плана = еще больший chaos
- Рефакторинг без тестов = опасно
- Быстро → потом медленнее
- Выгорание из-за frustration
Что я вместо этого делаю:
# ✓ Предлагаю план:
# 1. Написать тесты для существующей логики
# 2. Выявить bottleneck (измерить)
# 3. Incrementally рефакторить
# 4. Мониторить улучшения
# ✓ Обсуждаю timeline
# ✓ Документирую решения
# ✓ Обучаю команду лучшим практикам
4. Спешка и срезание углов
Что это:
# ❌ "Нам нужно вчера"
# - Дедлайн завтра
# - Требуют 100 фич
# - Говорят "сделаем потом лучше"
# - На самом деле - никогда не сделают
# Результат:
# - Плохой код
# - Баги
# - Техдолг
# - Выгорание
Почему я не хочу:
# Research shows:
# Sprint 1-2: Быстро (нарезаны углы)
# Sprint 3-4: Медленнее (техдолг)
# Sprint 5+: Очень медленно (система ломается)
# Month 6+: Переписываем все заново
# VS
# Sprint 1-2: Медленнее (делаем правильно)
# Sprint 3-4: Нормально
# Sprint 5+: Быстро (экспоненциальный рост)
# Year 2: Успешно масштабируем
Что я вместо этого делаю:
# ✓ Negotiating realistic timelines
# ✓ Объясняю long-term benefits качества
# ✓ Предлагаю MVP с core features
# ✓ Plan для tech improvements
def estimate_task(complexity):
estimates = {
"simple": 3, # hours
"medium": 8,
"complex": 21,
"with_tech_debt": 55, # Почти в 3x дольше!
}
return estimates.get(complexity, 21)
5. Работать с неопределенностью без уточнений
Что это:
# ❌ "Сделай это как-то"
# Никаких требований
# Никаких критериев успеха
# Потом: "Это не то!"
# "Сделай API для работы с данными"
# - Какие данные?
# - Какой формат?
# - Какая производительность?
# - Какая безопасность?
# - Какой масштаб?
Почему я не хочу:
- Можно потратить недели впустую
- Требования поменяются по дороге
- Переделаю всё заново
- Конфликты и frustration
Что я вместо этого делаю:
# ✓ Задаю уточняющие вопросы
# ✓ Пишу requirements на бумаге
# ✓ Обсуждаю acceptance criteria
# ✓ Предлагаю prototypes
class RequirementsClarification:
def ask(self):
questions = [
"Какие data sources?",
"Какой объем данных ожидаем?",
"Какая latency требуется?",
"Сколько concurrent users?",
"Какие edge cases?",
"Как определим успех?"
]
return questions
6. Быть микроменеджментом и работать без доверия
Что это:
# ❌ Manager требует отчеты каждый час
# ❌ Каждое решение нужно approve
# ❌ Недоверие - "как я знаю, что ты работаешь?"
# ❌ Боюсь предлагать идеи
# Результат:
# - Никакой инициативы
# - Нет смысла в работе
# - Выгорание
Почему я не хочу:
- Я professional, мне нужна автономия
- Доверие повышает мотивацию
- Без оно я выгораю за 6 месяцев
- Лучше найти place с доверием
Что я вместо этого делаю:
# ✓ Предлагаю прозрачность
# ✓ Regular updates (не микро-отчеты)
# ✓ Open-door policy
# ✓ Ожидаю того же доверия
class HealthyTeamDynamics:
manager_approach = {
"Sets goals": "Clear direction",
"Trusts process": "Doesn't micromanage",
"Removes blockers": "Supports decision",
"Listens": "Values input",
}
7. Быть на вызов 24/7 без compensation
Что это:
# ❌ "На случай emergency" звони в 3 ночи
# ❌ Выходные? Нет, могут позвать
# ❌ Зарплата не включает oncall
# ❌ Это "нормально для нашей industry"
Почему я не хочу:
- Это неустойчиво
- Нет personal life
- Выгорание гарантирован
- Sleep deprivation = плохие решения
Что я вместо этого делаю:
# ✓ Согласиться на oncall с компенсацией
# ✓ Rotation schedule (не я один на всех)
# ✓ SLA - максимум 15 минут response
# ✓ Tooling для автоматизации incident response
class OnCall:
def requirements(self):
return {
"Compensation": "+30% salary during oncall week",
"Rotation": "Каждый third week",
"Automation": "Automatic alerting and rollback",
"Sleep": "Первый hours можно спать"
}
8. Работать с токсичной командой
Что это:
# ❌ Люди ругаются в комментариях кода
# ❌ Никого не уважают
# ❌ Кредит берут, вину переносят
# ❌ Никакого teamwork
# ❌ Политика вместо компетенции
Почему я не хочу:
- Work environment влияет на quality of code
- Невозможно быть productive
- Здоровье и психика страдают
- Уеду максимум за 3 месяца
Что я ищу вместо этого:
# ✓ Respectful communication
# ✓ Collaborative problem solving
# ✓ Shared ownership
# ✓ Growth mindset
# ✓ Psychological safety
# Признаки здоровой команды:
# - Люди говорят правду
# - Ошибки = learning, не punishment
# - Помогают друг другу
# - Гордятся работой вместе
Краткая сумма
i_dont_want = [
"Copy-paste code",
"Code without tests",
"Legacy code without plan",
"Rushing and cutting corners",
"Vague requirements",
"Micromanagement",
"24/7 oncall without compensation",
"Toxic teams",
]
i_want_instead = [
"Understood, quality code",
"Well-tested solutions",
"Structured refactoring",
"Sustainable pace",
"Clear requirements",
"Trust and autonomy",
"Fair on-call rotation",
"Healthy, collaborative teams",
]
Как я коммуницирую это
На интервью:
# ✓ Честно отвечу на вопрос о preferences
# ✓ Объясню почему
# ✓ Не буду звучать требовательно
# ✓ Дам примеры из опыта
# ✓ Спрошу, как это выглядит в их компании
"I've learned that I work best when I understand the requirements,
can write proper tests, and have trust to make technical decisions.
Can you tell me how your team approaches these?"
В работе:
# ✓ Буду проактивным
# ✓ Предложу улучшения
# ✓ Помогу команде лучше работать
# ✓ Но буду честен, если что-то не работает
Вывод: Я не говорю "я не хочу делать" в духе капризности. Я говорю это из опыта - эти задачи приводят к плохим результатам. Лучше сказать заранее и найти alignment, чем страдать и писать плохой код.