[Spring 기반 백엔드 개발에 한정된 예시입니다. 제가 그래서요 :( ]
[Spring 기반 개발에서도 당연히 생각하면서 개발할 수 있고 그래야 합니다]
저도 겪었던 과정이어서 반갑네요 ㅎㅎ "스킬적인 부분을 조금 더 찾아보고 오히려 생각하지 않으면서 인터넷 자료에 매달리는 것"은 분명히 잘못된 것이므로 빨리 탈출하시는게 좋아요. Spring을 처음부터 이해하려는 자세가 없으면 아마 계속 그렇게 되실 확률이 높고요...
물론 공부하려고 검색하는 것은 정상입니다: ex) @Transactional 전파는 어떻게 되는것인가?
만약 Spring을 잘 활용하고 계신다면 API 사용 부분에 대한 공부가 Spring에 대한 공부 시간에 비해 절대적으로 적을 수 밖에 없어요.
그냥 JPA 적용하는 걸 검색하는 게 정말 처음이 아닌 이상은 오래 걸릴 수가 없고요... JPA가 어떻게 돌아가는지는 꽤 오랜 시간 들여서 공부해야 되고요. 둘의 공부 시간 차이는 매우 크죠.
Spring을 먼저 공부하는걸 추천드려요. 중심부터 시작해도 되는데 웬만한 사람은 흥미가 없을 확률이 매우 높습니다.
Spring을 이해하기 위해선 객체지향적인 부분을 터득하는 게 중요해서 일단 Spring에 대한 이해를 우선하지 마시고 밖에서 들어오는 접근 방식으로 해서 boot로 시작하신 후에 JPA를 적용해보시고, 이후 Spring Data JPA를 적용해보세요 :)
Spring Data 팀 리드분이 DDD 신봉자셔서 DDD 부분을 글쓴님께서 JPA와 Spring Data Jpa를 어느 정도 깊게 공부하신다면 DDD도 자연스럽게 접하게 되실거에요.(가장 간단한 개념인 Entity, Repository 등) DDD는 객체지향과 굉장히 잘맞는다고 생각하므로 선순환이 될 거에요.
이후에는 Test에 관심을 가지시면 테스트하기 좋은 설계가 객체지향이 추구하는 바와 매우 유사함을 알게 되실 것 같아요.
물론 현실적으로 production에서 이런 내용들을 적용하려면 웬만한 팀원들과는 적용하기 힘들겠죠.. 하지만 개발자로서 당연히 있어야 하는 기본기라고 생각해요. 더 나은 개발자가 되고싶으시다면요 :)