Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Какие задачи не нравятся
Это хороший вопрос для самопознания. За 10+ лет разработки я выработал чёткое понимание, какие задачи мне не нравятся и почему. Это помогает мне выбирать подходящие проекты и расти как специалист.
1. Поддержка legacy кода без тестов и документации
Мне не нравятся проекты, где:
- Нет тестов, а код давно написан
- Непонятна бизнес-логика
- Документация не существует
- Любое изменение ломает что-то в других местах
# Пример legacy кода
def process_data(d):
x = d[0] if d else None
if x and x > 10:
r = [i*2 for i in d if i < x]
return sum(r) if len(r) > 0 else 0
return -1
# Вопросы:
# - Что это делает?
# - Почему возвращает -1?
# - Какой смысл условия < x?
Почему не нравится: это мозговой телепатия. Нужно недели угадывать намерения предыдущего разработчика. Вместо этого я предпочитаю работать с кодом, где логика ясна.
2. Бесконечные встречи и микроменеджмент
Если работа сводится к:
- Ежечасным статус-встречам
- Обоснованию каждого решения
- Отсутствию доверия и автономии
Почему не нравится: это убивает фокус и творческое мышление. Я продуктивнее работаю, когда доверяют и давят только на результаты.
3. Работа с нечитаемым, запутанным кодом
# Пример паттерна, который раздражает
result = (
some_func(
complex_calc(
data.transform().map(lambda x: process(x))
if condition else alternate_process(data)
)
for x in items
if x.valid and (x.type == "A" or x.type == "B")
)
)
Это сложнее чем нужно. Я предпочитаю читаемость и понятность.
4. "Костыли" вместо системных решений
Мне не нравится, когда вместо решения проблемы:
- Добавляют параметры в функции
- Создают специальные случаи
- Дублируют код для обхода проблемы
# Плохо
def get_user(user_id, special_case=False, legacy_format=False,
include_metadata=False, skip_cache=False):
# 100 строк условной логики
if special_case:
# ...
if legacy_format:
# ...
Почему не нравится: это привычка убегать от проблем. Я люблю рефакторить и находить системные решения.
5. Задачи без ясных требований
Когда:
- Требования расплывчатые
- Критерии приёмки неясны
- Постоянно меняются ожидания
- Нет обратной связи
Почему не нравится: это leads в цикл бесконечной переделки. Я предпочитаю работать с ясными, измеримыми целями.
6. Работа в неправильном стеке технологий
Если задача явно требует одного, а используется другое:
- Использование Python для real-time систем
- NumPy вместо Pandas для табличных данных
- Синхронный код для I/O операций
Почему не нравится: это боль. Мне нравится работать с правильными инструментами для работы.
7. Полное отсутствие автоматизации
Когда проект:
- Нет CI/CD
- Тесты запускаются вручную
- Деплой — это ручной процесс
- Нет мониторинга
Почему не нравится: это замораживает развитие. Сложно что-то менять без страха что-то сломать.
Что мне нравится
Вместо этого я люблю работать над:
- Чистым кодом: понятным, типизированным, покрытым тестами
- Интересными задачами: где есть реальная сложность и возможность роста
- Стабильными системами: где ты видишь результат своих улучшений
- Автономией: когда доверяют и оценивают результаты
- Правильным стеком: где инструменты подходят для проблемы
Как я подхожу к этому
Я стараюсь:
- Выбирать проекты заранее, понимая культуру и требования
- Если попадаю в сложную ситуацию, предлагаю улучшения, а не жалуюсь
- Работаю над skill development и заполнением пробелов
- Помогаю команде улучшить процессы (тесты, документация, автоматизация)
В целом, я избегаю ситуаций, где нет возможности расти и делать качественную работу.