Comments 152
Полагаю, всё проще. Если человек не может без помощи курсов сам учебник почитать и что-нибудь покодить, - значит у него душа не лежит к программированию. А таким в отрасли не рады.
Мне кажется, это слегка не так.
Личный опыт говорит, что хотя я и начал тыкать в БК-0010-01 ещё в школе, понимать хоть что-то в программировании я начал в ВУЗе, когда повстречался с хорошим преподом. Возможно, я бы и сам научился, со временем. Но случилось бы это лет на 10 позже, когда мне это уже было бы не нужно.
Плюс, я слышал, что обучение с преподавателем работает лучше, чем самообучение.
(Хотя наличие некоторого шила в некотором месте определённо помогает).
Полностью согласен. И это не только к программированию.
Если человек сам не копает и не пробует, а ждет магии/курсов/провидения/... - это не приведет к успеху. Значит скорее всего ему самому не интересно.
П.С. Но это не отменяет курсов/уроков/тренингов/.... Они могут быть помощью, где нужно.
Хороший рецепт, да
Берете любой ФГИС и пробуете повторить... )
Они же просты и понятны, да?

Я пробую как за 50 часов написать с нуля копию одного ФГИС на минималках
вместо 300 KSLOC
ФГИС - Федеральная Государственная Информационная Система
И к чему этот глубокомысленный коммент? Похвастаться, что вы работаете с этими самыми ФГИС? Так хвастаться нечем, можем только посочувствовать.
Не понимаю, откуда у таких комментаторов появляется желание спорить с очевидным: практика - залог прогресса. В любом деле.
Много раз сталкивался с людьми которые выучили последовательность действий (путем проб и ошибок или кто-то показал) по настройке телеком оборудования, серверов и т.п. но даже не понимают, что они делают. Из-за этого нередко случаются проблемы. В то время как теоретически подкованные люди, хорошо справляются с настройками даже если синтаксис им совершенно не знаком. Они имеют представление что нужно делать и как то, что они делают должно работать.
Так что по моему мнению теоретическая подготовка должна быть первичной, а практикой лишь подкрепляться а не наоборот.
А по поводу курсов, то как-то проходил серию курсов "поколение python", было вполне достаточно практики, чтобы закрепить знания. Уверен, что даже те кто не изучал других ЯП, получили бы навык применения материалов из теории.
Так что по моему мнению теоретическая подготовка должна быть первичной, а практикой лишь подкрепляться а не наоборот.
А вот бизнесу обычно плевать на вашу теоретическую подготовку (ну если вы только преподаванием не занимаетесь), ему нужно решать практические задачи и желательно "вчера" ;)
Но бизнесу почему-то не плевать, когда попалась какая-то новая практическая задача — а навострившийся на паттернах смотрит на неё аки баран на новые ворота.
Бизнесу обычно вообще плевать какие у вас там задачи всплывают - это ваши айтишные штучки, сами в них разбирайтесь! Мне надо чтобы было вот так и вчера))
Не справляешься? Пошёл нафиг!))
А бизнесу в принципе пофиг на разделение теоретической и практической подготовки. Это не задачи бизнеса - вдаваться в процессы в вашей голове. Ему нужен результат, а если программист пишет быдлокод, то это и есть результат (отрицательный), который появился в результате упора на практику без теории.
Практика без теории, конечно плохо. Но практики всё равно должно быть больше, чем теории.
выучили последовательность действий (путем проб и ошибок или кто-то показал) по настройке телеком оборудования, серверов и т.п.
Когда ты уже знаешь, что надо делать, проще запомнить что к чему (т. е. запомнить теорию).
Практика без теории, конечно плохо. Но практики всё равно должно быть больше, чем теории.
«Дяденька, я уже давно и накрепко запомнил, что 3 + 1 = 4. Можно я перестану уже складывать пирамиду из четырёх кубиков?»
Практики должно быть столько, чтобы человек запомнил закономерности — не больше и не меньше. Именно для этого в старину (до появления «обучающего конвеера») предназначались экзамены: понять — уяснил ли ученик закономерность, или ещё нет и надо повторить?
Можно я перестану уже складывать пирамиду из четырёх кубиков?
Можно.
Практики должно быть столько, чтобы человек запомнил закономерности
Закономерности как раз выводятся через теорию.
Так то теория нужна только чтобы практика была "более универсальной".
теория нужна только чтобы практика была «более универсальной».
Нет, это практика нужна, чтобы а) убедиться, что теория не врёт, 1+3 действительно равно 4, б) осознать, что теория — она говорит про идеальные условия, а в жизни они редко совсем уж идеальные, и это надо учитывать.
Но это у нас сейчас типичный спор «советский vs американский подход».
Нет, это практика нужна, чтобы а) убедиться, что теория не врёт, 1+3 действитель....
На минимальном уровне да. Но профессионалом не стать, не повторив действия дофига раз.
Это верно, но профессионалом становятся не потому, что выучивают, условно говоря, что «нужно всегда менять в картере масло», а когда набирают достаточно записей в базе вида «если оно делает „шкряб‑шкряб“ спереди — то это поршневое кольцо в цилиндре треснуло, а если оно делает „бряк‑бряк“ спереди‑слева — то это ШРУС рассыпался».
Так это и есть теория. Соединить провода в определенном порядке - тоже теория, просто без понимания. Если вы считаете, что практика подразумевает, что вы должны написать один и тот же фрагмент кода 5 раз, то вы совсем не понимаете, что такое практика. Есть теория - "Рекурсивные функции". Есть задача - напишите рекурсивную функцию для умножения через сложение, используя рекурсивную функцию. Вот что вы подразумеваете практикой. Да, вы увидите, как это работает, что это вам даст? Да ничего, вы может и не вспомните про этот инструмент, когда он хорошо ляжет на код и вместо этого намутите 50 костылей в 1000 строк, чтобы работало, вместо одной функции на 50 строк. А вот если бы вы написали 2-3 программы, где без рекурсии не обойтись без костылей, вы бы могли сразу видеть, что она вам сейчас понадобится.
Да, котыли тоже надо уметь грамотно городить... Не всегда ведь умеешь пользоваться идеальным для случая инструментом...
Ну тут в какой‑то степени согласен — в том смысле, что это зависит от определения, что такое «практика». Потому что если «пойти в заводской гараж и там ковыряться в кишках реального грузовика» — это однозначно «практика», но «ковыряться в реальном моторе, одиноко стоящем посреди институтского лабораторного корпуса» — это у нас называлось не «практика», а «лабораторная работа».
теоретическая подготовка должна быть первичной, а практикой лишь подкрепляться а не наоборот
Накидаю немного мыслей. Увы, нет времени полировать свой вброс.
У меня, например, формат хранения данных в памяти ассоциативный. Я без четких реляционных связей с трудом что-то вспоминаю когда уместно, не говоря уже о применении. Поэтому для меня теория и практика желательно должны идти рука об руку, иначе усваиваемость материала страдает. Да и изучать радикально новые вещи нонстоп это реально тяжкий труд. А из-под палки учеба выходит так себе.
Какие-то смежные знания, при этом, получать проще.
Впрочем, есть также знания, которые являются базовыми. В них надо повторно вникать из раза в раз, попутно делая регрессионный анализ каких-то известных тебе вещей, оптимизируя связи в своей голове и обретая экспертизу в вещах. :) подобная работа без проверки каких-то спорных вопросов тоже затруднительна.
И то важно, и это, в общем.
У меня есть маленькая собственная реализация ССПВО (воссоздано в СУБД по спецификации). У коллеги есть почти полноценный симулятор сервера. Всё писалось/пишется от безысходности, так как даже сроков предоставления тестового API не озвучивается, а ПО писать и тестировать на чём-то надо…
ПВО это, очевидно, ПротивоВоздушная Оборона. А СС как расшифровывается?
Не угадали. "СуперСервис Поступай в Вуз Онлайн": https://www.gosuslugi.ru/vuzonline
Федеральное Государственное не то что брать, а даже длинной палкой трогать не следует, чтобы руки не марать.
Все верно. В юности серьезно занимался лёгкой атлетикой. Так вот, мой тренер говорил: "Чтобы лучше бегать надо больше бегать". Так что, рецепт действительно прост и подходит для любой деятельности.
Но если бегать неправильно, можно убить колени, например, или получить растяжение. Подходит для любой деятельности. Поэтому учиться тоже надо.
Чтобы научиться правильно бегать, всё ещё нужно больше бегать, чтобы формировалась привычка. Просто делать это осознанно.
Всё верно. Надо изучать, как правильно бегать, и много бегать. И параллельно дальше изучать теорию о беге. Вообще, это противопоставление теории практике выглядит как-то нелепо, ИМХО. Они должны идти рука об руку, а не заменять друг друга. Некоторые вещи из теории ты не можешь понять до конца, пока не наработаешь опыта. С другой стороны, без теории ты так и будешь работать неправильно, и закреплять этот опыт.
Есть даже такой термин: тацитные знания. Это то, что можно получить только на практике. В повседневной жизни это умение кататься на велосипеде, плавать, водить машину и тд. Можно хоть миллион книг по тематике прочитать, но навыком без практики не овладеть. На мой взгляд программирование один из таких навыков. Очень важна практика и насмотренность реальных решений.
Я слышал, что современные спринтеры больше проводят времени в тренажерном зале, чем на стадионе.
Дайте мне определение для "правильно бегать". И несколько вопросов: кто определяет как бегать правильно? А вы уверены что они не ошиблись и правильно именно так? Если уверены, то как это докажете?
Это я к тому, что определение "правильно бегать", также как и "правильно ходить", "правильно лежать" и т. д. не существуют самостоятельно. Любой бег, пусть даже самый "правильный", будет в какой-то области даже не близким к наиболее "правильному" в этой области.
также как и "правильно ходить"
Это вы зря. Почитайте правила проведения соревнований по спортивной ходьбе. Там, собственно говоря, большая часть правил и есть описание как "правильно ходить" и что отличает ходьбу от бега.
И несколько вопросов: кто определяет как бегать правильно?
Тот, кого волнует результат бега. Врачи\физиологи - если это вопрос здоровья бегуна. Устроители соревнований - если это вопрос удовлетворения тщеславия бегуна. Простой пример: когда-то в беге с препятствиями было запрещено сбивать барьеры, только перепрыгивать. Сейчас - можно. Потому что установили, что сбитие барьера требует большего времени, чем его перепрыгивание.
Вообще говоря, определение "правильно" существует только здесь и сейчас.
Почитайте правила проведения соревнований по спортивной ходьбе
Не обязательно. И так понятно, что это только частный случай.
Тот, кого волнует результат бега
Да, только цели всегда разные. Например, если убегаешь от условных хулиганов (или догоняешь автовус и т. п.), тебя мало волнует насколько правильно ты бежишь. Лишь бы побыстрее. И результат выражается в том, что ты убежал/не убежал или догнал/не догнал.
А если бежишь марафон, цель как можно меньше вымотаться. И выражается она в том, произошло это или нет.
Проще говоря, если употреблять "правильно бежать/идти/лежать/..." лучше уточнять конкретные цели этого "правильно".
Почитайте правила проведения соревнований по спортивной ходьбе. Там, собственно говоря, большая часть правил и есть описание как "правильно ходить" и что отличает ходьбу от бега.
Вообще там большая часть правил и рекомендаций это "как нормальному человеку ходить не стоит". И это объяснимо, т.к. даже плохонький 3 разряд по спортивной ходьбе это чуть меньше 16 минут на 3 километра (это бронзовый значок гто в беге для взрослого мужика если что), а с такой скоростью не каждый взрослый пробежать сможет, а тут ходить требуется - что абсолютно неестественно для такой скорости.
Всё верно. Нужно чередовать и не зацикливаться на чём-то одном. Просто нужен баланс. Практика - способ усвоения теории, так лучше запоминается.
Это работает только до определенного момента. У спортсменов часто есть всякая заковыристая подсобка, улучшающая результаты в основном движении. Вы ведь наверняка не только бегали, да?
Чтобы лучше бегать надо больше бегать
... тренеру за водкой. Тогда лет через десять он начнет вас учить бегать без бутылки в руке.
Мне больше нравится вариант для пауэрлифтеров: "Чтобы жать много, надо много жать!"
Поэтому маркетинг курсов повторяет мантру: подход, основанный на практике! 80% практики, 20% теории. В реальности ещё работает подход, основанный на мантрах. Ведь голову включать не надо. Лох не мамонт, он не вымрет.
Чтобы стать - станьте
Практика, безусловно, нужна.
Как говорил Стивен Кинг
На вечеринках (коих я по мере возможности стараюсь избегать) меня часто одаривают улыбками и крепкими рукопожатиями самые разные люди, которые затем с многозначительно таинственным видом заявляют:
– Знаете, мне всегда хотелось писать.
Я всегда пытался быть с ними вежливым. Но теперь с той же ликующе-загадочной ухмылкой отвечаю им:
– А мне, знаете ли, всегда хотелось быть нейрохирургом.
На лицах тут же возникает растерянность. Но это не важно. Кругом полно странных растерянных людей, не знающих, куда себя приткнуть и чем заняться.
Если вы хотите писать, то пишите.
И научиться писать можно только в процессе. Не слишком пригодный способ для освоения профессии нейрохирурга.
Но вопрос, на мой взгляд, не только и не столько в практике, как таковой. А в том, что в реальной жизни надо добавить кусок функционала/пофиксить баг в системе, изобилующей многолетним наслоениями и разнообразными копролитами, написанной в стилистике письма дяди Фёдора. Короче говоря, разбираться в чужом коде придётся гораздо чаще, чем писать свой. И этот навык тоже нужно нарабатывать регулярной и постоянной практикой.
И с этим есть сложности. Потому что все опен-сурс проекты на голову выше того кошмара, который лежит в репозиториях компаний. Так что пока не найдёшь работу, тренироваться будет не на чём, а когда найдёшь - некогда.
Потому что все опен-сурс проекты на голову выше того кошмара, который лежит в репозиториях компаний.
Потому что open source видно всему миру, и за некрасивый код тебя зачморят коллеги со всего света — а в репозиториях компаний чморить будут максимум коллеги, да и то если у них время на это есть. Поэтому для open source стараешься усерндее :)
Пожалуйста, если можешь не программировать - б-гом прошу, не программируй (не иди в айти)!
ChatGPT дает им призрачную надежду на удачную карьеру программиста
Ахах, сегодня не мог вспомнить как очистить таблицу mac-адресов на Alcatel omniswitch 6860. Коллега спросил дипсик, так он после четырех попыток так и не смог выдать правильные команды. В основном для cisco предлагал, уверяя, что это для Alcatel или подсовывал команды для других моделей Alcatel omniswitch.
Уж лучше новички с chatgpt после курсов, чем теоретические разрабы по блату или в случаях, когда надо разгрузить опытных коллег от мелкой рутины и багов, на которого взгрузили 2х работу.
Если такой работник с чатгпт на практике натаскается с маленькими задачами, то и дальше может попереть.
Но важно уметь искать и думать, а не только давать промт "напиши мне всего", ctrl-c/ctrl-v.
С ChatGPT уже и программировать не надо почти...
Любой программист может не программировать
Там еще фишка есть такая, что 80% теории, даваемой на курсах - это как раз 20% , которые нужны в реальной жизни. Соответственно, 20% практики - это 5% практики реальной жизни. Из-за этого из 20% теории усваиваются только 10%.
В итоге мы получаем 15%-го специалиста
Давайте возьмем в пример походы в тренажерный зал: вы когда приходите в тренажерный зал, вы забиваете свои мышцы чтобы они росли, а смогли бы вы забить мышцы, если бы ходили в тренажерный зал также три раза в неделю, но из тренировки в полтора часа занимались лишь 15 минут
Вы когда-нибудь видели, как на силу тренируются? Там очень низкая моторная плотность на тренировке, большой отдых между подходами, сами подходы малоповторные вплоть до синглов. Так что может изо всей тренировки в полтора часа остаться минут 15, да. Так что конкретно эта аналогия не очень в тему.
Любая аналогия ложна, поэтому прикопаться можно у чему угодно.
Можем переписать тот же тезис, с точки зрения нейрофизиологии: для любой новой деятельности ваш мозг должен сформировать новые нейронные связи. Чем больше и разнообразнее повторения, тем лучше и ветвистее связи. Всё просто.
Отдых между повторами при тренировках на силу это тоже часть тренировки, поэтому некорректно говорить что "сама тренировка только 15 минут".
Иначе получится как-то так
недавно приводили анек в другом комменте, но сюда он будет даже больше в тему
"Новый русский" купил фотосалон. Дал объявление в газету: "Требуется фотомодель на эротику. Час работы 10.000 баксов!"
Пришло много претенденток, отобрали одну. Фотографировали ее 3 часа.
Потом выходит хозяин, объявляет:
- Расчет на месте, наличкой. Слышь, фотограф, сколько раз щелкнул?
- Сто двадцать кадров.
- Выдержку какую ставил?
- Одна пятисотая секунды.
Хозяин поворачивается к фотомодели:
- Ну, ты, в натуре, и на полсекунды не наработала...
Занимаемся сейчас анализом программ обучения, чисто для сведения цифры.
Университетская программа бакалавриата по программной инженерии (09.03.04 - чисто ИТ направление, на очке - 4 года, на заочке - 5 лет):
В целом: 6768 академических часов, из них 1310 академических часов практики.
Непосредственно ИТ предметы: 1656 ак. часов, из них 556 часов практики.
На околосвязанные с ИТ предметы (математика, физика, но не основы военной подготовки и история россии): 2112 ак. часов, из них 432 часа практики.
Как громко звучит слово "анализ". Походите по сайтам вузов, на странице /sveden/education выложены учебные планы. С разбивкой по семестрам, предметам и количеством часов. Хоть заанализируйтесь, учебные планы написаны с оглядкой на стандарты ФГОС 3++ (читается как "ФГОС три два плюса").
Как громко звучит слово "анализ".
Не очень поняли Вашу претензию к использованию слова "анализ", можете развернуть мысль?
Хоть заанализируйтесь, учебные планы написаны с оглядкой на стандарты ФГОС 3++ (читается как "ФГОС три два плюса").
Именно что "с оглядкой", у университетов сейчас огромное количество свободы в плане формирования даже списка дисциплин, не говоря уже об объеме и типе аттестаций.
В одном университете на одном и том же по коду и названию ИТ направлении у Вас может быть физика (396 часов), химия (108 часов), тоэ (180 часов), микроэлектроника (108 часов), биология (72 часа), русский язык (72 часа), начертательная геометрия и инж. комп. графика (288 часов), физкультура (288 часов), а в другом на том же направлении этого всего может просто не быть вообще (но для набора нужных часов - естественно будет что-то другое).
Это не говоря о том, что может быть разное количество часов по дисциплине - от 72 до 396 и/или разный тип аттестации (зачет, диф. зачет, экзамен, курсовой проект). Соответственно и наполнение крайне отличается, от школьного уровня до уровня условной магистратуры даже на бакалавриате.
Да и сам стандарт крайне размыт, ну что такое "должен овладеть навыками решать дифференциальные уравнения" или "должен быть знаком с историей времен ивана грозного"?
Даже, казалось бы, такой свежий и стандартизованный предмет как основы российской государственности. Где-то 72 часа и зачет, для которого надо сдать пару компьютерных тестов в мудл и написать доклад на 10 минут. А где-то 144 часа, экзамен с курсовой работой и преподают 3 кафедры - история, социология и философия, для каждой из которых нужен полноценный реферат и два доклада.
В профильных предметах вообще творится полное разнообразие, которое красиво называют индивидуальными траекториями обучения. Часы и предметы регламентированы на уровне "должен уметь научиться программировать". Дальше уже каждый преподаватель/университет пилит свою программу, которые не всегда лучше даже курсов, одна радость что обучение бесплатное.
К этому всему добавляем еще тот факт, что даже на одном направлении в разных группах, просто из-за разных преподавателей - могут быть разные уровни сложности программ.
Поэтому по факту, несмотря на казалось бы наличие стандарта - разброс между программами университетов, даже в одной специализации, просто гигантский.
Настолько, что если Вы идете в университет не за корочкой, а за знаниями и тем более - если за знаниями в определённой области - Вам надо не просто выбрать направление, не просто посмотреть учебный план, но и углубиться в вопрос вплоть до попытки ознакомления с тем, что и как там реально преподается.
К этому всему прибавим прохождение практики, которая проходится в абсолютно разных условиях и предприятиях. Где-то ИТшник будет на заводе условные шпалы таскать, а где-то реальный продукт писать. И ведь практика это огромная часть обучения.
Да, есть университеты, где в любом случае можно рассчитывать на определённый уровень образования, но даже в них разница в программах образования может быть огромна.
а какие ожидаются результаты анализа? И можно ли их где-то посмотреть?
если Вы идете в университет не за корочкой, а за знаниями и тем более - если за знаниями в определённой области - Вам надо не просто выбрать направление, не просто посмотреть учебный план
но ведь учебный план можно скорректировать т.н. "индивидуальной траекторией обучения". Правда, есть нюанс - чтобы выбрать и отстоять "индивидуальную траекторию", студенту нужно уже кое-что знать из "ожидаемого". как минимум, "знать названия".
а какие ожидаются результаты анализа? И можно ли их где-то посмотреть?
Образовательный портал с упором на подбор колледжа/вуза для поступления и/или перевода. Не просто по направлениям и общим баллам (которые сейчас есть и очень полезны, но недостаточны), а очень детальный (дисциплины, преподаватели, отзывы, названия учебников, примеры тестов, компании для стажировки, общежития) - в перспективе информации будет больше, чем на сайтах самих вузов.
Для тех у кого цель мгу, мфти и т.д. - это не особо актуально:) Они уже с вузом определились. А вот для регионов и для вузов не из первой десятки - там много интересного.
Посмотреть пока негде - сейчас еще идет только сбор информации (вузов и колледжей адски много и информации в открытом доступе откровенно мало), в идеале будет MVP где-то в конце осени.
но ведь учебный план можно скорректировать т.н. "индивидуальной траекторией обучения".
Она сейчас не очень индивидуальная как правило получается. Выбор предоставляется лишь в паре семестров, на выбор предоставляется формально лишь 2-3 варианта, при этом если на каком-то варианте недобор в группу или преподаватель уже занят другими предметами- то запускать его не будут.
То есть нет такого как на западе - куча дисциплин, из которых сам формируешь программу в свободном режиме, главное зачетных единиц набрать на диплом.
Но в целом - да, Вы правы, это обязательно будет, хотя бы в виде потенциального выбора и истории предыдущих лет.
Она сейчас не очень индивидуальная как правило получается. Выбор предоставляется лишь в паре семестров, на выбор предоставляется формально лишь 2-3 варианта
мы еще в позднесоветские времена умудрились "индивидуальный учебный план" выбить (заменили профильные предметы на курсы с других кафедр). Но да, пришлось попотеть, доказывая свое желание на заседании кафедры. Ну и учли то, что практически по всем специальным предметам у нас были "отл". (кстати, нас еще и ограничили в количестве часов, пару предметов официально не дали пришлось неофициально посещать и даже сдавать)
Сын учился несколько лет назад - там тоже при желании можно было проделать аналогичный трюк, только особо желающих не было - ибо сейчас другие возможности для обучения тому, чему нужно
при желании можно было проделать аналогичный трюк
Прямо произвольный предмет включить? Уверены?
По нашей информации программы университет утверждает заранее на гос.уровне, все индивидуальные/факультативные предметы так же заранее утверждаются, включить произвольный предмет если его нет в учебной программе направления где учишься -нереально, вплоть до того, что если учился на одном направлении, а переходишь на другое, то предметы которых нет в новом направлении - в дипломе будут отсутствовать, хоть бы ты их и изучал и изучил.
Да, уверен, и знаю как минимум одного человека, который такой трюк проделывал примерно в 2016. Брал пару курсов с только появившегося (в ВУЗе) направления инфобеза взамен пары курсов со своей прикладной математики. (правда, ему бы эти курсы поставили бы автоматом - он олимпиадник был, и всё такое). Есть ли у него инфобез в дипломе - сейчас, увы, сказать не могу - в лучшем случае летом (он такой человек своеобразный, неконтактный).
По себе могу сказать, что несмотря на "заранее утвержденную программу", у меня в дипломе есть "внешние" предметы, и прочерк в "замененных". Но это уже другая история.
Ну, такое.
Практика без теории бессмысленна
Предполагается, что практиковаться человек может и без курсов, курсы должны заложить в человека хоть какие-то начатки знаний, чтобы он хоть знал, с какой стороны подходить к компьютеру
На реальной работе требуется очень много таких знаний, которые
Очень специфичны для конкретной конторы
Могут быть изучены программистом довольно быстро уже на работе
Довольно муторны по сути, чтобы их можно было нормально преподавать на курсах
Для проверки заданий у учеников требуется много ресурсов, которых обычно не хватает на курсах
В общем, есть много тонкостей, почему курсы обычно устроены именно так и почему там больше теории, чем практики. И почему они так сильно отличаются от реальной работы. И только стажировка и затем настоящая работа способны восполнить эти недостатки.
P.S. В своё время я с большим удивлением узнал, что Брюс Ли был таким крутым не только потому, что непрерывно практиковал боевые искусства (хотя и не без этого тоже). Он вообще-то занимался и паверлифтингом, и выигрывал в своё время какие-то танцевальные конкурсы, читал много литературы по боевым искусствам, следил за диетой и т.д. и т.п. То есть совет "Хочешь стать таким же крутым бойцом как Брюс Ли - просто много дерись" - он не сработал бы даже с самим Брюсом Ли, собственно. Так и с программированием. Это комплексное искусство и никакие курсы ему по определению не могут научить. Но они могут заложить некоторые основы, что уже немаловажно.
Уж если за Брюса Ли говорить, то он особо крутым и не был. Он был актером, а так, в соревнованиях не участвовал, а если бы участвовал, то из него бы сделали отбивную котлету.
Ну, там "учёные спорят", как обычно. Кто-то говорит, что это всё киношный образ и драться он по-настоящему круто не умел, есть такие. Но на самом деле как минимум в реальных драках на улицах Гонконга он по молодости активно участвовал. Ну а в зрелом возрасте поехал завоёвывать Голливуд и всё такое и у него это неплохо получалось, хотя и было сложно.
Конечно, есть такое мнение, что можно просто "двадцать лет отрабатывать один удар" и ты этим ударом тогда сможешь кого угодно победить. Но как-то не хотелось бы через 20 лет оказаться у разбитого корыта, если что-то пойдёт не так. У программистов нет обычно лишних 20 лет, чтобы чему-то научиться, поэтому в ход идут все возможности - курсы, книги, всё, что угодно. Но практика, безусловно, важна, я это и не отрицаю. :)
Тут все намного проще. В соревновательных видах спорта главным критерием успешности является результат соревнований, других критериев нет. Если он не участвовал в соревнованиях, то его уровень заведомо следует считать нулевым. Ведь реально-то он в соревнованиях никого не побеждал. А лупить по воздуху это совсем не то что иметь дело с противником, который дает сдачи и тренируется по несколько часов в день.
В кино он мог побеждать Чака Норриса, а в жизни бой актера кино с чемпионом мира по карате закончился бы с вероятностью 99% нокаутом Брюса Ли
Брюс и на улицах Гонконга дрался и с Норрисом тренировался - всё нормально с ним, даже если медалей и не завоевывал. Тем более, что тогда в спорте только карате было в фаворе, а это не его специализация.
Согласен с мыслями из поста. Но есть некоторое количество людей, которые не совсем верно интерпретируют подобные статьи. Им кажется, что надо выучить базовый синтаксис языка - и всё, на этом чтение теории закончено, они начинают пилить свой пет-проект, чтоб он хоть как-то работал. Потом такие приходят в коммерческую разработку и не понимают, зачем писать юнит-тесты, для чего нужны конвенции по именованию переменных, почему важны принципы типа DRY и т.д. И любые попытки посоветовать им почитать что-то об этом натыкаются на "да это скучная теория, зачем, главное же, чтоб работало".
У меня, кстати, был такой период почивания на лаврах. Я самоучка, учился я в основном именно методом самостоятельного написания программ. Да тогда и книг то особенно не было по программированию, когда я начинал. И в какой-то момент настолько уверился в своей крутости, что просто не понимал - зачем мне читать техническую литературу, я же и так всё знаю, я отличный программист. В результате я 13 лет просидел на одной и той же работе, не учил практически ничего нового ещё больше того. "Возвращаться в реальность" было довольно болезненно. Времена меняются, технологии меняются, очень многого, как оказалось, я не знал в теории, а зря. И с тех пор уже лет 10 как я упорно подучиваю теорию, и не только по своему основному языку программирования.
А так то пилить пет-проекты безусловно полезно в любом случае. )
главное же, чтоб работало
Вполне себе аргумент.
Но когда организован CI/CD с линтерами и процентом cоverage, то у пулреквеста будет красный крестик - не работает. Иди чини:
не соответствующие стандарту имена переменных в таких то строчках таких то файлов
дублирующийся код в таких то файлах
снижение процента покрытия кода тестами
и т.д. и т.п.
Если чел оказался достаточно хитер, чтобы впихнуть какую-то дичь в коде через эти фильтры, то выдаем ему пирожок, подкручиваем техпроцесс на предмет отлова этой дичи и повторяем цикл.
Будет польза и вам и ему.
Было бы интересно посмотреть на ваш линтер, если он прям любую дичь отлавливает.
"прям любую" - это ваше преувеличение.
зачем писать юнит-тесты, для чего нужны конвенции по именованию переменных, почему важны принципы типа DRY и т.д
Описанные вами проблемы (и процентов 80-90 других) вполне отлавливаются стандартными линтерами с дефолтными настройками. Какие-то более экзотичные - добавлением своих настроек/плагинов, но тут лучше смотреть по трудозатратам, стоит ли игра свеч .
Если интересуют конкретные примеры - можете взглянуть на настройки DjangoProject в каталоге .github. Много полезного почерпнул от них в свое время.
начинают пилить свой пет-проект, чтоб он хоть как-то работал
Так вобщем-то так и надо. Пока пет-проект не станет достаточно сложным, и станет понятно, зачем все эти DRY, SOLID и иже с ними. А пока проекта нет оно все как о стенку горох будет
нас "теории программирования" учили как раз до уровня "базовый синтаксис языка" и "общие принципы семантика". Говнокодили, конечно (хотя программирование было не совсем по профилю, мы радиоинженегры, да и год был 1985-й...)... И потом, спустя примерно год, в руки попала книжка ВанТассела. И пришло некоторое понимание, что писали мы некрасиво... а еще через некоторое время в руки попала книга Вирта (Алгоритмы+структуры) - и так познакомились с алгоритмами, сложностью и т.п..
Не пойму, как вообще после курсов кого-то берут...
Ни разу не нанял никого после курсов. И не слышал ни разу, чтобы хоть кого-нибудь наняли после курсов.
Отсобеседовал 1.5 года назад после курсов полтора десятка человек.
С меня хватило.
Люди наизусть знают каждую букву KISS \ DRY \ SOLID, помнят мутабельные \ иммутабельные типы в python, уверяют что могут освоить любую технологию в кратчайшие сроки.... но отличать что в задаче нужен вложенный цикл vs нужен цикл таплом - не умеют.
Чтобы.
"Что бы"... знать русский - учите 🤦🏻♂️
А это уже повсеместная болезнь - мне уже даже непривычно, когда люди корректно применяют "чтобы" и "что бы" и другие подобные случаи.
Чтобы стать писателем — как это ни странно, но надо много читать.
По идее, чтобы стать хорошим программистом, тоже надо больше читать чем писать.
А то чукча не читатель получится.
Есть свой минус. Потом слишком многое замечаешь и триггеришься перманентно. Вот даже тут "но" лексически лишнее. :)
Мозг не способен делать обезьяний труд и складывать А + Б - Ц
Вообще-то, способен. Спросите у математиков.
У нормальных курсов и результат будет нормальный.
" В реальности же программирование представляет собой 80% практических задач и лишь 20% теории " при этом на собесах вам вопросы задают, как будто вы Рихтер
Поменяйте, пожалуйста, слова "Что бы", на одно "Чтобы". Так правильней, а то глаза болят.
Смешались в кони, кучи, люди
"Вкатунские" курсы это сравнительно честный способ отъёма средств у населения. Ну и как развлекательная программа на любителя, но и таковые существуют
В то же время нормальные курсы существуют. И без соот сертификатов вас не смогут трудоустроить, даже если захотят. Потому что есть регламенты
И на тему соотношения практика/теория и аналогии со спортзалом
лишь 15 минут, все остальное время изучали бы анатомию мышц, строение скелета, принцип рычага и прочие вещи,
Для этого и нужен личный тренер. Чтобы не терять время на изучение теории, которую уже знает тренер, мы пользуемся его компетенциями. При выполнении повторения клиентом, тренер наблюдает за корректностью техники выполнения. И сразу обращает внимание клиента на то, как надо делать. Собственно, это и есть наиболее продуктивный способ тренировок. Но и наиболее финансово затратный. Почему с программированием может быть иначе, вопрос риторический
Артур, а в чём вы нарисовали такие красивые картинки?
Как в любой области деятельности, для работы программистом нужно иметь определенные способности к этой деятельности и главное , это должно вам быть интересным. Склад вашего ума важен здесь. Курсы хороши для того чтобы упорядочить , структурировать и освежить уже имеющиеся знания в этой области. Если они нулевые, то они практически бесполезны ну или могут служить лишь толчком для самостоятельного изучения интересующей вас области программирования. Человек всегда учится самостоятельно, а все остальное лишь помощь в учебе.
Для того чтобы получился нормальный программист, он должен обладать широкой эрудицией, как минимум в области информационных наук (коих самих по себе великое множество). Это дает синергетический эффект.
Это возможно достичь после 5 лет вышки или не менее длительного самостоятельного обучения.
При этом упор должен быть как раз на теорию, в первую очередь. Практика тоже важна, но она неизбежно появляется в процессе самостоятельных попыток что-то сделать.
А курсы не могут сами по себе подготовить хорошего программиста, у человека сначала должна быть обширная база.
Я бы ещё добавил, что нужно посвятить достаточно много времени изучению кода всяких библиотек, фреймворков и т.д., чтобы было понимание, как устроен качественный код. В частности, например, при изучении паттернов для их понимания было бы очень полезно пощупать какую-нибудь, скажем, Symfony и разобрать, что тут у нас фабрика, а тут подписчик. Да и в целом код расскажет вам такое, что не расскажет ни один препод, ни один учебник, и ни одна документация. Но на деле даже далеко не каждый сеньор умеет быстро находить нужную информацию в коде.
Тут есть одна проблема: качественного кода в наше время днём с огнём не сыщешь. Изучать коммерческий код 21 века – это инферно, оно не для неокрепших умов.
С вероятностью 99% код, в который вы посмотрите, написан либо неграмотным индусом, либо чатгопотой, обучившейся на творениях неграмотных индусов, либо сгенерирован тяп-ляп скриптом.
Зачем смотреть коммерческий? Смотрите опенсорс. Только не какую-то мелочь, а серьёзные проекты, которые много лет разрабатываются сообществом, имеют стандарты качества и т.д.
Например, url?
https://github.com/symfony/symfony
Не имею понятия, что это и зачем нужно, но я, пять минут поискав, вообще не нашёл там собственно что-то делающего кода. Сплошные перекладывания полей друг в друга.
Единственное что-то похожее на вычислимые выражения, что я обнаружил в коде за это время, это такие операторы:
$opsLimit ??= max(4, \defined('SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE') ? \SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE : 4);
$memLimit ??= max(64 * 1024 * 1024, \defined('SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE') ? \SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE : 64 * 1024 * 1024);
Не сказал бы, что они могут являться образцом для подражания, хоть я и не знаток PHP.
Два раза подряд набрать одинаково SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE – это уже сам по себе небольшой подвиг. А тут ещё, кроме дублирования, и магические константы в коде, и запутанное использование условных выражений и функции max, тоже в некотором роде представляющей собой условное выражение, и оператора ??=, который тоже как бы условный.
Известный китайский робот сообщил мне, что в PHP нет макросов, но, тем не менее, предложил:
function getMaxLimit($constantName, $default) {
return max($default, defined($constantName) ? constant($constantName) : $default);
}
Хотя может ещё и попроще стоило бы выразить мысль. Обычными условными операторами.
Если это считается стандартом качества, то ну его нафиг, такое качество.
но я, пять минут поискав, вообще не нашёл там собственно что-то делающего кода
Вот я и говорю, проблема в том, что почти никто не умеет читать код. А не умея читать, пишут своё. Оттуда и выходит, что 99% коммерческого кода написано тяп-ляп
Ну вот Вы, видимо, умеете читать код, так и объясните, какое вычисление производится в этой программе.
В процитированном вами куске задаются параметры для функций хэширования. Они берутся либо из настроек библиотеки libsodium (там где проверка констант с длинным именем), либо объявляются явно, потому что указанная библиотека может отсутствовать в среде, в которой исполняется приложение. Дублирование используется конкретно в этом месте потому что конкретно этот код выполняется на самой начальной стадии работы приложения - во время определения настроек среды.
Я спросил про программу Symfony в целом, а не конкретно про эти две строчки.
Дублирование используется конкретно в этом месте потому что конкретно этот код выполняется на самой начальной стадии работы приложения - во время определения настроек среды
Обычно слова "потому что" отделяют необходимое следствие от причины. В ваших словах я причинно-следственной связи не вижу. На начальной стадии работы приложения действуют какие-то особые требования к стилю программирования?
Ладно, убедили, ваша взяла. "Программа Symfony" мало того, что ничего не делает, так ещё и написана криво
А про эту программу можете что-нибудь сказать:
https://elixir.bootlin.com/linux/v6.13.5/source
Грамотная вещь (входит в 1%), но без хорошей теоретической подготовки читать её исходники бесполезно.
Для неокрепшего ума даже использование goto часто является шоком.
Для неокрепшего ума даже использование goto часто является шоком.
Равно как и использование оператора ??= и длинных имён констант.
Вопрос-то не в операторе ??= и не в длинных именах, а в том, что индусский кодер не в состоянии написать функцию, четырежды написав одно и то же в двух соседних строках. Чем и отличается от образованного человека.
А если чуть поглубже посмотреть в семантику, то за каждый оператор присваивания вида var1=var2 я брал бы по 1000 рублей штрафа с зарплаты, дав индульгенцию только авторам сортировок. Так как это признак беспорядка в голове.
Там в одной строке одна константа, в другой - другая. У каждой константы сперва проверяется её существование, для этого используется функция defined, куда передаётся имя константы, как строка (в кавычках), и если константа определена, то её значение присваивается переменной, для чего уже идёт обращение к самой константе (без кавычек). Это невозможно переписать короче или понятнее.
При этом занимательно то, что касательно ядра линукс у вас хватило ума сделать вывод, что
без хорошей теоретической подготовки читать её исходники бесполезно
А вот критиковать код симфони, не имея той самой теоретической подготовки - это вы с радостью.
Интересно, на основании чего вы делаете разграничение, какой код можно читать без подготовки, а какой нельзя.
Я прекрасно понимаю, что там происходит, и сразу же привёл вам код, как это написал бы относительно нормальный человек (потому что у полностью нормального не возникла бы сама эта ситуация, вызванная исключительно тем, что программист не догадался проинициализировать переменные начальным значением перед использованием). Хоть я, заметьте, не владею языком PHP, но это азы.
Открою вам одну из страшных тайн программирования. Если в программе на динамическом языке имя переменной один раз появляется литерально, а другой раз закавыченно, то это не случайно по воле злой судьбы так получается, а именно потому, что эти формы можно преобразовать друг в друга. Один путь подсказал китайский робот при правильном запросе. Другой, полагаю, был бы через eval. Может и ещё есть в PHP.
имя переменной
Не переменной, а константы. Эта константа, как я писал выше, определяется библиотекой, которая в конкретной среде может быть не установлена в операционной системе. Поэтому и требуется проверить её наличие перед использованием.
Вы пытаетесь спорить о том, о чём не имеете ни малейшего понятия. Вас даже не смутило, что функция, которую вам написала нейросеть, вторым аргументом в max передаёт булево значение.
программист не догадался проинициализировать переменные начальным значением перед использованием
Приведённый код - это и есть первоначальная инициализация переменных.
Вы пытаетесь спорить о том, о чём не имеете ни малейшего понятия. Вас даже не смутило, что функция, которую вам написала нейросеть, вторым аргументом в max передаёт булево значение.
В общем, с вами всё ясно. Вы себя позиционируете как знатока, но даже не в состоянии в элементарной строке кода определить, где находится второй аргумент у функции.
Приведённый код - это и есть первоначальная инициализация переменных.
Если бы это была первоначальная инициализация, то у переменных не могло бы быть значений к этому моменту.
А программисту надо было просто присвоить имени какое-либо значение (например, 4) до загрузки библиотеки. И тогда весь этот цирк с конями, который он даже не в состоянии аккуратно исполнить, был бы не нужен.
Погуглите всё ж, что такое "программа symfony", где она используется, что на ней стоит, что вместе с ней исполняется и в каком порядке стартует. Тогда, возможно, вопросы у вас отпадут.
Должны отпасть, вы ведь умеете читать код.
А если не отпадут, то плохие новости: вас точно заменят нейросети.
Я-то примерно об этом догадываюсь, а вот вам, как и вашему коллеге, недостаток образования, заставляющий вас в данном случае ставить термин "программа" в кавычки (так как вы знакомы только с бытовым смыслом этого слова, но не с техническим термином, определённым стандартами), мешает понять смысл моих вопросов.
Чел, ну ты реально смешной. Если бы ты погуглил название хоть одной из этих констант, ты бы понял, почему у них есть значение до инициализации первой переменной, и почему они могут быть не определены. Но ты, даже не понимая, чем в php константа отличается от переменной, рассуждаешь о качестве кода и вешаешь на людей ярлыки.
Во-первых, я не припомню, чтобы мы пили на брудершафт.
Во-вторых, я напомню, что вы в начале этой ветки выступали за то, что чтение кода заменяет теорию. Так вот в теории переменной называется имя и связанное с ним значение. А уж почему конкретно в языке PHP часть переменных названа константами – меня совершенно не занимает, так как я сразу сказал, что не знаю этого языка.
Но тем не менее, вопрос, который вы взялись комментировать, чисто теоретический. Качество кода, который вы привели в качестве образца, никак не зависит от того, что там как называется в языке PHP и каков порядок инициализации модулей в вашем фреймворке (а поверьте, я хорошо понимаю то, что вы говорите, и в этом несимметричность ситуации). И это качество плачевно.
Но вместо того, чтобы просто признать свою ошибку, что случается с каждым, особенно в малоизвестной области, как теоретическое программирование для вас, вы зарываетесь всё дальше.
Как там с "это невозможно переписать короче или понятнее"? Всё ещё невозможно, или уже стало немножко возможно?
я напомню, что вы в начале этой ветки выступали за то, что чтение кода заменяет теорию
Я напомню, что тот комментарий начинается со слов "я бы ещё добавил". Не заменил, а добавил. Но тебе, конечно, виднее. Именно тебе, а не вам, потому что "вы" - это уважительное обращение. А уважать человека, который так лихо поносит всех и вся, я никак не могу.
Чел, ну ты реально смешной.
Ммм, я читал этот тред, предвкушая, кто первый перейдёт на личности. Я в Вас не ошибся!
У вас тут в ветке странное обсуждение того, что тернарник сложно понять. Не знаю, как принято писать код в крупных компаниях, но когда я пишу, то подразумеваю, что читать будет человек, знакомый с языком. Если он не знает, что такое ??=, то он прочитает и навсегда станет знать.
Простыми словами, я считаю коллег не глупее себя, а я не самый умный разработчик, судя по умениям, должности, обязанностям и зарплате.
Если я знаю что-то по своей специальности, то это знают все, кто в этой специальности. Умение читать тернарники и регулярки туда входит.
Если сомневаетесь, нужно ли что-то упростить, спросите меня, понимаю ли я код. Если понимаю, то он уже простой =))
Тернарник понять несложно, а вот по два раза копипастить имена переменных и само выражение не нужно. Также комбинация из трёх вложенных тернарников, многие из аргументов которых одинаковы, не является хорошим стилем кодирования.
Допустим, программист вместо
$opsLimit ??= max(4, \defined('SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE') ? \SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE : 4);
напишет:
$opsLimit ??= max(4, \defined('SODIUM_CRYPTO_PWHASH_OPSLIMIT_ITERACTIVE') ? \SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE : 4);
Сколько времени он потратит на то, чтобы найти такую ошибку и найдёт ли её вообще когда-нибудь?
Так, это же проблема длинных имён констант в библиотеке libsodium, как пишет человек выше. Я сам не в курсе, что за библиотека, но логично, что если она не подключена, не ошибку выдавать, а применять значение по умолчанию. Через функцию это делать? Можно и так, но ради чего?
Вообще, я не думаю, что кто-то будет вручную вбивать эти имена, в nano что ли код пишет, или в vim без плагинов?
В виде строки никакая IDE эти имена не подхватит.
Можно и так, но ради чего?
Чтобы не копипастить значения по два раза.
И не надо подхватывать, достаточно скопипастить. И если там опечатка, её так или иначе будет видно. А у меня ещё и vscode подсвечивает слова, таки же, как выделенное. А выделение слова под курсором у меня одной кнопкой. Я просто нажимаю эту кнопку и смотрю, где ещё выделилось. Ну, это мои личные привычки, конечно.
По поводу ruby ничего не знаю. Там || — это проверка строго на null, не на falsy, как везде?
индусский кодер не в состоянии написать функцию, четырежды написав одно и то же в двух соседних строках.
Всего четыре?.. Шестнадцать не хотите?
Дедушка старый.
Он многое видел!
Так себе пример. Сталкивался с ней в мохнатые годы. Сомневаюсь, что со временем она стала сильно лучше.
Предвзятость подтверждения. Эффект якоря.Автор упрощает и подгоняет реальность, выставляя теорию каким-то пятым колесом.
Сможете ли вы накачать мышцы без теории? скорее всего выставите себя посмешищем и объектом роликов в интернете.
Практика/опыт это наработка интуиции, когда вы можете видеть шаблоны не особо задумываясь. Решать задачи можно сказать с лёту. Это очень важно. Готовы заплатить за курсы, которые будут вам долго эту самую интуицию нарабатывать? А смысл? Может лучше дать удочку, а рыбу сами наловите?
Ну и конечно есть круг задач, которые без теории вы никогда на практике не сможете решить (хотя бы взять теорию графов). Или будете велосипед изобретать, хотя можно просто прочитать.
Поэтому обязательно читайте, обязательно теория. Это загол успеха. Но и практикуйтесь, закрепляйте знания.
Прогромировай!
А то родина тебя ускорит...
О, моё любимое. Удивительные рассказы о курсах от людей, которые никаких курсов не видели. Комменты, как обычно, лучше статьи.
Душистые программисты тоже отметились, приятно видеть, стабильность.
Хотел бы добавить, что теорию тоже надо изучать с умом, даже если источников по какой-то теме много, не все из них полезны и не все из них хорошо усваиваются, скорее наоборот, единицы. Также следует учитывать, что для разных людей лучше подходят разные источники информации - кому-то видео, кому-то книги, кому-то преподаватель рассказывает (на слух)
"Практика без теории слепа, теория без практики мертва". Не помню, кто сказал, но сказано очень давно.
А можно и так
У кошки маленький котёеночек подрос.
— Как дальше быть? — возник вопрос.
Ловить мышей — такая штука,
Что тут нужна теперь наука.
Решила мать, что впору
Послать котенка в школу,
И вот за партой в классе
Сидит пушистый Вася...
С усердием большим, как наказала мать,
Принялся кот науку постигать.
Он изучил до тонкости по темам
Строение мышей (по графикам и схемам).
Был в геометрии как дома,
Знал доказательств остроту;
Тригонометрия знакома
Была прилежному коту.
И через десять лет, науками богат,
Понес домой наш кот из школы аттестат...
В то время у какой-то горки
Мышонок вылезал из норки,
Хоть Васька изучал
Мышиный род по книгам,
Исконного врага
Узнал он все же мигом.
Но как его схватить?
Нельзя же прыгнуть сразу!
Тут надо применить
Научных знаний базу!
Вот неизвестного мышонка
За икс он принял очень тонко.
Затем в системе СГС
Его исчислил рост и вес.
V — скорость, ускоренье — а.
(А брызги сыплются с пера!)
Вписал последнюю строку
И приготовился к прыжку...
Пока ученый кот над уравненьем бился,
Мышонок-неуч в норке скрылся.
А суть сей басни, братцы, такова:
Без практики живой теория мертва!
Что бы научиться читать - читайте
Вот только задачи новичка в реальности не похожи на "напиши программу, которая ..."
Реальность, это: "Настрой себе окружение. Документация вот там. Она правда устарела... ну, если найдешь несоответсвие, то и доку заодно поправь".
Это: "исправь багу XYZ-12345. Чтобы воспроизвести ее, нужна некая последовательность пинков нескольких микросервисов"
Что бы стать программистом — программируйте