Как я сделал 200+ эндпоинтов и пролетел

🚀 В самом начале                    В самом начале своего пути в айти я столкнулся с дилеммой, нашёл решение и прогадал.           Спойлер: надо было просто больше общаться с командой и не думать за всех.          Как только вник в ООП - всё, понеслось! Был в восторге!!!           Воодушевлённый, начал в срочном порядке искать команду, в которую можно было бы "вписаться". Финансовый вопрос меня тогда вообще не волновал - главное было участие!           К слову, на таких условиях долго искать не пришлось 😁                                     ⚙️ Во что я влез                    И вот я - на дофаминовых крыльях - влетаю в проект.           Понимаю: там синхронное гXXно, написанное на FastAPI с алхимией вперемешку с чистыми SQL-запросами и без каких-либо схем для I/O.           И сразу же "героически" предлагаю всё переписать.          Как сейчас помню: было 600 строк кода, вернул через две недели 7000.           Всё в асинхроне, со схемами, с переработанными таблицами. Но не в этом суть…                                      🧑‍💻 Моё "гениальное" решение                    Опыта в командной разработке — ноль. И несмотря на это, и даже осознавая это, я не задал ни одного вопроса за две недели.           Не е-ди-но-го, Карл!                    Наставник позвонил через неделю, спросил:

  • Чем занимаешься?
  • Работаю.           Когда я чем то горю, я могу быть о-ооочень убедительным, поэтому на этом наш созвон прекратился.          🤦‍♂️ Как же я был слеп и глуп…          Моё "гениальное" решение было в том, чтобы сделать всё супер-пупер универсальным.      И ровно через две недели я вывалил команде 200+ эндпоинтов__.                      🧨 Реакция команды была не передаваемой – восторг быстро сменился на 🤬!              Тестировщик сказал примерно следующее (цитата почти дословно):    "Я залез в сваггер, ахренел и вышел."         В свою защиту могу сказать: «Мне было всё предельно понятно». Документацию я расписал до последней детали, вместе с **_**_**README**_**_**_._ Но как оказалось - понятным это было только мне 😁     Чтобы обрисовать масштаб бедствия, вот пример описания одного из эндпоинтов:     > "Этот эндпоинт даёт возможность изменить ОБЪЕКТ, связанный с искомым ОБЪЕКТОМ… ОБЪЕКТОМ погоняя… Схему валидации смотрите там-то, дерево вложенности — тут-то и т.п."     Сейчас понимаю: такое нельзя вываливать неподготовленным мозгам.     Команда была из джунов, мы все росли -  но я зачем-то полез с универсальной архитектурой.             📉 Чем всё закончилось          Итог моей инициативы:     - Разработка встала, от слова совсем    (она и до этого не шла, но теперь прям окончательно - ⚠️❌🔴)    - Столько вопросов и «диссов» в свой адрес я ещё не получал    (о-ооочень многое узнал о себе 😁)    **- Куча потерянного времени - в итоге всё равно делали синки, чтобы погрузить меня в контекст**, что надо было сделать с самого начала - Все мои эндпоинты были переписаны (ещё один дисс в копилку потерянного времени)

✅ Мораль

В защиту этого подхода могу сказать только одно:    если прям разобраться - получается очень гибкая система.           Но она — от опытных для опытных и только под конкретную бизнес-логику.          На практике такие API почти никому не нужны в коммерческой разработке - все пишут под задачи.           А новичкам там вообще нечего ловить.                     🤷‍♂️ Вывод                    Если бы можно было вернуться назад - я конечно, начал с общения, уточнения задач, понимания процессов. А не с переписывания всего подряд в одиночку.                    Какой опыт вынес?          👉 Архитектура - это не про "сделать красиво". Это про "сделать понятно, удобно и в контексте".           👉 Разработка - командная игра.           👉 Swagger не должен пугать.          👉 Душнить не страшно, особенно, когда ты новенький в команде - это малая кровь из возможных сценариев развития событий.          Короче, сначала спроси. Потом спроси ещё раз. Всем удачи 👋