Я предполагаю, что «превосходные программисты» все еще существуют, поэтому лучше всего их использовать. Хотя не каждый разработчик умеет объяснять что-то, он должен быть в состоянии дать вам обзор приложения, чтобы вы могли понять, что обеспечивает каждая инфраструктура и как они работают вместе.
Первое, что нужно сделать, это ЧТО, а не КАК. Получить руководство и, надеюсь, проектную документацию, которая позволит вам понять, что каждый фрагмент головоломки предоставляет решению в целом.
Как только вы поймете, что вносит каждый элемент / каркас / инструмент, вам станет намного легче начать понимать, как они это делают. Опять же, один на один с разработчиками, чтобы вы начали, очень поможет. Со временем, когда вы станете более знакомы с кодом, вы начнете понимать, как работают эти фреймворки и на что они способны.
Курсы и документация, конечно, помогут, но ничто не заменит теплое тело (компетентное), которое поможет вам что-то понять, даже более того, если они что-то создали.
Как только вы поймете, как использовать эти платформы в своих собственных приложениях, вам станет намного проще начать использовать другие функции, которые вы сможете использовать в будущем.
Примечание:
Кроме того, с курсами вы можете проверить, чтобы убедиться, что они соответствуют специфике используемой вами структуры. Spring довольно обширный, и изучение Spring MVC может оказаться мало полезным для вас (в вашей текущей позиции), если ваша компания использует исключительно другие платформы для веб-разработки, в то время как Spring DI (ядро) и доступ к данным могут быть тем, что вам действительно нужно.