← Назад к вопросам

С какими задачами не хочешь работать

1.0 Junior🔥 121 комментариев
#Опыт и софт-скиллы

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Мой подход к выбору задач в разработке

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

1. Задачи с заведомо неэтичными целями

Я избегаю проектов, которые:

  • Нарушают конфиденциальность пользователей - сбор данных без явного согласия, скрытое слежение
  • Вводят в заблуждение - dark patterns, навязчивая реклама, подписки без четкого информирования
  • Наносят реальный вред - приложения для мошенничества, распространения дезинформации
// Пример плохой практики, которую я не поддерживаю:
fun collectSensitiveDataWithoutConsent() {
    // Сбор контактов, местоположения, фото без уведомления
    val contacts = contentResolver.query(ContactsContract.Contacts.CONTENT_URI, ...)
    val location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER)
    // Отправка на сервер без согласия пользователя
    networkService.sendData(contacts, location)
}

2. Технически необоснованные требования

Реализация без понимания архитектурных последствий - когда бизнес требует "сделать быстро", игнорируя технический долг:

  • Копипаста кода вместо создания переиспользуемых компонентов
  • Игнорирование безопасности ради скорости разработки
  • Отказ от тестирования с формулировкой "потом допишем"

3. Проекты без четкого видения

Ситуации, когда:

  • Нет Product Owner или его роль выполняют 5 разных людей с противоречивыми требованиями
  • Цели постоянно меняются без анализа последствий
  • Отсутствует roadmap развития приложения

4. Работа с устаревшими технологиями без миграции

Хотя иногда приходится поддерживать legacy код, я отказываюсь от проектов, где:

  1. Полный отказ от модернизации - использование Eclipse, антипаттернов 2010-х годов
  2. Отсутствие CI/CD - ручные сборки, прямое подключение к прод-серверам
  3. Монолитные активности по 2000+ строк кода без разделения ответственностей
// Пример legacy-кода, который требует рефакторинга, а не продолжения:
public class GodActivity extends Activity {
    // 1500 строк кода, отвечающих за UI, бизнес-логику, сетевые запросы,
    // работу с БД, анимации, обработку жестов и т.д.
    private void doEverything() {
        // Сетевой запрос
        // Обработка ответа
        // Сохранение в БД  
        // Обновление 10 разных View
        // Логирование
        // Аналитика
    }
}

5. Задачи без возможности профессионального роста

Я избегаю рутины, которая не развивает навыки:

  • Бесконечный баг-фиксинг без анализа системных причин ошибок
  • Косметические правки вместо решения архитектурных проблем
  • Работа в изоляции без code review, обмена знаниями в команде

6. Проекты с токсичной культурой разработки

Где присутствует:

  • Бич-кодинг как норма практики
  • Отсутствие документации и знания "только в головах"
  • Постоянные авралы вместо sustainable pace
  • Обвинительная коммуникация вместо конструктивного разбора ошибок

Моя альтернатива: на чем я фокусируюсь

Вместо перечисленного выше, я выбираю задачи, которые:

  1. Приносят реальную пользу пользователям
  2. Позволяют применять лучшие практики (Clean Architecture, MVVM, Kotlin Coroutines)
  3. Связаны с производительностью и безопасностью
  4. Включают рефакторинг и улучшение кодовой базы
  5. Предполагают наставничество и обмен опытом
// Пример подхода, который я применяю в работе:
class UserRepository @Inject constructor(
    private val apiService: ApiService,
    private val cache: UserCache,
    private val dispatcher: CoroutineDispatcher
) {
    suspend fun getUser(id: String): Result<User> = withContext(dispatcher) {
        // Проверка кэша
        // Сетевой запрос при необходимости
        // Обработка ошибок
        // Возврат результата
    }
}

Я верю, что осознанный выбор задач — это ответственность senior-разработчика. Отказываясь от деструктивных практик, мы не только сохраняем свою профессиональную целостность, но и способствуем развитию индустрии в целом, устанавливая более высокие стандарты качества и этики в разработке ПО для Android.

С какими задачами не хочешь работать | PrepBro