1 - corretissímo, principalmente por não ter feito muitos projetos que exigam ser quebrados em menores parte para crescer.

2 - Consegui ter essa conciencia através da postagem.

3 - Capitou a ideia muito bem.

4 - A questão dos diagramas é algo que me facilita a não me perder, e sinto que isso pode me ajudara a criar programas mais complexos, que provavélmente pode começar a me ajudar na questão das abstrações, e também facilitaria na hora de tentar divulgar a ideia para tentar encontrar pessoas que estejam estudando temas parecidos ou pessoas dispostas a trazerem comentários de uma forma mais rápida quanto ao projeto e não necessáriamente o código.

Já pensou em contribuir com projetos open source? Aqui no próprio tabnews frequentemente aparece alguém que iniciou um projeto e solicita ajuda para evoluir. Penso que seria uma forma de você exercitar essa visão, ganhar mais experiência e enriquecer seu curriculo. Pelo que você fala, você estuda e escreve bastante código. Mas como programador passamos mais tempo lendo que escrevendo código. Principalmente código de outras pessoas. Acredito que isso vá te ajudar a dar sentido no conhecimento que hoje parece desconectado da realidade.

Quanto aos diagramas já deu uma olhada no https://c4model.com/?

Que site sensacional, ainda não tinha visto. Ainda não participei de nem um projeto, justamente por não fazer parte de grupos, e não ter entendido como chegar a esses projetos, e alguns dos que eu conhecia senti receio de mexer pelo grau de complexidade, me da um pouco de nó por não conseguir ter uma certeza que to indo pelo caminho adequado. Os projetos opensource que aparecem por aqui, as pessoas costumam por no titúlo que se trata ou é necessário vasculhar? Pelo que consegui reuinir de informações até agora, me fizeram pensar em projeto que tenho interesse em trabalhar de forma open source, uma interface interativa para jogadores de Dungoes & Dragon, mas não conseguir identificar um padrão eficiente de desenvolvimento para seguir, algo que fizesse coessão com o desenvolvimento da ideia e a implementação. Em suma é um projeto relativamente simples, mas que tenho ciencia de que ele precisar ser bem modularizado e que exige uma nivel de privacidade adquado de informações.
Você não precisa ter receio de alterar. Não precisa colaborar de inicio, mas pode fazer fork ou simplesmente baixar o fonte do projeto na sua máquina. Ler, tentar entender como funciona, diagramar os componentes arquiteturais, o que são, como se comunicam, depurar o código, rodar os testes, rodar o sistema,dar uma olhada nas issues em aberto e tenta executar,dar uma olhada nas executadas e ver como foram executadas...enfim mexer no projeto vai te ajudar a expandir o conhecimento. E nada disso precisa sair da sua máquina.Não precisa subir suas alterações no ramo do projeto. Depois que tiver aprendido, você decide se quer colaborar ou não. Aqui ainda não vi um padrão no título dos projetos publicados, mas até mesmo o tabnews vc consegue baixar o fonte. Só procurar o link do github no rodapé. Segue alguns links: https://githubbrasil.com/ https://www.tabnews.com.br/jotavetech/fiz-um-jogo-open-source-para-ajudar-voce-a-praticar-sistemas-numericos https://www.tabnews.com.br/hagaka/onde-encontrar-projetinhos-para-colaborar `Não consegui identificar um padrão eficiente de desenvolvimento a seguir`. Uma sugestão que eu dou é começar rascunhando as telas. Identificando o que o usuário precisará saber e fazer. A partir daí identificar o que o sistema precisará ter para viabilizar a necessidade do usuário. Evita desenhar tudo primeiro para depois programar. Diagrama o suficiente para que tenha uma idéia clara de como irá proceder e uma vez que já tenha essa noção vc implementa. Não tenta fazer tudo certo de inicio. Usa a primeira versão para aprender alguma coisa. Depois refaz o projeto usando o que aprendeu na primeira versão (aquilo que o Fred Brooks chama de sistema-piloto).
Beleza, vou seguir nesta linha, e ser um pouco menos perfectonista. Vou pegar alguma programa já feito para estudar em cima tá bem.