Комментарии 44
«Бэкенд — это просто! Выгрузить данные в нужном формате из одной системы
и загрузить в другую. И так почти на каждом проекте!», — заявил недавно
мой коллега Сергей, старший Python-разработчик.
Это заявление больше похоже не на сеньора питониста, а на джуна фронтендера)
Ага, миддл - это когда эти данные надо не только перегрузить из одной базы в другую, но ещё и обработать: Проверить на корректность, посчитать статистику, как-то отреагировать на разрывы связи, ошибки в данных и прочее.
А потом с этими данными надо работать дальше - показать юзеру в удобном виде, с кучей доп. данных, скорее всего из других баз. Сделать выгрузку во всякие эксельки...
Ко всему этому ещё желательно прикрутить счётчики, логи и прочий мониторинг, чтобы сисадмины/девопсы/ты_сам могли следить за состоянием процесса загрузки/выгрузки...
Словом, там геморроя в разы больше, чем может показаться.
А потом с этими данными надо работать дальше - показать юзеру в удобном виде, с кучей доп. данных, скорее всего из других баз. Сделать выгрузку во всякие эксельки...
А это разве не "выгрузить данные в нужном формате из одной системы и загрузить в другую"?
И все это должно отработать за 0,0000..001 сек
Ах да, оптимизация... Это то, о чём джун по определению не знает, а миддл уже начинает догадываться (или вспоминать хоть иногда)...
По-моему, это один из самых больших мифов, что суровые бэки (в отличие от фронтов с их игрушечками) якобы заботятся о перфомансе. Не, ну некоторые и временами - да. Но в основном нет, ни первые, ни вторые.
Безусловно, вы правы. Задачи, которые вы перечислили никто не отменяет. Мы лишь попытались собрать с коллегами основу, базу, без которой точно никуда. А так, саморазвитию нет пределов.
Это больше похоже на шутку которую приняли всерьез.
Это заявление похоже на "классический" стёб и самоиронию. Я даже на 146% уверен, что именно стёбом оно и является. Ведь все знают, что бэкенд-разработка, это просто перекладывание json-ов. А вот к вашим софт скилам у меня теперь вопросы :)
Так он был тимлидом, это всё объясняет)) "бэкенд - это же так просто! Мы точно сможем уложиться в сроки"
Коллеги, вы почему такие серьезные?) Самоирония и легкое отношение к жизни очень помогают в повседневных делах.
Коллеги, вы почему такие серьезные?) Самоирония и легкое отношение к жизни очень помогают в повседневных делах.
Soft skills
Из софтов: нужно уметь разбираться в чужом коде.
Какая полезная статья
Написано настолько абстрактно, что сложилось мнение что к джунам требования выше чем к миддлам
Почему-то в навыках не было указано: написать сервер... :-)
Имхо, получился какой-то съезд клуба любителей чистого, совершенного и элегантного кода :))
Скиллы настолько капитанские, что я бы добавил еще один вид.
True skills: уметь дышать, кушац, пить и незаметно пукать. Это всё тоже нужно любому бек-енд разработчику. Никто не поспорит?
Знать SQL, чтобы от зубов отскакивал. Нет проектов, которые с ним не взаимодействуют.
Какой диалект, какой СУБД? Зачем надо, чтобы отскакивало, если используется ORM?
Soft skills. Из софтов: нужно уметь разбираться в чужом коде.
Советы профессионала сразу видно :) Я себе записал, софт скиллс - это умение разбираться в чужом коде (с)
Самое важное — это soft skills. Мидл-разработчик должен не бояться разговаривать с коллегами, принимать конструктивную критику.
Это тоже записал :)
Мидлу нужно передавать свой опыт другим, быть ментором.
У меня скоро блокнот для записей кончится, столько удивительных вещей я сегодня узнал...
Я бы сказал, только Георгий тут не написал лютой дичи, передайте Георгию моё спасибо.
Какой диалект, какой СУБД? Зачем надо, чтобы отскакивало, если используется ORM?
Диалект как раз не важен, если ORM используется. А знать надо, возможно, чтобы уметь индексы правильно накидывать?
Индексы можно накидать в GUI так же хорошо, как и с DDL, благо делается это так редко и на больших БД так долго, что еще не каждый раз решаются. Возможно автор имел в виду не SQL, а принципы работы современных БД, коих тоже пруд пруди и если все изучать "что б отскакивало", то на ничего остального времени не хватит. Впрочем это тоже кое что говорит о компетенциях самого автора.
Интересно, что никто не написал, что надо уметь разбираться в новых доменах. В конце-концов, деньги платят не за то, насколько элегантные запросы можешь составить, или насколько у тебя чистый код, а за решение бизнес-задач.
"Бэкенд — это просто! Выгрузить данные в нужном формате из одной системы и загрузить в другую" - дальше этот высер не читал
Иногда бэкенд это про крудошлёпить.
> Опыт Сергея: работал тимлидом, разрабатывал бот, настраивал обработку заявок в банке
Судя по опыту и фотке, это начинающий сеньёр.
зачастую многие работу бека так себе и представляют, считая что фронты делают основную часть работы
видал даже проект где ненужных беков вообще исключили и бек писали тоже фронты (это один из топа наркомании которую я в разных проектах видел)
это все еще в копилочку "делаем бек на nodejs и не надо делить направление разработки на две части"
От проекта зависит.
Если вся логика на UI и в схеме базы данных, то бэк просто гоняет данные туду сюда. От него ничего и не надо особенного.
А современные веб фреймворки вообще требуют backend for frontend.
Это не топ наркомании, это просто частный случай.
там было так что в mongodb фронты тупо складывали свои json-чики, просто так в навалку, а выборку делали с минимальными отборами...или вообще могли селекнуть все данные из базы по этому типу и у себя в цикле отфильтровать (ну и что что там 50мегабайт табличка весит, интернет у всех быстрый, а мы даже gzip сжатие не знаем что такое...какието заклинания наверно у тупеньких беков которые не нужны которыми они себе цену набивают)
проект у которого вся логика в ui это че блин, калькулятор или игра в крестики-нолики?
любой мало-мальски адекватный проект имеет всякие интеграции, сохранения данных, мобильное приложение
если мобилка есть, зачастую именно на бека ложится тяжкий груз поддержки одновременно двух десятков версий приложения и вебинтерфейса в придачу и подготовку данных для них в адекватном формате
любой мало-мальски адекватный проект
Вы обобщаете. Да, большинства проектов такие. Среди крупных - большинство.
А на начальном этапе проверить выстрелит ли идея вполне можно и по простому. Ну и внутренние проекты для удобства разработчиков могут быть без бэкенда.
а мы даже gzip сжатие не знаем что такое
С бэкендерами тоже такое бывает.
«По простому» я разверну скелетон проекта на k8s, с гитхаб CI/CD, и базовыми имаджами для бека/фронта за пару дней. Еще за пару накидаю модель и оберну крудом. Зачем делать через жопу «на попробовать» если можно сразу нормально? Ну а если не хватает знаний у команды , то вы уверены что у вас будет столько денег чтобы «пробовать» с неопытными эникеями?
Самое важное — это soft skills.
Адитья Бхаргава «Грокаем алгоритмы»
Вы посылаете начинающих программистов, ищущих возможности прокачать свои навыки, в настолько неверном направлении, что это даже выглядит хорошо, несколько даже художественно и величественно. На ум приходят непреклонный Иван Сусанин, с застывшей приветливой улыбкой ведущий ворогов в замороженный лес, панк-музыка и упорото-последовательная «Ярость» Уве Болла...
Как стать middle Python-разработчиком? Изучите Python (с упором на asyncio, multithreading, multiprocessing), pytest (+ mock), PostgreSQL, SQLAlchemy, FastApi, алгоритмы (в объёме хотя бы techinterviewhandbook.org/grind75), Apache Kafka, Docker (+ Compose, + Swarm), GitHub Actions, архитектурные паттерны. Если хотите найти работу быстро, то добавьте к этому списку Django (в этом случае замените SQLAlchemy на Django ORM) и k8s.
Вместо «Грокаем алгоритмы» возьмите «Алгоритмы: построение и анализ» Кормена и «Высоконагруженные приложения» Клеппмана.
Soft skills — это вовсе не только мантра «Я слышу своих коллег и признаю свои ошибки», а умение анализировать, делать выводы, знание психологии, умение донести свою позицию, практика ведения дискуссии. Плюс английский язык.
Просто же всё.
Похоже, что из четверых единственный, кто знает, что такое бэкенд - это Георгий.
Статья показывает, что многие из опрошенных - просто знакомые кого-то из контор, которых отправили отвечать на вопросы, чтобы лишний раз не мешались
Что должен уметь мидл бэкенд-разработчик