Как я сделал 200+ эндпоинтов и пролетел
🚀 В самом начале В самом начале своего пути в айти я столкнулся с дилеммой, нашёл решение и прогадал. Спойлер: надо было просто больше общаться с командой и не думать за всех. Как только вник в ООП - всё, понеслось! Был в восторге!!! Воодушевлённый, начал в срочном порядке искать команду, в которую можно было бы "вписаться". Финансовый вопрос меня тогда вообще не волновал - главное было участие! К слову, на таких условиях долго искать не пришлось 😁 ⚙️ Во что я влез И вот я - на дофаминовых крыльях - влетаю в проект. Понимаю: там синхронное гXXно, написанное на FastAPI с алхимией вперемешку с чистыми SQL-запросами и без каких-либо схем для I/O. И сразу же "героически" предлагаю всё переписать. Как сейчас помню: было 600 строк кода, вернул через две недели 7000. Всё в асинхроне, со схемами, с переработанными таблицами. Но не в этом суть… 🧑💻 Моё "гениальное" решение Опыта в командной разработке — ноль. И несмотря на это, и даже осознавая это, я не задал ни одного вопроса за две недели. Не е-ди-но-го, Карл! Наставник позвонил через неделю, спросил:
- Чем занимаешься?
- Работаю.
Когда я чем то горю, я могу быть о-ооочень убедительным, поэтому на этом наш созвон прекратился.
🤦♂️ Как же я был слеп и глуп…
Моё "гениальное" решение было в том, чтобы сделать всё супер-пупер универсальным.
И ровно через две недели я вывалил команде 200+ эндпоинтов__.
🧨 Реакция команды была не передаваемой – восторг быстро сменился на 🤬!
Тестировщик сказал примерно следующее (цитата почти дословно):
"Я залез в сваггер, ахренел и вышел."
В свою защиту могу сказать: «Мне было всё предельно понятно». Документацию я расписал до последней детали, вместе с
**_**_**README**_**_**_._ Но как оказалось - понятным это было только мне 😁 Чтобы обрисовать масштаб бедствия, вот пример описания одного из эндпоинтов: > "Этот эндпоинт даёт возможность изменить ОБЪЕКТ, связанный с искомым ОБЪЕКТОМ… ОБЪЕКТОМ погоняя… Схему валидации смотрите там-то, дерево вложенности — тут-то и т.п." Сейчас понимаю: такое нельзя вываливать неподготовленным мозгам. Команда была из джунов, мы все росли - но я зачем-то полез с универсальной архитектурой. 📉 Чем всё закончилось Итог моей инициативы: - Разработка встала, от слова совсем (она и до этого не шла, но теперь прям окончательно - ⚠️❌🔴) - Столько вопросов и «диссов» в свой адрес я ещё не получал (о-ооочень многое узнал о себе 😁) **- Куча потерянного времени - в итоге всё равно делали синки, чтобы погрузить меня в контекст**, что надо было сделать с самого начала - Все мои эндпоинты были переписаны (ещё один дисс в копилку потерянного времени)
✅ Мораль
В защиту этого подхода могу сказать только одно: если прям разобраться - получается очень гибкая система. Но она — от опытных для опытных и только под конкретную бизнес-логику. На практике такие API почти никому не нужны в коммерческой разработке - все пишут под задачи. А новичкам там вообще нечего ловить. 🤷♂️ Вывод Если бы можно было вернуться назад - я конечно, начал с общения, уточнения задач, понимания процессов. А не с переписывания всего подряд в одиночку. Какой опыт вынес? 👉 Архитектура - это не про "сделать красиво". Это про "сделать понятно, удобно и в контексте". 👉 Разработка - командная игра. 👉 Swagger не должен пугать. 👉 Душнить не страшно, особенно, когда ты новенький в команде - это малая кровь из возможных сценариев развития событий. Короче, сначала спроси. Потом спроси ещё раз. Всем удачи 👋