Обложка: Как найти новые идеи для проектов, когда вдохновение закончилось

Как найти новые идеи для проектов, когда вдохновение закончилось

Максим Кузнецов
Максим Кузнецов

Senior Python Developer в Akvelon

Как мне известно из личной практики и практики коллег, часто после 8 часов кодинга на работе приходит мысль «А что бы я хотел написать такое, для души, да ещё бы и на чём-нибудь новеньком». Но явной идеи как всегда нет. Сегодня я хотел бы представить вам несколько способов, как можно побороть кризис идей и лишний раз размять мозги и пальцы.

Небольшой дисклеймер: я прекрасно знаю о существовании аналогов и готовых решений, и всё это напоминает производство велосипедов, поэтому попрошу вместо «Да есть же Х, зачем что-то писать» напишите, какой есть ещё вариант изучать новые языки и технологии без курения мануалов и решения вырожденных задач из учебника.

Шаг первый — выбираем технологии

Первое — нужно определиться с технологиями и стеком. Хотя бы выбрать язык, на котором будем писать: свой основной или что-то новое?

Тут всё просто, открываем рейтинг языков или любой список технологий, может даже сможем вспомнить пару названий самостоятельно.

Язык выбрали, вспомним про awesome curated lists. Гуглим, например, awesome python, находим ссылку на гитхаб. В этом списке обычно описаны библиотеки, разбитые на категории + крупные проекты, написанные на этом языке.

Шаг второй — ищем идеи

Поиск идей я начинаю с просмотра трендов по гитхабу за сутки, неделю, месяц. Это даст нам понимание, что сейчас разрабатывают на том или ином языке, после можно подобрать себе проект из существующих и контрибьютить туда, но такой вариант подходит не всем.

Выберём другой вариант: выпишем понравившийся проект, дальше можно попробовать скопировать часть его функционала или даже реализовать свою версию.

Если часто приходится создавать проекты, можно сделать шаблонизатор проектов. Вариантов много, начиная от утилиты, которой скармливается yml-файл с параметрами. Можно в сыром виде отдать структуру проекта.

Чем хорош специалист в любом направлении деятельности? А кроме опыта? Верно, своими инструментами. Идея простая: написать свой toolbox, в который сложить все основные инструменты, какие только придут в голову, от простого конвертёра валют до сложных CLI утилит.

Смысл в том, чтобы объединить множество инструментов под единообразный вызов. Например, toolbox -c weather или toolbox -c ssh —comand rm -rf * —host SECRET_HOST —port 1234. Надеюсь, идея понятная. Также можно заложить множество различных фич, например, создание отложенных и «бесконечных» задач с обращением из консоли только за статусом, припилить alias’ы для очень длинных команд. Как можно заметить, идеи приходят в голову, пока я пишу этот текст.

Интересные варианты можете написать в комментариях. Я надеюсь, что мы сможем выкатить какой-нибудь community-driven репозиторий с разработками.

К комментариям