Открываю обещанный цикл статей по следам заседания "Клуба анонимных Java-девелоперов" на jeeconf. Пока мне видится такой себе FAQ, по темам, которые всплыли уже надцатый раз и получили конкретные законченные ответы.
Итак, вопрос первый
Скучный проект не позволяет применять и развивать навыки программирования. А хочется роста, как быть?
Здесь необходимо чуть-чуть выйти за рамки ситуации попробовать найти корень проблемы. Я вижу только два варианта, почему проект "скучный"
Точечные задачи, требующие точечных решений
Здесь действительно на каком-то этапе становиться не интересно. В случае, если этих задач очень много, то можно хорошо прокачивать скилы автоматизации и оптимизации рутинных процессов. Разумеется это полумера, потому что в этом случае очень скоро все будет автоматизировано и оптимизировано и задач станет мало, а может быть не станет вовсе.
В результате все равно наступает момент, когда цели становятся слишком мелки и достигаются слишком просто. Варианта всего два
Legacy-проект, устаревшие технологии и жесткие ограничения на изменения
Этот вариант встречается в 80% случаев. И в этом случае скука, лишь следствие непонимания сути задачи. Дело в том, что любую проблему можно решать творчески, в любой задаче всегда есть интересное зерно: рутинные, повторяющиеся задачи можно автоматизировать; плохой и медленный код рефакторить; сложный и дремучий копипаст превратить в стройную и логичную структуру классов сохранив публичный API без изменений. В данном случае важно понять, какую именно проблему необходимо решить, зачем и почему выставлен именно такой баг и как наиболее правильно решить проблему. Ключевые слова решить проблему, не исправить баг, не переписать код, не изменить архитектуру - нет, решить проблему. Решение проблем и есть те самые инженерные навыки, которые стоит в себе развивать, но об этом будет отдельный пост.
Краткое резюме
Не бывает скучных проектов, есть люди которые скучно решают поставленные задачи. И скучно смотрят на мир, между прочим, что гораздо серьезнее. Проекты, задачи, технологии - всего лишь инструмент, скучным или веселым, полезным или бесполезным, качественным и бракованным этот инструмент делают люди.